fix: previewTaskId 持久化 + 配音/BGM 参数完整传递 #1485

Merged
auto-approve-bot merged 1 commits from fix/persist-preview-params into develop 2026-08-24 22:56:31 +08:00

1 Commits

Author SHA1 Message Date
xiaoxia 3c296b6811 fix: previewTaskId 持久化 + 配音/BGM 参数完整传递
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 / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (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 / Frontend Unit Tests (pull_request) Successful in 47s
CI/CD Pipeline / PR Build API Image (pull_request) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m56s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 2m11s
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 2m15s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m30s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 2m24s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m10s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 2m19s
AI Code Review / AI Code Review (pull_request) Successful in 6m51s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 7m39s
CI/CD Pipeline / Integration Tests (pull_request) Has been skipped
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 / 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) Successful in 6s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 54s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 1m6s
问题:
1. 刷新页面后 previewTaskId 丢失,confirmGeneration 无法触发
2. createPreview 和 createGenerationTask 均未传 voice_library_id,
   导致预览和最终成片都没有用户选择的配音
3. BGM 配置未传给后端,预览和成片 BGM 与模板设置不一致

改动:
- 新增 usePersistedState hook:基于 localStorage 的 state,
  key 按 editPlanId/templateId 区分,localStorage 不可用时降级为 useState
- previewTaskId 和 storedSourceEditPlanId 使用 usePersistedState,
  刷新页面后自动恢复;生成成功后清除
- useStep6Cover/createPreview 请求体新增 voice_library_id 和 bgm_config
- useGenerateVideo/createGenerationTask fallback 请求体新增
  voice_library_id(或 voice_ids)和 bgm_config
- bgmConfig 从当前模板 bgm_config 派生,受 bgm 开关控制
- 生成成功后回调清除持久化状态
- CreateGenerationTaskRequest 类型补充 voice_library_id 和 bgm_config
2026-08-24 22:44:55 +08:00