Files
hms/docs/design/mp-05-mall-v2/tokens.json
iven 09013ab94a feat(mp): 积分商城 V2 重设计 — design-handoff 全流程
- 新增 4 个 UI 组件: PointsCard/ProductCard/CheckinCalendar/CheckinModal
- 商城首页 V2: 积分卡 + 快捷操作 + 分类标签 + 商品网格
- 商品详情 V2: 大图 + 信息卡 + 库存/余额状态 + 底部操作栏
- TabBar 新增商城入口(5 Tab: 首页/健康/商城/助手/我的)
- 设计原型 docs/design/mp-05-mall-v2.html + SPEC.md 交付包
- CLAUDE.md 安全规范加固: 新增 §3.7 安全规范 6 条 + Feature DoD 安全清单扩展
2026-05-22 19:15:41 +08:00

320 lines
8.3 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.
{
"source": null,
"variant": "patient",
"matched": {
"T.pri": {
"method": "alias",
"confidence": "confirmed",
"token": "--tk-pri",
"scssVar": null,
"variant": "patient",
"prototypeValue": "#C4623A",
"tokenValue": "#C4623A"
},
"T.priL": {
"method": "alias",
"confidence": "confirmed",
"token": "--tk-pri-l",
"scssVar": null,
"variant": "patient",
"prototypeValue": "#F0DDD4",
"tokenValue": "#F0DDD4"
},
"T.priD": {
"method": "alias",
"confidence": "confirmed",
"token": "--tk-pri-d",
"scssVar": null,
"variant": "patient",
"prototypeValue": "#8B3E1F",
"tokenValue": "#8B3E1F"
},
"T.bg": {
"method": "alias",
"confidence": "pending",
"token": null,
"scssVar": "$bg",
"tokenValue": "#F5F0EB",
"note": "原型页面背景色tokens.scss 未声明为 CSS 变量,直接用 $bg SCSS 变量",
"prototypeValue": "#F5F0EB"
},
"T.card": {
"method": "alias",
"confidence": "confirmed",
"token": "--tk-card-bg",
"scssVar": null,
"prototypeValue": "#FFFFFF",
"tokenValue": "#FFFFFF"
},
"T.surface": {
"method": "alias",
"confidence": "approximate",
"token": "--tk-card-bg",
"scssVar": null,
"note": "原型中 surface ≈ 卡片白底",
"prototypeValue": "#EDE8E2",
"tokenValue": "#FFFFFF"
},
"T.tx": {
"method": "alias",
"confidence": "pending",
"token": null,
"scssVar": "$tx",
"tokenValue": "#2D2A26",
"note": "主文字色tokens.scss 未声明为 CSS 变量,直接用 $tx SCSS 变量",
"prototypeValue": "#2D2A26"
},
"T.tx2": {
"method": "alias",
"confidence": "pending",
"token": null,
"scssVar": "$tx2",
"tokenValue": "#5A554F",
"note": "次文字色tokens.scss 未声明elder-mode 下 --tk-text-secondary 覆盖为此值",
"prototypeValue": "#5A554F"
},
"T.tx3": {
"method": "alias",
"confidence": "confirmed",
"token": "--tk-text-secondary",
"scssVar": "$tx3",
"prototypeValue": "#78716C",
"tokenValue": "#78716C"
},
"T.bd": {
"method": "alias",
"confidence": "pending",
"token": null,
"scssVar": "$bd",
"tokenValue": "#E8E2DC",
"note": "边框色不是圆角tokens.scss 未声明为 CSS 变量",
"prototypeValue": "#E8E2DC"
},
"T.bdL": {
"token": null,
"scssVar": "$bd-l",
"prototypeValue": "#F0EBE5",
"tokenValue": "#F0EBE5",
"method": "value_exact",
"confidence": "pending",
"role": "浅边框色",
"note": "匹配到 SCSS 变量 $bd-l但无对应 CSS Token"
},
"T.acc": {
"token": null,
"scssVar": "$acc",
"prototypeValue": "#5B7A5E",
"tokenValue": "#5B7A5E",
"method": "value_exact",
"confidence": "pending",
"role": "鼠尾草绿/成功色",
"note": "匹配到 SCSS 变量 $acc但无对应 CSS Token"
},
"T.accL": {
"token": null,
"scssVar": "$acc-l",
"prototypeValue": "#E8F0E8",
"tokenValue": "#E8F0E8",
"method": "value_exact",
"confidence": "pending",
"role": "成功浅色",
"note": "匹配到 SCSS 变量 $acc-l但无对应 CSS Token"
},
"T.wrn": {
"token": null,
"scssVar": "$wrn",
"prototypeValue": "#C4873A",
"tokenValue": "#C4873A",
"method": "value_exact",
"confidence": "pending",
"role": "警告色/暖琥珀",
"note": "匹配到 SCSS 变量 $wrn但无对应 CSS Token"
},
"T.wrnL": {
"token": null,
"scssVar": "$wrn-l",
"prototypeValue": "#FFF3E0",
"tokenValue": "#FFF3E0",
"method": "value_exact",
"confidence": "pending",
"role": "警告浅色",
"note": "匹配到 SCSS 变量 $wrn-l但无对应 CSS Token"
},
"T.dan": {
"token": null,
"scssVar": "$dan",
"prototypeValue": "#B54A4A",
"tokenValue": "#B54A4A",
"method": "value_exact",
"confidence": "pending",
"role": "危险色/柔红",
"note": "匹配到 SCSS 变量 $dan但无对应 CSS Token"
},
"T.danL": {
"token": null,
"scssVar": "$dan-l",
"prototypeValue": "#FDEAEA",
"tokenValue": "#FDEAEA",
"method": "value_exact",
"confidence": "pending",
"role": "危险浅色",
"note": "匹配到 SCSS 变量 $dan-l但无对应 CSS Token"
},
"T.white": {
"token": "--tk-card-bg",
"scssVar": "$card",
"prototypeValue": "#FFFFFF",
"tokenValue": "#FFFFFF",
"method": "value_exact",
"confidence": "confirmed",
"role": "卡片白底"
},
"T.r": {
"method": "alias",
"confidence": "confirmed",
"token": "--tk-card-radius",
"scssVar": "$r",
"prototypeValue": "16",
"tokenValue": "16px"
},
"T.rSm": {
"method": "alias",
"confidence": "pending",
"token": null,
"scssVar": "$r-sm",
"tokenValue": "12px",
"note": "tokens.scss 未声明,需添加 --tk-radius-sm 或直接用 $r-sm SCSS 变量",
"prototypeValue": "12"
},
"T.rXs": {
"token": null,
"scssVar": "$r-xs",
"prototypeValue": "8",
"tokenValue": "8px",
"method": "value_exact",
"confidence": "pending",
"note": "匹配到 SCSS 变量 $r-xs但无对应 CSS Token"
},
"T.rPill": {
"token": "--tk-section-gap",
"scssVar": "$sp-section",
"prototypeValue": "20",
"tokenValue": "20px",
"method": "value_exact",
"confidence": "confirmed"
}
},
"unmatched": [
"T.serif",
"T.sans"
],
"inlineTokenMap": {
"fontSize:28": {
"token": "--tk-font-h1",
"tokenValue": "28px",
"confidence": "confirmed",
"method": "value_exact"
},
"fontSize:22": {
"token": "--tk-font-h2",
"tokenValue": "22px",
"confidence": "confirmed",
"method": "value_exact"
},
"fontSize:18": {
"token": "--tk-font-body-lg",
"tokenValue": "18px",
"confidence": "confirmed",
"method": "value_exact"
},
"fontSize:16": {
"token": "--tk-font-body",
"tokenValue": "16px",
"confidence": "confirmed",
"method": "value_exact"
},
"fontSize:14": {
"token": "--tk-font-body-sm",
"tokenValue": "14px",
"confidence": "confirmed",
"method": "value_exact"
},
"fontSize:13": {
"token": "--tk-font-cap",
"tokenValue": "13px",
"confidence": "confirmed",
"method": "value_exact"
},
"fontSize:11": {
"token": "--tk-font-micro",
"tokenValue": "11px",
"confidence": "confirmed",
"method": "value_exact"
},
"padding:20": {
"token": "--tk-section-gap",
"scssVar": "$sp-section",
"tokenValue": "20px",
"confidence": "confirmed",
"method": "value_exact"
},
"padding:12": {
"token": "--tk-gap-sm",
"scssVar": "$sp-sm",
"tokenValue": "12px",
"confidence": "confirmed",
"method": "value_exact"
},
"borderRadius:20": {
"token": null,
"scssVar": "$r-lg",
"tokenValue": "20px",
"confidence": "pending",
"method": "value_exact",
"note": "匹配到 SCSS 变量 $r-lg但无对应 CSS Token"
},
"gap:12": {
"token": "--tk-gap-sm",
"scssVar": "$sp-sm",
"tokenValue": "12px",
"confidence": "confirmed",
"method": "value_exact"
},
"gap:8": {
"token": "--tk-gap-xs",
"scssVar": "$sp-xs",
"tokenValue": "8px",
"confidence": "confirmed",
"method": "value_exact"
},
"gap:4": {
"token": "--tk-gap-2xs",
"scssVar": "$sp-2xs",
"tokenValue": "4px",
"confidence": "confirmed",
"method": "value_exact"
},
"width:52": {
"token": "--tk-btn-primary-h",
"tokenValue": "52px",
"confidence": "confirmed",
"method": "value_exact"
},
"height:52": {
"token": "--tk-btn-primary-h",
"tokenValue": "52px",
"confidence": "confirmed",
"method": "value_exact"
}
},
"summary": {
"total": 111,
"aliasTokens": 24,
"inlineValues": 87,
"confirmed": 22,
"pending": 14,
"approximate": 1,
"unmatched": 2
}
}