fix(viral-video): #2041 删除口型同步阶段 + 分步按钮交互(开始分析/确认文案生成视频) #2110

Merged
xiaoxia merged 1 commits from fix/2041-viral-video-step-buttons-musetalk into develop 2026-10-01 01:28:01 +08:00
Owner

修复内容

1. 删除「口型同步」阶段

  • 后端 PR #2108 已彻底删除 MuseTalk 流水线步骤(Seedance 直生口型)
  • 前端同步清理:
    • types.ts ViralVideoStage 联合类型移除 musetalk
    • STAGE_DISPLAYS 移除口型同步展示项,按后端 _emit_progress 真实百分比重新对齐(image_analysis 15 / video_analysis 20 / intent_parsing 30 / copy_fusion 50 / storyboard 60 / review 70 / tts 75 / bgm_select 78 / rendering 88 / uploading 100)
    • 新增 STAGE_ORDER 常量控制渲染顺序,避免 Object.keys 顺序依赖
    • useViralVideoPolling.ts 删除 musetalk 长轮询特殊分支
    • ViralVideoPage.tsx 使用 STAGE_ORDER 渲染,不再写死 musetalk
  • 后端枚举保留 musetalk 值避免 breaking change,前端仅不展示该步骤

2. 分步按钮交互(参考 AI 数字人分步向导模式)

之前:只有 STEP3 底部一个「开始生成视频」紫色按钮,一跑到底

调整为两步推进:

STEP 1「上传素材」底部新增「⚡ 开始分析」按钮

  • 点击校验:至少 1 张产品图已上传到 OSS、图片/视频上传完成、(可选)配音选中
  • 调用 POST /viral-video/generate 提交,后端跑到 wait_user_confirm 暂停
  • 分析过程中按钮显示 spinner + 「分析中…」

STEP 2「文案配置」黄色 AI 意图卡中新增「🎬 确认文案并生成视频」按钮

  • 用户可编辑 AI 生成的文案
  • 点击调用 POST /{id}/confirm-intent,后端继续跑:文案融合→分镜→审核→TTS→BGM→渲染→上传
  • 按钮显示 spinner + 「生成中…」直到完成

STEP 3 移除提交按钮

  • 仅展示:视频预览(占位→video)、视频比例/模型设置、10 阶段进度列表、扣点信息
  • 不同状态下底部显示对应提示条:
    • 未开始:「请先在 STEP 1 上传素材并点击开始分析」(灰底)
    • 等待确认:「请在 STEP 2 确认 AI 文案后点击确认文案并生成视频」(黄底)
    • 生成中:spinner 按钮 + 进度百分比

3. 其他修复

  • 分析/生成进行中,STEP1/STEP2 的表单输入、下拉、融合按钮、风格强度按钮全部 disabled,避免中途改参数导致提交不一致
  • 参数(行业/人群/语言/时长/结构/目的/BGM/比例/模型)在点击「开始分析」时一并提交后端(符合当前后端一次接收 payload 的契约)
  • 音频播放实例在组件卸载时 pause,避免内存泄漏
  • 轮询到 completed/failed/wait_user_confirm 时正确复位 analyzing/generating loading 状态

验证

  • ✅ tsc --noEmit 通过
  • ✅ eslint 通过
  • ✅ prettier --write 后格式一致
  • ✅ vite build 通过(ViralVideoPage 24.8 kB / gzip 8.7 kB)
