fix(cover): 打通批量封面模板选择的 prop 链路 #2046
Reference in New Issue
Block a user
Delete Branch "fix/batch-cover-template-props-20260925"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
问题
PR#2045 为批量场景补了封面模板选择按钮和 Modal,但
onTemplateChange/selectedTemplate两个 prop 没有从Step6CoverSettings往上透传到GeneratePage,导致:useBatchCovers.generateOne/generateAll虽然用了shared.selectedTemplateId(组件内状态),但提交生成时useGenerateVideo读的是formState.selectedTemplate(仍是空/default),模板 id 不会透传到后端useSharedCover用initialTemplateId初始化只在 mount 生效一次,父层 state 变化不会同步修复
GeneratePage.tsx:解构setSelectedTemplate,给GenerateStepContent传selectedCoverTemplate={selectedTemplate}和onSelectedCoverTemplateChange={setSelectedTemplate}GenerateStepContent.tsx:接口新增selectedCoverTemplate?: string/onSelectedCoverTemplateChange?: (id: string) => void,解构后透传给<Step6CoverSettings>的selectedTemplate/onTemplateChangeStep6CoverSettings.tsx:新增 useEffect,父组件selectedTemplate变化时调用shared.handleSelectTemplate同步子状态,保证父→子方向的数据流批量封面策略
当前策略是所有批量视频统一使用同一个模板(信息条已显示「当前模板:xxx」),每个视频的标题文字从
previewTitles[vi]取各自的标题叠加在封面上;单视频独立上传封面仍支持卡片内「📤 上传」。如需每个视频独立选模板,需要后续增加 per-video 模板选择 UI。验证
apiGenerateCover(templateId,...)的 templateId 应为所选模板 id,而非 default关联:#2045
🚀 预览环境已部署
🗑️ 预览环境已清理
PR #2046 已关闭或合并,对应的预览环境已被清理。