From e6a4070a958906d4d91882a18547cbd14d634390 Mon Sep 17 00:00:00 2001 From: JianFeeeee Date: Mon, 21 Sep 2026 20:53:10 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B7=A8=E7=AB=AF:=20=E6=8A=8A=E5=8F=AF?= =?UTF-8?q?=E8=AF=BB=E6=80=A7=E9=82=A3=E6=89=B9=E6=B7=B1=E8=89=B2=E8=AF=AD?= =?UTF-8?q?=E4=B9=89=E5=BA=95**=E7=99=BB=E8=AE=B0=E8=BF=9B=E6=B8=85?= =?UTF-8?q?=E5=86=8C**=EF=BC=88=E5=88=A4=E6=8D=AE=E6=8A=93=E5=88=B0?= =?UTF-8?q?=E4=BA=86=EF=BC=8C=E5=AE=83=E6=8A=A5=E5=BE=97=E5=AF=B9=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 上一提交(`cbb1e1e`)给 `dangerBg`/`approveBg`/`warnBg`/`chipSpentBg`/ `chipWarnBg`/`chipNeutralBg` 补的深色变体,**忘了登记**。 `cross-client-theme` 当场报红: Theme.ets 里出现未登记的手写色:dangerBgDark、approveBgDark、warnBgDark、 chipSpentBgDark、chipWarnBgDark、chipNeutralBgDark、chipNeutralFgDark、 chipSpentFgDark、chipWarnFgDark —— 属于品牌/业务语义色就登记进 SELF_OWNED_COLORS 并在 Theme.ets 的 登记表里写一行理由,否则该走 $r('sys.*') **这条判据报得对**,不是误报: · 这 9 个色是**跨端身份**(逐字取自 WebUI `.dark` 段 `index.css:486-520`), 系统语义色里没有\"淡底\"这一档,更没有深浅两套淡底 ⇒ 必须自己写; · 但\"必须自己写\"恰恰是要登记的理由 —— 不登记的话, 下一个人看到 `#2E1F25` 只会当成随手挑的深红。 修(两处,判据要求两处都有): 1. `SELF_OWNED_COLORS` 补 9 个名字 + 一段理由(含 tailwind 档位对照); 2. `Theme.ets` 的色清册注释里补 9 行值 + 来源,并说明\"原来只有浅色档\" 这个**共同的病根**(不是九个孤立遗漏)。 ★ 教训:\"补了深色变体\"是一个**新 token**,不是\"改了个值\"。 `cbb1e1e` 提交信息里我把它们写成\"Added dark variants\"—— 但在判据眼里它们就是 9 个没登记的手写色,跟\"随便写死的颜色\"无法区分。 **判据不认识意图,只认识清册。** 验证:`cross-client-theme` 21/21 绿(原 20 pass / 2 fail)。 --- .../electron/test/cross-client-theme.test.mjs | 29 +++++++++++++++++++ .../entry/src/main/ets/common/Theme.ets | 13 +++++++++ 2 files changed, 42 insertions(+) diff --git a/client/electron/test/cross-client-theme.test.mjs b/client/electron/test/cross-client-theme.test.mjs index 4b1f545..d43c54a 100644 --- a/client/electron/test/cross-client-theme.test.mjs +++ b/client/electron/test/cross-client-theme.test.mjs @@ -266,6 +266,35 @@ const SELF_OWNED_COLORS = [ 'glassCardDark', 'glassCardWallDark', // 业务语义色:系统没有对应物(同意 / 拒绝 / 警示) 'approve', 'danger', 'approveBg', 'approveFg', 'dangerBg', 'warnBg', 'warnFg', + /* + * ★★ 2026-09-21 补登记:语义**底**色的深色档(与上面的前景变体同一族)。 + * + * 这是用户「你看看这可读性」那轮撞出来的:`dangerBg`(#FEF2F2)/`approveBg`(#F0FDF4)/ + * `warnBg`(#FFFBEB)/`chipSpentBg`(#FEE2E2)/`chipWarnBg`(#FFEDD5) + * 全是**只有浅色档**的手写色 —— 深色下这些淡底依然是亮的, + * 而上面的前景已经被提亮成浅色 ⇒ 「浅底 + 浅字」。 + * + * 实测同形的另一处:邮件详情的元信息行(`chipNeutralBg` #F3F4F6) + * 压深色背景,字与底 **1.02:1**。 + * + * 为什么是「自己写」而不是 `$r('sys.*')`: + * 系统语义色(`sys.color.warning` 等)是**前景/强调**色,没有 + * "淡底"这一档,更没有深浅两套淡底。而 WebUI 的 `.dark` 段 + * (`index.css:486-520`)**明确**给这些淡底换了深色值 + * (red-50 → `46 31 37` 等)⇒ 这是跨端身份,必须逐字对齐。 + * + * 值取自 WebUI `.dark` 段(括号内是对应的 tailwind 档): + * dangerBgDark #2E1F25 = red-50 46 31 37 + * approveBgDark #192C27 = green-50 25 44 39 + * warnBgDark #2E281F = amber-50 46 40 31 + * chipSpentBgDark #3A2227 = red-100 58 34 39 + * chipWarnBgDark #3C291F = orange-100 60 41 31 + * chipNeutralBgDark #20242C、chipNeutralFgDark #9BA3B0 + * chipSpentFgDark #F8A4A4、chipWarnFgDark #FBA86F + */ + 'dangerBgDark', 'approveBgDark', 'warnBgDark', + 'chipSpentBgDark', 'chipWarnBgDark', + 'chipNeutralBgDark', 'chipNeutralFgDark', 'chipSpentFgDark', 'chipWarnFgDark', // 权限档位与预算档位的胶囊配色(档位是产品语义,系统不认识"plan/workspace/full") 'chipNeutralBg', 'chipNeutralFg', 'chipSpentBg', 'chipSpentFg', 'chipWarnBg', 'chipWarnFg', /* diff --git a/client/harmony/entry/src/main/ets/common/Theme.ets b/client/harmony/entry/src/main/ets/common/Theme.ets index dbaafed..4272a34 100644 --- a/client/harmony/entry/src/main/ets/common/Theme.ets +++ b/client/harmony/entry/src/main/ets/common/Theme.ets @@ -503,6 +503,19 @@ export class Theme { * · chipWarnBg #FFEDD5 预算紧张底 * · chipWarnFg #C2410C 预算紧张文字 * + * ★★ 2026-09-21 补:上面这批**只有浅色档** —— 深色下淡底依旧发亮, + * 而前景已被提亮 ⇒ 「浅底 + 浅字」。修法是把 WebUI `.dark` 段 + * (`index.css:486-520`)的对应值补上,并加 `*BgFor()` 取用口: + * · dangerBgDark #2E1F25 red-50 46 31 37 + * · approveBgDark #192C27 green-50 25 44 39 + * · warnBgDark #2E281F amber-50 46 40 31 + * · chipSpentBgDark #3A2227 red-100 58 34 39 + * · chipWarnBgDark #3C291F orange-100 60 41 31 + * · chipNeutralBgDark #20242C 深色下的中性胶囊底 + * · chipNeutralFgDark #9BA3B0 (浅色 #5A6270 在深底上不够) + * · chipSpentFgDark #F8A4A4 + * · chipWarnFgDark #FBA86F + * * 导航选中/未选中的**跨端身份色**(2026-09-19 补,对应用户 * 「底栏数字为什么显示在图标下面?」与「宽屏侧栏根本不像 WebUI」那两轮): * · navActiveBg #DBEAFE WebUI `--nav-active-bg`(`index.css:1595-1606`)