fix(#1341): 修复智能剪辑封面生成的 3 个问题 #1345

Closed
xiaoxia wants to merge 1 commits from fix/cover-generation-issues-1341 into develop
Owner

修复内容

问题 A:generatingRef 卡死

文件: useStep6Cover.ts

  • generatingRef(useRef)改为 generating(useState),让 UI 能感知生成状态
  • 添加 300 秒超时保护,防止 state 卡死导致按钮永久失效
  • try/catch/finally 三处都清除 timeout,确保不泄漏

问题 B:Step6 缺少进度弹窗

文件: Step6CoverSettings.tsx

  • 从 hook 解构 generating 状态
  • 添加 Modal + Spin 进度弹窗,生成期间显示"AI 正在生成封面,请稍候..."

问题 C:预览视频 URL 没回写

文件: useStep4Preview.ts + types.ts

  • 预览完成(status === "completed")后,调用 updateEditPlanvideoUrl 保存到 plan.config.rendered_storage_key
  • EditPlanConfig 类型添加 rendered_storage_keygeneration_task_id 可选字段
  • 这样后端 cover.py 第一步就能找到预览视频,不再依赖兜底查询

验收

  • 智能剪辑 Step 6 点击"自动生成封面"弹出 Modal + Spin 进度提示
  • 生成成功后关闭弹窗,封面预览区域显示生成的图片
  • 生成失败关闭弹窗,显示错误提示
  • generatingRef 不再卡死(超时保护)
  • 预览生成后,plan.config.rendered_storage_key 被正确写入
  • 封面生成能正确找到预览视频并抽帧
## 修复内容 ### 问题 A:generatingRef 卡死 **文件:** `useStep6Cover.ts` - `generatingRef`(useRef)改为 `generating`(useState),让 UI 能感知生成状态 - 添加 300 秒超时保护,防止 state 卡死导致按钮永久失效 - try/catch/finally 三处都清除 timeout,确保不泄漏 ### 问题 B:Step6 缺少进度弹窗 **文件:** `Step6CoverSettings.tsx` - 从 hook 解构 `generating` 状态 - 添加 Modal + Spin 进度弹窗,生成期间显示"AI 正在生成封面,请稍候..." ### 问题 C:预览视频 URL 没回写 **文件:** `useStep4Preview.ts` + `types.ts` - 预览完成(status === "completed")后,调用 `updateEditPlan` 将 `videoUrl` 保存到 `plan.config.rendered_storage_key` - `EditPlanConfig` 类型添加 `rendered_storage_key` 和 `generation_task_id` 可选字段 - 这样后端 cover.py 第一步就能找到预览视频,不再依赖兜底查询 ## 验收 - [ ] 智能剪辑 Step 6 点击"自动生成封面"弹出 Modal + Spin 进度提示 - [ ] 生成成功后关闭弹窗,封面预览区域显示生成的图片 - [ ] 生成失败关闭弹窗,显示错误提示 - [ ] generatingRef 不再卡死(超时保护) - [ ] 预览生成后,plan.config.rendered_storage_key 被正确写入 - [ ] 封面生成能正确找到预览视频并抽帧
xiaoxia added the bugfrontend labels 2026-08-12 16:49:35 +08:00
xiaoxia added 1 commit 2026-08-12 16:49:35 +08:00
fix(#1341): 修复智能剪辑封面生成的 3 个问题
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 / Deploy Staging (Watchtower auto-deploy) (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
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 42s
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
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m47s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 2m2s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 2m2s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m20s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 1m27s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 2m12s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m14s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 2m47s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 5m45s
CI/CD Pipeline / Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production API 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 / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Failing after 5s
AI Code Review / AI Code Review (pull_request) Successful in 6m51s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Has been cancelled
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 47s
0240e2f58b
A. generatingRef 卡死 → 改用 useState + 300秒超时保护
B. Step6 缺少进度弹窗 → 添加 Modal + Spin 进度提示
C. 预览视频 URL 没回写 → 预览完成后保存到 plan.config.rendered_storage_key
xiaoxia closed this pull request 2026-08-15 09:49:15 +08:00
Author
Owner

#1371 统一封面生成管道重构后,代码已完全重构,此PR过时关闭。感谢贡献。

#1371 统一封面生成管道重构后,代码已完全重构,此PR过时关闭。感谢贡献。

🗑️ 预览环境已清理

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

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

🗑️ **预览环境已清理** PR #1345 已关闭或合并,对应的预览环境已被清理。 > 如有需要,可以重新打开 PR 来重新生成预览环境。
Some checks are pending
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 / Deploy Staging (Watchtower auto-deploy) (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
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 42s
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
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m47s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 2m2s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 2m2s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m20s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 1m27s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 2m12s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m14s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 2m47s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 5m45s
CI/CD Pipeline / Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production API 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 / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Failing after 5s
AI Code Review / AI Code Review (pull_request) Successful in 6m51s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Has been cancelled
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 47s

Pull request closed

Sign in to join this conversation.