feat(generate): #1970 智能剪辑流程重构 - 选择模式→素材→标题→确认→封面 #1973

Merged
xiaoxia merged 1 commits from fix/1970-smart-edit-flow into develop 2026-09-18 00:23:19 +08:00
Owner

背景

按 docs/smart-edit-flow-redesign-20260916.md 重构智能剪辑向导流程,将配音选择从主流程剥离为分支弹窗,新增剪辑模式选择第一步。

主流程改造

  • STEPS 改为 5 步:选择模式 → 选择素材 → 选择标题 → 确认生成 → 选择封面
  • 原「选择配音」从主步骤移除,改为 Step1 点下一步按剪辑模式分支弹窗

新增组件

  1. Step1EditMode — 剪辑模式卡片(🎲随机混剪 / 📖叙事剪辑,二选一紫底紫框) + 生成设置(数量 -/+ 1-10、视频比例 9:16/16:9、智能降重开关默认开)
  2. VoiceSelectModal — 随机混剪配音选择,复用配音库音频卡片 + ▶ 试听,无 TTS/克隆入口
  3. ScriptSelectModal — 叙事剪辑文案选择:搜索框(防抖 300ms,命中黄高亮 mark) + 标签筛选行(全部/带货/工厂/测评/教程/口播/种草) + 数量统计 + max-height 420px 卡片列表,调用 GET /api/v1/scripts?keyword=&tag=
  4. TtsVoiceModal — 叙事剪辑配音合成:Tabs(✨系统音色 / 🎙️我的克隆音色) + 2列音色卡片 + 🎧 合成按钮 + 合成中紫色 spinner + "正在合成配音..." + "通常10-30秒"

其他改动

  • Step2 素材页:叙事剪辑模式上方加「🤖 AI智能匹配」紫色提示卡
  • Step4 确认页:摘要卡按 editMode 展示剪辑模式 + 配音来源/文案标题 + TTS音色 + 比例 + 降重状态
  • useGenerateVideo/buildPayload:新增 assembly_mode / script_id / tts_voice_id / tts_voice_source / dedup_enabled / video_ratio 字段透传后端
  • validateGenerateInputs:按模式分别校验(随机→配音,叙事→文案+TTS)

不改动范围

  • Step3 选择标题 / Step5 选择封面 — 完全不动
  • 文案库页面 / 配音库页面本身不动
  • AI 数字人相关代码不动

自测 checklist

  • 默认进入新 Step1(选择模式),默认随机混剪
  • 模式卡片点击切换,选中紫底紫框
  • 数量 -/+ 正常,范围 1-10,默认 1
  • 比例按钮切换,默认 9:16
  • 智能降重开关切换
  • 随机混剪下一步 → 配音选择弹窗 → 确认进入素材页
  • 叙事剪辑下一步 → 文案选择弹窗 → 确认后自动打开 TTS 音色弹窗 → 合成成功进入素材页
  • 素材页叙事模式显示「🤖 AI智能匹配」提示卡
  • 标题页/确认页/封面页流程完整
  • Step4 摘要卡显示对应模式信息

前端-only 改动,请求合并到 develop。

## 背景 按 docs/smart-edit-flow-redesign-20260916.md 重构智能剪辑向导流程,将配音选择从主流程剥离为分支弹窗,新增剪辑模式选择第一步。 ## 主流程改造 - STEPS 改为 5 步:**选择模式 → 选择素材 → 选择标题 → 确认生成 → 选择封面** - 原「选择配音」从主步骤移除,改为 Step1 点下一步按剪辑模式分支弹窗 ## 新增组件 1. **Step1EditMode** — 剪辑模式卡片(🎲随机混剪 / 📖叙事剪辑,二选一紫底紫框) + 生成设置(数量 -/+ 1-10、视频比例 9:16/16:9、智能降重开关默认开) 2. **VoiceSelectModal** — 随机混剪配音选择,复用配音库音频卡片 + ▶ 试听,无 TTS/克隆入口 3. **ScriptSelectModal** — 叙事剪辑文案选择:搜索框(防抖 300ms,命中黄高亮 mark) + 标签筛选行(全部/带货/工厂/测评/教程/口播/种草) + 数量统计 + max-height 420px 卡片列表,调用 `GET /api/v1/scripts?keyword=&tag=` 4. **TtsVoiceModal** — 叙事剪辑配音合成:Tabs(✨系统音色 / 🎙️我的克隆音色) + 2列音色卡片 + 🎧 合成按钮 + 合成中紫色 spinner + "正在合成配音..." + "通常10-30秒" ## 其他改动 - Step2 素材页:叙事剪辑模式上方加「🤖 AI智能匹配」紫色提示卡 - Step4 确认页:摘要卡按 editMode 展示剪辑模式 + 配音来源/文案标题 + TTS音色 + 比例 + 降重状态 - useGenerateVideo/buildPayload:新增 assembly_mode / script_id / tts_voice_id / tts_voice_source / dedup_enabled / video_ratio 字段透传后端 - validateGenerateInputs:按模式分别校验(随机→配音,叙事→文案+TTS) ## 不改动范围 - Step3 选择标题 / Step5 选择封面 — 完全不动 - 文案库页面 / 配音库页面本身不动 - AI 数字人相关代码不动 ## 自测 checklist - [ ] 默认进入新 Step1(选择模式),默认随机混剪 - [ ] 模式卡片点击切换,选中紫底紫框 - [ ] 数量 -/+ 正常,范围 1-10,默认 1 - [ ] 比例按钮切换,默认 9:16 - [ ] 智能降重开关切换 - [ ] 随机混剪下一步 → 配音选择弹窗 → 确认进入素材页 - [ ] 叙事剪辑下一步 → 文案选择弹窗 → 确认后自动打开 TTS 音色弹窗 → 合成成功进入素材页 - [ ] 素材页叙事模式显示「🤖 AI智能匹配」提示卡 - [ ] 标题页/确认页/封面页流程完整 - [ ] Step4 摘要卡显示对应模式信息 前端-only 改动,请求合并到 develop。
xiaoxia force-pushed fix/1970-smart-edit-flow from d9aa362bbf to 36f6baf105 2026-09-17 23:44:46 +08:00 Compare
xiaoxia force-pushed fix/1970-smart-edit-flow from 36f6baf105 to aaded2cf14 2026-09-17 23:49:06 +08:00 Compare
xiaoxia force-pushed fix/1970-smart-edit-flow from aaded2cf14 to b6c28f8a99 2026-09-17 23:52:58 +08:00 Compare
xiaoxia force-pushed fix/1970-smart-edit-flow from b6c28f8a99 to 239109c25a 2026-09-17 23:57:42 +08:00 Compare
xiaoxia added 1 commit 2026-09-18 00:02:22 +08:00
feat(generate): #1970 智能剪辑流程重构 - 选择模式→素材→标题→确认→封面
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 3s
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 / 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 / Frontend Lint (pull_request) Successful in 1m35s
CI/CD Pipeline / PR Build 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 / Frontend Unit Tests (pull_request) Successful in 1m31s
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
PR Automation / Auto Approve on CI Green (pull_request) Successful in 1m48s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 28s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m4s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 5m13s
CI/CD Pipeline / Validate - Style (pull_request) Failing after 5m40s
AI Code Review / AI Code Review (pull_request) Successful in 7m0s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 10m42s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 17m36s
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) Failing after 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
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 18s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 50s
a4c6f492a7
## 主流程改造
- STEPS 改为 5 步:选择模式→选择素材→选择标题→确认生成→选择封面
- 原"选择配音"步骤从主流程移除,改为 Step1 下一步分支弹窗
- Step1 新组件 Step1EditMode:模式卡片(🎲随机混剪/📖叙事剪辑,紫底紫框) + 生成设置(数量-/+1-10、比例9:16/16:9、智能降重开关默认开)

## 新增 3 个弹窗
- VoiceSelectModal(随机混剪):复用配音库音频卡片+▶试听,无 TTS/克隆入口
- ScriptSelectModal(叙事剪辑):搜索框+300ms防抖+命中黄高亮+标签筛选(全部/带货/工厂/测评/教程/口播/种草)+max-height 420px 卡片列表
- TtsVoiceModal(叙事剪辑合成配音):Tabs(✨系统音色/🎙️我的克隆音色) + 2列音色卡片 + 合成按钮 + loading(spinner+"正在合成配音..."+"通常10-30秒")

## Step2 素材页
- 叙事剪辑模式显示"🤖 AI智能匹配"紫色提示卡

## Step4 确认页
- 摘要卡片按 editMode 展示剪辑模式+配音来源/文案标题+TTS音色+比例+降重

## payload 新增字段
- assembly_mode('random'|'narrative')、script_id、tts_voice_id、tts_voice_source('preset'|'clone')、dedup_enabled(默认true)、video_ratio('9:16')

## 不改动
- Step3/Step5 内容、文案库/配音库页面、AI数字人
xiaoxia force-pushed fix/1970-smart-edit-flow from 239109c25a to a4c6f492a7 2026-09-18 00:02:22 +08:00 Compare
auto-approve-bot approved these changes 2026-09-18 00:04:15 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

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

CI全绿,自动审批通过。

CI全绿,自动审批通过。

🚀 预览环境已部署

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

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

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

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

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

🗑️ 预览环境已清理

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

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

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