## 修复内容 ### 1. 删除「口型同步」阶段 - 后端 PR #2108 已彻底删除 MuseTalk 流水线步骤(Seedance 直生口型) - 前端同步清理: - `types.ts` ViralVideoStage 联合类型移除 `musetalk` - `STAGE_DISPLAYS` 移除口型同步展示项,按后端 _emit_progress 真实百分比重新对齐(image_analysis 15 / video_analysis 20 / intent_parsing 30 / copy_fusion 50 / storyboard 60 / review 70 / tts 75 / bgm_select 78 / rendering 88 / uploading 100) - 新增 `STAGE_ORDER` 常量控制渲染顺序,避免 Object.keys 顺序依赖 - `useViralVideoPolling.ts` 删除 `musetalk` 长轮询特殊分支 - `ViralVideoPage.tsx` 使用 STAGE_ORDER 渲染,不再写死 musetalk - 后端枚举保留 `musetalk` 值避免 breaking change,前端仅不展示该步骤 ### 2. 分步按钮交互(参考 AI 数字人分步向导模式) 之前:只有 STEP3 底部一个「开始生成视频」紫色按钮,一跑到底 **调整为两步推进**: **STEP 1「上传素材」底部新增「⚡ 开始分析」按钮** - 点击校验:至少 1 张产品图已上传到 OSS、图片/视频上传完成、(可选)配音选中 - 调用 `POST /viral-video/generate` 提交,后端跑到 `wait_user_confirm` 暂停 - 分析过程中按钮显示 spinner + 「分析中…」 **STEP 2「文案配置」黄色 AI 意图卡中新增「🎬 确认文案并生成视频」按钮** - 用户可编辑 AI 生成的文案 - 点击调用 `POST /{id}/confirm-intent`,后端继续跑:文案融合→分镜→审核→TTS→BGM→渲染→上传 - 按钮显示 spinner + 「生成中…」直到完成 **STEP 3 移除提交按钮** - 仅展示:视频预览(占位→video)、视频比例/模型设置、10 阶段进度列表、扣点信息 - 不同状态下底部显示对应提示条: - 未开始:「请先在 STEP 1 上传素材并点击开始分析」(灰底) - 等待确认:「请在 STEP 2 确认 AI 文案后点击确认文案并生成视频」(黄底) - 生成中:spinner 按钮 + 进度百分比 ### 3. 其他修复 - 分析/生成进行中,STEP1/STEP2 的表单输入、下拉、融合按钮、风格强度按钮全部 disabled,避免中途改参数导致提交不一致 - 参数(行业/人群/语言/时长/结构/目的/BGM/比例/模型)在点击「开始分析」时一并提交后端(符合当前后端一次接收 payload 的契约) - 音频播放实例在组件卸载时 pause,避免内存泄漏 - 轮询到 completed/failed/wait_user_confirm 时正确复位 analyzing/generating loading 状态 ### 验证 - ✅ tsc --noEmit 通过 - ✅ eslint 通过 - ✅ prettier --write 后格式一致 - ✅ vite build 通过(ViralVideoPage 24.8 kB / gzip 8.7 kB)
xiaoxia added 1 commit 2026-10-01 01:04:26 +08:00
fix(viral-video): #2041 删除口型同步阶段 + 分步按钮交互(开始分析/确认文案生成视频)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 2s
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 / Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Unit 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 E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m18s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 1m27s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m29s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m4s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 4m9s
AI Code Review / AI Code Review (pull_request) Successful in 6m55s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 6m55s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 9m28s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 10m37s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 21m49s
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 / CI Gate (pull_request) Successful in 1s
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 1m11s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 4m31s
afb50360d7
auto-approve-bot approved these changes 2026-10-01 01:05:54 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

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

CI全绿,自动审批通过。

CI全绿,自动审批通过。

🚀 预览环境已部署

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

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

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

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

🚀 **预览环境已部署** | 项目 | 详情 | |------|------| | PR号 | #2110 | | 预览链接 | [https://pr-2110.preview.xiaoxiajianji.com](https://pr-2110.preview.xiaoxiajianji.com) | | API环境 | staging | > 💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。 > > 🔄 每次提交新代码后预览环境会自动更新。 > > 🗑️ PR 关闭或合并后,预览环境会自动清理。
xiaoxia merged commit f0862934f8 into develop 2026-10-01 01:28:01 +08:00

🗑️ 预览环境已清理

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

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

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