diff --git a/apps/web/src/pages/generate/hooks/useStepNavigation.ts b/apps/web/src/pages/generate/hooks/useStepNavigation.ts index 12e8c51fd..4d4a7b11a 100644 --- a/apps/web/src/pages/generate/hooks/useStepNavigation.ts +++ b/apps/web/src/pages/generate/hooks/useStepNavigation.ts @@ -1,11 +1,10 @@ /** - * GeneratePage 步骤导航(Issue #1677 修正:固定 6 步,单视频与批量一致) - * 步骤:模板(1) → 素材(2) → 配音(3) → 标题(4) → 确认生成(5) → 封面(6) + * GeneratePage 步骤导航(#1899 简化为 5 步,单视频与批量一致) + * 步骤:素材(1) → 配音(2) → 标题(3) → 确认生成(4) → 封面(5) * - * - 步骤4底部按钮是「确认生成视频/确认生成 N 个视频」(由 GenerateStepActions 调 - * onConfirmGenerate),创建成功后跳转步骤5;本 hook 的 goNext 只负责 1→2→3→4 - * 和 5→6 的「下一步」。 - * - 步骤5(确认生成进度页):渲染全部完成(generated)后「下一步」解锁进封面。 + * - 步骤3底部按钮是「确认生成视频」(由 GenerateStepActions 调 onConfirmGenerate), + * 创建成功后跳转步骤4;本 hook 的 goNext 只负责 1→2→3 和 4→5 的「下一步」。 + * - 步骤4(确认生成进度页):渲染全部完成(generated)后「下一步」解锁进封面。 */ import { message } from "antd" import type { TitleSettings } from "../types" @@ -13,14 +12,13 @@ import type { TitleSettings } from "../types" export interface UseStepNavigationOptions { currentStep: number setCurrentStep: (step: number | ((prev: number) => number)) => void - selectedTemplate: string materialMode: "manual" | "auto" selectedMaterials: string[] smartSelectedIds: string[] titleSettings: TitleSettings - /** 是否已完成视频生成(步骤5全部渲染完成后才能进入封面) */ + /** 是否已完成视频生成(步骤4全部渲染完成后才能进入封面) */ generated: boolean - /** Step1 点下一步时弹出数量选择弹窗 */ + /** 点素材下一步时弹出数量选择弹窗 */ onOpenCountModal: () => void } @@ -33,7 +31,6 @@ export const useStepNavigation = (options: UseStepNavigationOptions): UseStepNav const { currentStep, setCurrentStep, - selectedTemplate, materialMode, selectedMaterials, smartSelectedIds, @@ -43,30 +40,26 @@ export const useStepNavigation = (options: UseStepNavigationOptions): UseStepNav const goNext = () => { if (currentStep === 1) { - if (!selectedTemplate) { - message.warning("请先选择一个模板") - return - } - // 选完模板弹数量选择弹窗(每次都弹,不记忆) + // 选完素材弹数量选择弹窗 onOpenCountModal() return } - if (currentStep === 2 && materialMode === "manual" && selectedMaterials.length === 0) { + if (currentStep === 1 && materialMode === "manual" && selectedMaterials.length === 0) { message.warning("请至少选择一个素材") return } - if (currentStep === 2 && materialMode === "auto" && smartSelectedIds.length === 0) { + if (currentStep === 1 && materialMode === "auto" && smartSelectedIds.length === 0) { message.warning("请先进行智能匹配并选择素材") return } - // 步骤5(确认生成):全部渲染完成后才能下一步进封面 - if (currentStep === 5) { + // 步骤4(确认生成):全部渲染完成后才能下一步进封面 + if (currentStep === 4) { if (!generated) { message.warning("视频还在渲染中,请等待生成完成") return } } - if (currentStep < 6) { + if (currentStep < 5) { setCurrentStep((s) => s + 1) } }