From 695db908786d7bf7f75a87e083d1465626989fa9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Thu, 8 Oct 2026 11:10:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E3=80=8C=E6=B2=BF=E7=94=A8?= =?UTF-8?q?=E4=B8=8A=E4=B8=80=E7=89=88=E6=9C=AC=E6=88=AA=E5=9B=BE=E3=80=8D?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E6=B0=B8=E8=BF=9C=E5=8F=AF=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 该按钮只在已读到上一版本截图时渲染,原 disabled 判断恒为 false - 改为逐槽比较草稿与上一版本 objectKey,相同即停用,避免重复标 dirty - 补充相同停用 / 不同可用并触发沿用的测试 --- .../export/tabs/taonier/FormCard.tsx | 10 ++++- .../tests/taonierExport.test.tsx | 37 +++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/apps/ai-game-creator-shell/src/view/project-development/export/tabs/taonier/FormCard.tsx b/apps/ai-game-creator-shell/src/view/project-development/export/tabs/taonier/FormCard.tsx index dce8dd02d..317f082b2 100644 --- a/apps/ai-game-creator-shell/src/view/project-development/export/tabs/taonier/FormCard.tsx +++ b/apps/ai-game-creator-shell/src/view/project-development/export/tabs/taonier/FormCard.tsx @@ -154,6 +154,14 @@ export function FormCard({ } else if (localScreenshotCount > 0) { screenshotSummary = `本地 ${localScreenshotCount} 张`; } + // 「沿用上一版本截图」是把上一版本 key 整组写进草稿。草稿已经与上一版本逐槽相同就停用,否则重复 + // 点击会不断标 dirty、触发无意义的自动保存与冲突往返。 + const screenshotsSame = + onlineScreenshots.length > 0 && + form.screenshotPaths.length === onlineScreenshots.length && + form.screenshotPaths.every( + (path, index) => path.trim() === onlineScreenshots[index]?.objectKey, + ); // 封面预览三态:空值显示沿用 / 未选占位;本地路径走项目内预览;线上 objectKey 走上一版本换签。 const renderCoverPreview = (): ReactNode => { @@ -498,7 +506,7 @@ export function FormCard({ variant="link" ariaLabel="沿用上一版本截图" title="把上一版本截图逐槽写进草稿,发布时整组沿用" - disabled={onlineScreenshots.length === 0} + disabled={screenshotsSame} onClick={onAdoptScreenshots} >