fix(P0): 成品库分页加载更多 + AI数字人渲染传 project_id 入库 #1862

Merged
auto-approve-bot merged 5 commits from fix/products-pagination-and-ai-avatar-projectid into develop 2026-09-11 18:23:32 +08:00
Owner

问题1:成品库只显示20条视频,下拉加载更多

后端 GET /api/v1/videos 支持分页(page/page_size,返回 {items,total,page,page_size}),前端没传分页参数也没实现加载更多。

修复:

  • getProducts() 改为接收 {page, page_size} 并返回 {items, total, page, page_size}
  • useProductList 改用 useInfiniteQuery(@tanstack/react-query 已有),page_size=20,getNextPageParam 自动翻页
  • ProductLibrary.tsx 用原生 IntersectionObserver 监听列表底部哨兵 div(rootMargin:200px),进入视口自动 fetchNextPage 实现无限滚动
  • 加载下一页时显示 LoadingOutlined;无更多时显示「—— 已加载全部 ——」
  • 首次加载仍走 ProductEmptyState loading,翻页加载追加到现有列表不闪屏

问题2:AI数字人渲染完成后视频不在成品库

submitRender 调用没传 project_id,后端要求 project_id 非空导致入库失败。

修复:提交渲染前调用 getOrCreateDefaultProject() 拿到默认项目,传 project_id: defaultProject.id。AI数字人入口独立不在项目内,自动取用户默认项目(素材库上传也是这个逻辑)。

问题3:smart-cover 超时

之前 PR #1861 已合入(60s→120s),本次不重复改。

改动文件(4个,仅前端)

  • apps/web/src/api/products/products.ts
  • apps/web/src/pages/products/hooks/useProductList/index.ts
  • apps/web/src/pages/products/ProductLibrary.tsx
  • apps/web/src/pages/ai-avatar/AiAvatarPage.tsx

不破坏其他功能,筛选/批量操作/卡片交互逻辑不变。

## 问题1:成品库只显示20条视频,下拉加载更多 后端 GET /api/v1/videos 支持分页(page/page_size,返回 {items,total,page,page_size}),前端没传分页参数也没实现加载更多。 修复: - `getProducts()` 改为接收 `{page, page_size}` 并返回 `{items, total, page, page_size}` - `useProductList` 改用 `useInfiniteQuery`(@tanstack/react-query 已有),page_size=20,`getNextPageParam` 自动翻页 - `ProductLibrary.tsx` 用原生 `IntersectionObserver` 监听列表底部哨兵 div(rootMargin:200px),进入视口自动 fetchNextPage 实现无限滚动 - 加载下一页时显示 LoadingOutlined;无更多时显示「—— 已加载全部 ——」 - 首次加载仍走 ProductEmptyState loading,翻页加载追加到现有列表不闪屏 ## 问题2:AI数字人渲染完成后视频不在成品库 `submitRender` 调用没传 `project_id`,后端要求 project_id 非空导致入库失败。 修复:提交渲染前调用 `getOrCreateDefaultProject()` 拿到默认项目,传 `project_id: defaultProject.id`。AI数字人入口独立不在项目内,自动取用户默认项目(素材库上传也是这个逻辑)。 ## 问题3:smart-cover 超时 之前 PR #1861 已合入(60s→120s),本次不重复改。 ## 改动文件(4个,仅前端) - apps/web/src/api/products/products.ts - apps/web/src/pages/products/hooks/useProductList/index.ts - apps/web/src/pages/products/ProductLibrary.tsx - apps/web/src/pages/ai-avatar/AiAvatarPage.tsx 不破坏其他功能,筛选/批量操作/卡片交互逻辑不变。
xiaoxia added 4 commits 2026-09-11 18:07:57 +08:00
fix: 成品库分页无限滚动 + AI数字人渲染传 project_id 修复入库
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 0s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 58s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 1m12s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 1m18s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m16s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 1m48s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 1m54s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 1m54s
AI Code Review / AI Code Review (pull_request) Successful in 6m56s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 7m31s
CI/CD Pipeline / CI Gate (pull_request) Failing after 0s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 6m23s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 117h8m17s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 117h15m31s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 117h15m41s
CI/CD Pipeline / PR Build API Image (pull_request) Failing after 117h15m47s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 117h15m46s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 117h15m33s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 117h15m26s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 117h15m26s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 117h15m31s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 117h15m31s
CI/CD Pipeline / PR Build Worker Image (pull_request) Failing after 117h15m32s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 117h8m1s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 117h8m0s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 117h7m56s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 117h15m21s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 117h7m56s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 117h15m15s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 117h15m14s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 117h15m32s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 117h15m38s
14630ca966
xiaoxia added 1 commit 2026-09-11 18:16:15 +08:00
fix: 补传 titleConfig prop(与 #1860 的 PanelCoverAndGenerateProps 对齐)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 2s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 27s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m7s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m9s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 1m16s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 1m40s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 1m41s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m46s
AI Code Review / AI Code Review (pull_request) Successful in 6m15s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 6m33s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Successful in 4s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 5m59s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 6s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 23s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 117h0m54s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 117h0m59s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 117h7m24s
CI/CD Pipeline / PR Build Worker Image (pull_request) Failing after 117h7m29s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 117h7m31s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 117h7m13s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 117h7m13s
CI/CD Pipeline / PR Build API Image (pull_request) Failing after 117h7m13s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 117h7m2s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 117h0m41s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 117h7m7s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 117h7m8s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 117h7m8s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 117h7m13s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 117h0m38s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 117h0m41s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 117h7m4s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 117h7m15s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 117h7m19s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 117h42m14s
28e3d24491
auto-approve-bot approved these changes 2026-09-11 18:17:31 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
auto-approve-bot approved these changes 2026-09-11 18:17:31 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。

🚀 预览环境已部署

项目 详情
PR号 #1862
预览链接 https://pr-1862.preview.xiaoxiajianji.com
API环境 staging

💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。

🔄 每次提交新代码后预览环境会自动更新。

🗑️ PR 关闭或合并后,预览环境会自动清理。

🚀 **预览环境已部署** | 项目 | 详情 | |------|------| | PR号 | #1862 | | 预览链接 | [https://pr-1862.preview.xiaoxiajianji.com](https://pr-1862.preview.xiaoxiajianji.com) | | API环境 | staging | > 💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。 > > 🔄 每次提交新代码后预览环境会自动更新。 > > 🗑️ PR 关闭或合并后,预览环境会自动清理。
auto-approve-bot merged commit 96bf62b00c into develop 2026-09-11 18:23:32 +08:00
auto-approve-bot deleted branch fix/products-pagination-and-ai-avatar-projectid 2026-09-11 18:23:32 +08:00

🗑️ 预览环境已清理

PR #1862 已关闭或合并,对应的预览环境已被清理。

如有需要,可以重新打开 PR 来重新生成预览环境。

🗑️ **预览环境已清理** PR #1862 已关闭或合并,对应的预览环境已被清理。 > 如有需要,可以重新打开 PR 来重新生成预览环境。
Sign in to join this conversation.