diff --git a/apps/web/src/pages/generate/hooks/useStep4Title/useAiTitleGenerator.ts b/apps/web/src/pages/generate/hooks/useStep4Title/useAiTitleGenerator.ts index 0e2f778bd..8f5b1c5c0 100644 --- a/apps/web/src/pages/generate/hooks/useStep4Title/useAiTitleGenerator.ts +++ b/apps/web/src/pages/generate/hooks/useStep4Title/useAiTitleGenerator.ts @@ -72,9 +72,28 @@ export function useAiTitleGenerator({ setAiTitleGenerating(false) }, [aiTitleInput]) + /** + * 自动生成标题(供 AI 自动选择开关使用) + * 如果已有生成结果,直接从中选一个;否则用默认关键词生成 + */ + const autoGenerateTitle = useCallback((): string => { + if (aiTitleResults.length > 0) { + const picked = aiTitleResults[Math.floor(Math.random() * aiTitleResults.length)] + onTitleSettingsChange({ ...titleSettings, title: picked.title }) + return picked.title + } + // 没有已有结果,用默认关键词生成 + const results = generateTitlesFromTopic("短视频") + setAiTitleResults(results) + setHasGeneratedTitles(true) + const picked = results[Math.floor(Math.random() * results.length)] + onTitleSettingsChange({ ...titleSettings, title: picked.title }) + return picked.title + }, [aiTitleResults, titleSettings, onTitleSettingsChange]) + const handleSelectAiTitle = useCallback( (title: string) => { - onTitleSettingsChange({ ...titleSettings, title, aiAutoSelect: false }) + onTitleSettingsChange({ ...titleSettings, title }) message.success("已选用此标题") }, [titleSettings, onTitleSettingsChange], @@ -98,5 +117,6 @@ export function useAiTitleGenerator({ handleGenerateAiTitles, handleSelectAiTitle, handleRefreshAiTitles, + autoGenerateTitle, } }