fix(wizard): #1954 生成完成后底部按钮显示「下一步:选择封面」+ E2E封面步骤断言 #1957

Merged
xiaoxia merged 2 commits from fix/wizard-cover-step-1954 into develop 2026-09-16 11:33:55 +08:00
Owner

问题

单/批量视频生成完成后,步骤4(确认生成)底部主按钮仍停留在「 确认生成视频」(失败重试态),用户无法通过底部按钮进入步骤5「选择封面」,只能点顶部步骤条。真实用户体验问题。

根因

GenerateStepActions.tsx 头注释宣称「固定6步」,把「下一步:选择封面」按钮挂在 currentStep===5 分支,但实际流程是 5 步向导(素材1→配音2→标题3→确认生成4→封面5),点击「 确认生成视频」后 handleConfirmGeneratesetCurrentStep(4)(保持在步骤4看进度),generated=true 后没有任何分支能命中 currentStep===5,导致按钮永远是「 确认生成视频」。

修复

  • GenerateStepActions.tsx: 在 currentStep===4 分支内,generated && !generating && !generateError 时优先返回「下一步:选择封面 →」按钮,onClick 走 onNext → useStepNavigation.goNext 已自带 if(currentStep===4 && !generated) return warning 守卫,生成完成后正确 setCurrentStep(5)。移除 dead 的 currentStep===5 分支(封面页无主按钮)。更新注释反映真实 5 步结构。提交阶段文案保留「 正在提交生成任务…」,渲染进度阶段文案「 视频渲染中…」在 content 区域的进度卡展示,不影响按钮状态。
  • constants.ts: 已有正确的 5 步标签(key 4=确认生成, key 5=选择封面),无需改动。
  • useStepNavigation.ts: goNext 已包含步骤4→5的 !generated 守卫,无需改动。
  • E2E core-generation.spec.ts: 补回封面步骤断言——「视频生成完成」可见后,断言「下一步:选择封面」按钮可见并点击,断言进入步骤5(h3「🖼️ 选择封面」可见 + xx-step-actions 主按钮消失)。

验证

  • 本地 ESLint 0 error / 0 warning
  • 本地 tsc 无新增错误
  • 单测:改动不影响任何现有测试
  • E2E 新增 3 条断言覆盖封面步骤进入逻辑

Closes #1954

## 问题 单/批量视频生成完成后,步骤4(确认生成)底部主按钮仍停留在「✨ 确认生成视频」(失败重试态),用户无法通过底部按钮进入步骤5「选择封面」,只能点顶部步骤条。真实用户体验问题。 ## 根因 GenerateStepActions.tsx 头注释宣称「固定6步」,把「下一步:选择封面」按钮挂在 `currentStep===5` 分支,但实际流程是 5 步向导(素材1→配音2→标题3→确认生成4→封面5),点击「✨ 确认生成视频」后 `handleConfirmGenerate` 里 `setCurrentStep(4)`(保持在步骤4看进度),generated=true 后没有任何分支能命中 currentStep===5,导致按钮永远是「✨ 确认生成视频」。 ## 修复 - **GenerateStepActions.tsx**: 在 `currentStep===4` 分支内,`generated && !generating && !generateError` 时优先返回「下一步:选择封面 →」按钮,onClick 走 onNext → useStepNavigation.goNext 已自带 `if(currentStep===4 && !generated) return warning` 守卫,生成完成后正确 `setCurrentStep(5)`。移除 dead 的 `currentStep===5` 分支(封面页无主按钮)。更新注释反映真实 5 步结构。提交阶段文案保留「⏳ 正在提交生成任务…」,渲染进度阶段文案「⏳ 视频渲染中…」在 content 区域的进度卡展示,不影响按钮状态。 - **constants.ts**: 已有正确的 5 步标签(key 4=确认生成, key 5=选择封面),无需改动。 - **useStepNavigation.ts**: goNext 已包含步骤4→5的 `!generated` 守卫,无需改动。 - **E2E core-generation.spec.ts**: 补回封面步骤断言——「视频生成完成」可见后,断言「下一步:选择封面」按钮可见并点击,断言进入步骤5(h3「🖼️ 选择封面」可见 + xx-step-actions 主按钮消失)。 ## 验证 - 本地 ESLint 0 error / 0 warning - 本地 tsc 无新增错误 - 单测:改动不影响任何现有测试 - E2E 新增 3 条断言覆盖封面步骤进入逻辑 Closes #1954
xiaoxia added 2 commits 2026-09-16 11:09:50 +08:00
fix(wizard): #1954 生成完成后底部按钮正确显示「下一步:选择封面」并补回 E2E 封面步骤断言
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m16s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 1m21s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m28s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m38s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 2m28s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 4m22s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 4m47s
AI Code Review / AI Code Review (pull_request) Successful in 6m37s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 10m39s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 14m45s
CI/CD Pipeline / CI Gate (pull_request) Successful in 2s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 14s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 38s
CI/CD Pipeline / PR Build Worker Image (pull_request) Failing after 4h13m48s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 4h13m50s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 3h58m11s
CI/CD Pipeline / PR Build API Image (pull_request) Failing after 4h12m56s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 4h12m45s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 4h12m46s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 4h12m49s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 4h12m49s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 4h12m51s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 4h12m55s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 4h12m59s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 4h12m55s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 4h12m55s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 4h12m44s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 3h58m10s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 3h58m11s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 3h58m11s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 3h58m10s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 4h12m45s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 4h12m57s
72b6c4ebb1
auto-approve-bot approved these changes 2026-09-16 11:11:12 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

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

CI全绿,自动审批通过。

CI全绿,自动审批通过。

🚀 预览环境已部署

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

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

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

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

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

🗑️ 预览环境已清理

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

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

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