Files
aurora-admin/site/tokens/dtcg.json
T
aurora-admin 16f365a045 feat: P4 阶段A+B — data.js 瘦身 116KB(预计算 + css 分离)
执行 ROADMAP 的 S1-P4,按规划的三阶段走,本次完成 A 与 B。

阶段 A · 预计算 scenarios(验证「构建期预计算 + 运行时回退」链路)
- tools/precompute.mjs:与 app.js 的 extractScenarios 逻辑完全一致,
  构建期算出结果写进 data.components[].scenarios
- app.js 加快速路径:优先读 c.scenarios,缺失时回退运行时解析
- 浏览器实测:预计算值与运行时提取值**完全一致**(逐字节比对)
- 实测收益有限:仅 4 个组件有 ≥2 场景(场景卡片本就少见),
  但链路验证通过,为阶段 C 的 API 预计算铺路

阶段 B · css 源码分离(零风险,css 不参与任何解析)
- css 从 data.js 移到 site/sources/<slug>/css.txt(79 个文件)
- data.js 里改为 sourcesRef.css 引用,data.json 保持完整(For Agents 承诺)
- data.js: 1058 KB → 942 KB(−116 KB)
- app.js 新增 srcOf(c, kind) / hasSrc(c, kind):
  · srcOf 同步返回已有源码,缺失时触发后台 fetch 并缓存
  · __aaSrcReady 回调在加载完成后填充代码区
- 修正回调时机 bug:原实现捕获构建时的 current(初始 tab),
  导致用户后续切换的 tab 收不到通知。改为回调内实时比对当前 tab

关于 P4 的实测修正(已登记 ROADMAP 规划修正记录)
- 规划估计「拆 sources → ~110KB」。实测 css 仅占 119KB/888KB,
  且 html/vue2/vue3/jsx 共 765KB 被**渲染期同步消费**
  (extractComponentAPI 读 vue3/vue2/jsx,extractScenarios 读 html)
- 故需分阶段:A+B 先减 116KB,阶段 C 需先预计算 API 表才能分离其余 4 端

新增构建链(两步,不可省第二步)
- npm run build:site = build-site.ps1 + precompute.mjs
- build-site.ps1 会把 data.js 重写回全量,precompute 才做瘦身
- 已写入 AGENTS.md 的铁律章节(含「只跑第一步会怎样」的后果说明)

验证
- 回归 100%:1003/1003,79 页全通过,N/A 35
- 浏览器实测:展开代码区 → CSS tab → 2121 字符正常显示,
  Network 出现 sources/button/css.txt 请求
- 预计算 vs 运行时场景提取结果逐字节一致
2026-09-11 23:23:08 +08:00

1 line
6.7 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"$schema":"https://schemas.design-tokens.org/draft/dtcg.json","$metadata":{"name":"Aurora Admin","version":"1.4.1","brand":"#2F54EB","generated":"2026-09-11 23:22"},"tokens":{"color":{"au-color-brand":{"$value":"#2F54EB","$type":"color","$description":"品牌主色:主按钮、选中态、链接"},"au-color-brand-hover":{"$value":"#1D39C4","$type":"color","$description":"品牌主色悬停"},"au-color-brand-active":{"$value":"#10239E","$type":"color","$description":"品牌主色点击"},"au-color-brand-bg":{"$value":"#F0F5FF","$type":"color","$description":"品牌浅色背景:选中背景、标签背景、表格悬停"},"au-color-secondary":{"$value":"#13C2C2","$type":"color","$description":"辅助色"},"au-color-page-bg":{"$value":"#F5F7FA","$type":"color","$description":"页面背景"},"au-color-card-bg":{"$value":"#FFFFFF","$type":"color","$description":"卡片背景"},"au-color-table-header-bg":{"$value":"#FAFAFA","$type":"color","$description":"表头背景"},"au-color-disabled-bg":{"$value":"#F5F5F5","$type":"color","$description":"禁用背景(按钮禁用态)"},"au-color-tag-green-bg":{"$value":"#F6FFED","$type":"color","$description":"标签绿底"},"au-color-tooltip-bg":{"$value":"#1F2329","$type":"color","$description":"Tooltip 深色背景"},"au-color-text-title":{"$value":"#1F2329","$type":"color","$description":"标题文字 · 15.4:1"},"au-color-text-body":{"$value":"#262626","$type":"color","$description":"正文文字 · 14.0:1"},"au-color-text-secondary":{"$value":"#6E6E6E","$type":"color","$description":"次要文字 · 5.10:1(原 #8C8C8C 仅 3.36:1)"},"au-color-text-tertiary":{"$value":"#595959","$type":"color","$description":"三级文字/描述 · 7.00:1(规范未定义,实现补齐)"},"au-color-text-placeholder":{"$value":"#767676","$type":"color","$description":"占位文字 · 4.54:1(原 #BFBFBF 仅 1.84:1)"},"au-color-text-inverse":{"$value":"#FFFFFF","$type":"color","$description":"反色文字(品牌色背景上的白字)"},"au-color-text-disabled":{"$value":"#BFBFBF","$type":"color","$description":"禁用态文字 · WCAG 1.4.3 对禁用控件豁免(规范定义于组件1/2.txt)"},"au-color-border":{"$value":"#E8ECF1","$type":"color","$description":"分割线/边框"},"au-color-border-strong":{"$value":"#F0F0F0","$type":"color","$description":"更强的实线边框(规范未定义,实现补齐)"},"au-color-icon-inactive":{"$value":"#8F8F8F","$type":"color"},"au-color-success":{"$value":"#2E7D0A","$type":"color","$description":"成功色 · 5.18:1(原 #52C41A 仅 2.27:1)"},"au-color-warning":{"$value":"#8C5A00","$type":"color","$description":"警告色 · 5.87:1(原 #FAAD14 仅 1.90:1)"},"au-color-error":{"$value":"#CF1322","$type":"color","$description":"错误色 · 5.57:1(原 #F5222D 仅 4.08:1)"},"au-color-info":{"$value":"#096DD9","$type":"color","$description":"信息色 · 5.00:1(原 #1890FF 仅 3.24:1)"},"au-color-mask":{"$value":"rgba(0, 0, 0, 0.45)","$type":"color","$description":"弹窗遮罩"},"au-color-mask-strong":{"$value":"rgba(0, 0, 0, 0.85)","$type":"color","$description":"图片遮罩"},"au-color-focus-ring":{"$value":"rgba(47, 84, 235, 0.2)","$type":"color","$description":"输入框聚焦外发光"}},"typography":{"au-font-family":{"$value":"\"PingFang SC\", \"Source Han Sans SC\", \"Source Han Sans\", \"Microsoft YaHei\", \"Inter\", \"DIN\", -apple-system, \"Segoe UI\", sans-serif","$type":"fontFamily"},"au-font-family-cn":{"$value":"\"PingFang SC\", \"Source Han Sans SC\", \"Source Han Sans\", \"Microsoft YaHei\", sans-serif","$type":"fontFamily"},"au-font-family-num":{"$value":"\"Inter\", \"DIN\", \"Segoe UI\", sans-serif","$type":"fontFamily"},"au-type-display-size":{"$value":"24px","$type":"fontFamily"},"au-type-display-height":{"$value":"32px","$type":"fontFamily"},"au-type-display-weight":{"$value":"600","$type":"fontFamily","$description":"Semibold:页面大标题"},"au-type-h1-size":{"$value":"20px","$type":"fontFamily"},"au-type-h1-height":{"$value":"28px","$type":"fontFamily"},"au-type-h1-weight":{"$value":"600","$type":"fontFamily","$description":"Semibold:卡片标题、弹窗标题"},"au-type-h2-size":{"$value":"16px","$type":"fontFamily"},"au-type-h2-height":{"$value":"24px","$type":"fontFamily"},"au-type-h2-weight":{"$value":"500","$type":"fontFamily","$description":"Medium:区块标题"},"au-type-body-size":{"$value":"14px","$type":"fontFamily"},"au-type-body-height":{"$value":"22px","$type":"fontFamily"},"au-type-body-weight":{"$value":"400","$type":"fontFamily","$description":"Regular:正文、表格、表单"},"au-type-caption-size":{"$value":"12px","$type":"fontFamily"},"au-type-caption-height":{"$value":"20px","$type":"fontFamily"},"au-type-caption-weight":{"$value":"400","$type":"fontFamily","$description":"Regular:辅助说明、时间戳"}},"spacing":{"au-space-4":{"$value":"4px","$type":"dimension"},"au-space-8":{"$value":"8px","$type":"dimension"},"au-space-12":{"$value":"12px","$type":"dimension"},"au-space-16":{"$value":"16px","$type":"dimension"},"au-space-20":{"$value":"20px","$type":"dimension"},"au-space-24":{"$value":"24px","$type":"dimension"},"au-space-32":{"$value":"32px","$type":"dimension"},"au-space-40":{"$value":"40px","$type":"dimension"},"au-space-48":{"$value":"48px","$type":"dimension"},"au-space-64":{"$value":"64px","$type":"dimension"}},"radius":{"au-radius-small":{"$value":"2px","$type":"dimension","$description":"标签、徽章、复选框"},"au-radius-base":{"$value":"4px","$type":"dimension","$description":"按钮、输入框、选择器"},"au-radius-medium":{"$value":"6px","$type":"dimension","$description":"表格、卡片内部元素、Popover、日期面板"},"au-radius-large":{"$value":"8px","$type":"dimension","$description":"卡片、弹窗、抽屉"}},"shadow":{"au-shadow-low":{"$value":"0 1px 4px rgba(0, 0, 0, 0.06)","$type":"shadow","$description":"卡片默认"},"au-shadow-medium":{"$value":"0 4px 12px rgba(0, 0, 0, 0.08)","$type":"shadow","$description":"卡片悬停、下拉菜单、Popover"},"au-shadow-high":{"$value":"0 8px 24px rgba(0, 0, 0, 0.12)","$type":"shadow","$description":"弹窗、抽屉"}},"motion":{"au-duration-fast":{"$value":"0.2s","$type":"other"},"au-duration-base":{"$value":"0.3s","$type":"other"},"au-duration-slow":{"$value":"0.4s","$type":"other"},"au-ease-standard":{"$value":"ease","$type":"other"},"au-ease-out":{"$value":"ease-out","$type":"other"},"au-ease-in-out":{"$value":"ease-in-out","$type":"other"}},"size":{"au-icon-size-16":{"$value":"16px","$type":"dimension"},"au-icon-size-20":{"$value":"20px","$type":"dimension"},"au-icon-size-24":{"$value":"24px","$type":"dimension"},"au-control-height-small":{"$value":"24px","$type":"dimension"},"au-control-height-default":{"$value":"32px","$type":"dimension"},"au-control-height-large":{"$value":"40px","$type":"dimension"}}}}