feat(ai-avatar): 渲染进度弹窗 + 实时百分比轮询 #1839

Merged
auto-approve-bot merged 4 commits from feat/ai-avatar-render-progress into develop 2026-09-10 18:48:22 +08:00
Owner

改动说明

点击「开始生成视频」后,新增实时渲染进度弹窗:

功能

  • submitRender 拿到 job 后弹出 Modal
  • 每 3 秒轮询 GET /api/v1/ai-avatar/render/{job_id}
  • 显示进度百分比数字(0-100%)+ 进度条动画
  • completed → 1.5s 后自动关闭 + 成功提示
  • failed → 显示错误原因
  • 关闭窗口不影响后台任务继续执行
  • 页面卸载自动清理轮询定时器

改动文件

  • apps/web/src/pages/ai-avatar/AiAvatarPage.tsx(+152 行)

实现方式

  • 复用现有 .aa-modal-overlay / .aa-modal / .aa-lipsync-spinner 样式
  • 参考对口型弹窗模式(showLipsyncModal / lipsyncStatus)
  • 新增状态:showRenderModal / renderStatus / renderProgress / renderErrorMessage
  • 新增 renderTimerRef 管理轮询
  • API 层使用已有的 getRenderJob / cancelRenderJob

验证

  • tsc --noEmit 零错误
  • prettier 格式化通过
## 改动说明 点击「开始生成视频」后,新增实时渲染进度弹窗: ### 功能 - submitRender 拿到 job 后弹出 Modal - 每 3 秒轮询 `GET /api/v1/ai-avatar/render/{job_id}` - 显示进度百分比数字(0-100%)+ 进度条动画 - `completed` → 1.5s 后自动关闭 + 成功提示 - `failed` → 显示错误原因 - 关闭窗口不影响后台任务继续执行 - 页面卸载自动清理轮询定时器 ### 改动文件 - `apps/web/src/pages/ai-avatar/AiAvatarPage.tsx`(+152 行) ### 实现方式 - 复用现有 `.aa-modal-overlay` / `.aa-modal` / `.aa-lipsync-spinner` 样式 - 参考对口型弹窗模式(showLipsyncModal / lipsyncStatus) - 新增状态:showRenderModal / renderStatus / renderProgress / renderErrorMessage - 新增 renderTimerRef 管理轮询 - API 层使用已有的 getRenderJob / cancelRenderJob ### 验证 - `tsc --noEmit` 零错误 - prettier 格式化通过

🚀 预览环境已部署

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

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

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

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

🚀 **预览环境已部署** | 项目 | 详情 | |------|------| | PR号 | #1839 | | 预览链接 | [https://pr-1839.preview.xiaoxiajianji.com](https://pr-1839.preview.xiaoxiajianji.com) | | API环境 | staging | > 💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。 > > 🔄 每次提交新代码后预览环境会自动更新。 > > 🗑️ PR 关闭或合并后,预览环境会自动清理。
auto-approve-bot approved these changes 2026-09-10 16:27:24 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
auto-approve-bot approved these changes 2026-09-10 16:27:24 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
xiaoxia added 4 commits 2026-09-10 18:41:32 +08:00
- submitRender 返回 job 后弹出进度弹窗
- 每 3s 轮询 getRenderJob(jobId) 更新 progress 百分比
- 进度条动画 + 百分比数字显示
- completed 1.5s 后自动关闭弹窗 + success 提示
- failed 显示错误信息
- 关闭窗口后任务仍在后台继续
- 页面卸载时自动清理定时器
- 渲染完成后显示'视频已保存到成片库'
- 添加'📁 查看成片'按钮,点击跳转到 /app/products
- 移除自动关闭弹窗逻辑,由用户主动关闭或跳转
chore: trigger CI rerender
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
CI/CD Pipeline / Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Has been skipped
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m21s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m27s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m31s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 1m37s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m38s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 1m44s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 1m51s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 5m56s
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Successful in 1s
AI Code Review / AI Code Review (pull_request) Successful in 6m14s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 4m53s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 24s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 30s
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
ba9a0bc4ec
xiaoxia force-pushed feat/ai-avatar-render-progress from e330e4f96b to ba9a0bc4ec 2026-09-10 18:41:32 +08:00 Compare
auto-approve-bot merged commit f40375749b into develop 2026-09-10 18:48:22 +08:00
auto-approve-bot deleted branch feat/ai-avatar-render-progress 2026-09-10 18:48:23 +08:00

🗑️ 预览环境已清理

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

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

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