feat(tools): 代码端真相源闸 check_ds_code + 外壳硬编码颜色清零

把原型 check-ds 的「单一真源」纪律延伸到 Flutter 代码:
- client/tool/check_ds_code.mjs:扫 lib/(排除.g.dart) 硬编码 Color(0x..)/Colors.具名色,
  --strict/--changed 报错挡提交,合理特例须显式 // ds-ignore: 理由
- tokens.css(单源,client+原型同步) 加 chrome 前景色 --brand-dot/--on-accent/--on-accent-faint,
  codegen 进 AppChrome;外壳 14 处硬编码(白字/品牌点/grace橙)全部改走 token
- 外壳+3 新 widget 现 0 违规;全量存量 172→158(其余屏后续逐步清)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TSKEiHsvauyxYUW2itzUXX
This commit is contained in:
wangjia
2026-06-25 19:14:47 +08:00
parent d85d68574d
commit 23a583918d
6 changed files with 106 additions and 17 deletions
@@ -19,7 +19,9 @@
/* 遮罩 / 玻璃叠加(主题无关:弹窗·抽屉背板、hero 上的半透明白) */
--scrim:rgba(15,20,30,.42); --hero-glass:rgba(255,255,255,.16); --hero-glass-strong:rgba(255,255,255,.24);
/* 品牌标识色(logo / 门店字标,固定不随主题) */
--brand-deep:#0F3057; --brand-mid:#1B4F8E; --brand-wine:#8B2331;
--brand-deep:#0F3057; --brand-mid:#1B4F8E; --brand-wine:#8B2331; --brand-dot:#C97B86;
/* 彩色底(横幅/徽章/品牌弹窗)上的固定前景白(主题无关 chrome 前景) */
--on-accent:#FFFFFF; --on-accent-faint:rgba(255,255,255,.72);
/* 底部状态栏(深石板灰绿,主题无关的 chrome 条) */
--statusbar-bg:#37423D; --statusbar-fg:rgba(255,255,255,.82); --statusbar-muted:rgba(255,255,255,.46); --statusbar-strong:#FFFFFF; --statusbar-div:rgba(255,255,255,.13); --statusbar-ok:#7BC49A;
/* Toast 深底(主题无关) */