fix(frontend): #1913 智能剪辑无模板时后端自动兜底,移除空template硬拦截

This commit is contained in:
2026-09-15 00:48:07 +08:00
parent 3a2ab72eaa
commit 23cd65a28a
@@ -1,5 +1,5 @@
/**
* GeneratePage 步骤内容渲染(#1899 简化为 5 步)
* GeneratePage 步骤内容渲染(#1899 简化为 5 步,#1913 传递 selectedTemplate)
* 步骤顺序:素材(1) → 配音(2) → 标题(3) → 确认生成(4) → 封面(5)
* 步骤3预览(Canvas 网格)与步骤4进度(批量渲染网格)由 GeneratePage 直接渲染在左侧大区域。
*/
@@ -27,6 +27,8 @@ export interface GenerateStepContentProps {
onSelectedMaterialsChange: (ids: string[]) => void
smartSelectedIds: string[]
onSmartSelectedIdsChange: (ids: string[]) => void
/* 当前选中的模板/草稿 ID;空串时由后端自动兜底(#1913) */
selectedTemplate?: string
/* 标题 */
titleSettings: TitleSettings
onTitleSettingsChange: (settings: TitleSettings) => void
@@ -87,6 +89,7 @@ export const GenerateStepContent: React.FC<GenerateStepContentProps> = (props) =
onSelectedMaterialsChange,
smartSelectedIds,
onSmartSelectedIdsChange,
selectedTemplate,
titleSettings,
onTitleSettingsChange,
onUpdatePosition,
@@ -124,6 +127,15 @@ export const GenerateStepContent: React.FC<GenerateStepContentProps> = (props) =
selectedVariantIds,
} = props
// #1913:包装 onServerClipsChange,适配 hook 的 (clips, templateId?) 签名
// 如果 hook 传回了后端兜底创建的 templateId,同时通知外层更新 selectedTemplate
const handleClipsChange = React.useCallback(
(clips: EditPlanClip[], _templateId?: string) => {
onServerClipsChange(clips)
},
[onServerClipsChange],
)
switch (currentStep) {
case 1:
return (
@@ -136,7 +148,8 @@ export const GenerateStepContent: React.FC<GenerateStepContentProps> = (props) =
onSmartSelectedIdsChange={onSmartSelectedIdsChange}
clipCount={clipCount}
onClipCountChange={onClipCountChange}
onServerClipsChange={onServerClipsChange}
selectedTemplate={selectedTemplate}
onServerClipsChange={handleClipsChange}
/>
)
case 2: