跨端: 把可读性那批深色语义底**登记进清册**(判据抓到了,它报得对)

上一提交(`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)。
This commit is contained in:
2026-09-21 20:53:10 +08:00
parent 506f207c64
commit e6a4070a95
2 changed files with 42 additions and 0 deletions

View File

@ -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',
/*

View File

@ -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`)