From 3a8415398a3b752df4c7500097fa1e5665562aea 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 21:07:02 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A8=E5=8D=95=E8=AE=A1=E6=95=B0=E6=94=B9?= =?UTF-8?q?=E6=88=90=E6=8C=89=E7=A0=81=E7=82=B9=EF=BC=8C=E4=B8=8E=E5=AE=BF?= =?UTF-8?q?=E4=B8=BB=E6=A0=A1=E9=AA=8C=E5=AF=B9=E9=BD=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit xiaohongshu/FormCard.tsx:used 改用 Array.from(...).length,避免补充平面字符被按 UTF-16 码元多算。 --- .../project-development/export/tabs/xiaohongshu/FormCard.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/ai-game-creator-shell/src/view/project-development/export/tabs/xiaohongshu/FormCard.tsx b/apps/ai-game-creator-shell/src/view/project-development/export/tabs/xiaohongshu/FormCard.tsx index 564948380..e53cf0cb8 100644 --- a/apps/ai-game-creator-shell/src/view/project-development/export/tabs/xiaohongshu/FormCard.tsx +++ b/apps/ai-game-creator-shell/src/view/project-development/export/tabs/xiaohongshu/FormCard.tsx @@ -123,7 +123,9 @@ function FieldRow({ onChange: (value: string) => void; }) { const id = useId(); - const used = value.trim().length; + // 按码点计数,与宿主 `validate_text` 的 `chars().count()` 对齐:`String.length` 数的是 UTF-16 + // 码元,一个 emoji 会被这里算成 2、宿主算成 1,计数徽标会比宿主更早报超限。 + const used = Array.from(value.trim()).length; const overLimit = maxChars !== undefined && used > maxChars; return (