From abd27834d9df2d6384ebed89f7a3a4f6ee4b3bbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Tue, 6 Oct 2026 18:55:08 +0800 Subject: [PATCH] =?UTF-8?q?=E9=99=B6=E6=B3=A5=E5=84=BF=20tab=20=E6=8D=A2?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=97=B6=E9=87=8D=E7=BD=AE=E6=89=93=E5=8C=85?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E4=B8=8E=E8=BF=9B=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - useTaonierTab 新增以 projectPath 为依赖的 effect,清空 packageResult / progress / blockedMessage,新项目不再复用旧项目的试玩包 --- .../export/state/useTaonierTab.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/apps/ai-game-creator-shell/src/view/project-development/export/state/useTaonierTab.ts b/apps/ai-game-creator-shell/src/view/project-development/export/state/useTaonierTab.ts index a8059685f..d386e1fef 100644 --- a/apps/ai-game-creator-shell/src/view/project-development/export/state/useTaonierTab.ts +++ b/apps/ai-game-creator-shell/src/view/project-development/export/state/useTaonierTab.ts @@ -130,6 +130,19 @@ export function useTaonierTab({ }; }, [enabled, projectPath]); + /** + * 换项目时清掉上一次项目的打包结果、进度与阻断提示。 + * + * 面板跨项目切换时不会卸载(同一份 `usePanel` 状态继续用),而发布表单在 + * `manifest?.projectId` 变化时会重新初始化并复用现成的 `packageResult`——不清的话, + * 新项目会带着旧项目的 `packageRelativePath` 直接被发布出去。与上面的灰度重置同一口径。 + */ + useEffect(() => { + setPackageResult(null); + setProgress(null); + setBlockedMessage(null); + }, [projectPath]); + const [runtimeNotice, setRuntimeNotice] = useState(''); /** * 输入草稿提升到面板层:Composer 随 tab 页卸载后,正文不再随组件一起丢。