From 34b19d2aaa0a245d0fc36d265cfabe74eed51ea5 Mon Sep 17 00:00:00 2001 From: xiaoxia Date: Fri, 7 Aug 2026 19:00:27 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E6=97=B6=E8=87=AA=E5=8A=A8=E5=8C=B9=E9=85=8D?= =?UTF-8?q?=E5=A4=B1=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 离开 auto 模式时重置 autoTriggeredRef,确保每次进入 auto 模式 (包括从 manual 切回 auto)都能重新触发智能匹配 --- .../src/pages/generate/hooks/useStep2Materials.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/apps/web/src/pages/generate/hooks/useStep2Materials.ts b/apps/web/src/pages/generate/hooks/useStep2Materials.ts index 06f41797b..0d5a8c406 100755 --- a/apps/web/src/pages/generate/hooks/useStep2Materials.ts +++ b/apps/web/src/pages/generate/hooks/useStep2Materials.ts @@ -38,16 +38,18 @@ export function useStep2Materials({ const autoTriggeredRef = useRef("") const { handleSmartMatch } = smartMatch useEffect(() => { - // 仅在 auto 模式 + 素材加载完成后自动触发 - if (materialMode !== "auto") return + // 离开 auto 模式时重置,确保下次进入 auto 模式能重新触发 + if (materialMode !== "auto") { + autoTriggeredRef.current = "" + return + } if (!selectedLibraryId) return if (materialsLoading) return if (materials.items.length === 0) return - // 防止同一视频库+同一模式重复触发(模式切换时 key 变化会重新触发) - const triggerKey = `${selectedLibraryId}_${materialMode}` - if (autoTriggeredRef.current === triggerKey) return + // 防止同一视频库重复触发 + if (autoTriggeredRef.current === selectedLibraryId) return - autoTriggeredRef.current = triggerKey + autoTriggeredRef.current = selectedLibraryId handleSmartMatch() }, [selectedLibraryId, materialMode, materialsLoading, materials.items, handleSmartMatch])