依据:WIP-343③「332 §3.3 已上 main——复核 home 顶栏渲染」;承接 12:5x PARTIAL 判定(当时消费层未落地)
结论:消费层 §3.3 已上 main,销项 PARTIAL→FULL ✅
| # | 交接文档 §3.3 要求 | main 实测 | 判定 |
|---|---|---|---|
| C1 | typings 扩 themePrimary 字段 | ✅ miniprogram/typings/api.d.ts 有 themePrimary? | PASS |
| C2 | brand.ts BrandAssets 扩字段 + 兜底 | ✅ brand.ts:19/23-24/34/59-61:字段+DEFAULT_THEME_PRIMARY='#9B2915'+HEX6 正则+.toUpperCase() 归一化 | PASS |
| C3 | home.ts setData themeVars | ✅ home.ts:36-38/76 themeVars: \--theme-primary:${b.themePrimary}\`` | PASS |
| C4 | home.wxml 根节点绑定 | ✅ home.wxml:2 <view class="home-page" style="{{themeVars}}"> | PASS |
| C5 | 顶栏/brand-tibetan 消费主色 | ✅ home.wxml:28 style="color:var(--theme-primary, var(--color-primary));" | PASS |
| C6 | app.wxss 主色 vars 定义 | ✅ app.wxss:6-9 --color-primary/#9B2915 及深/浅/极浅四档 | PASS |
| C7 | 全 C 端无缺失引用 | ✅ 唯一 var(--theme-primary 消费点已接入(home.wxml:28),兜底 var(--color-primary) 备用 | PASS |
后台改品牌 themePrimary → PUT /config/site/brand(直写,注册表放行对象)或治理 publish/rollback(_sync_brand 原子 upsert brand JSONB 含 themePrimary)
→ GET /config/site 顶层展平 themePrimary(miniapp_site.py L79,后端读源已修)
→ C端 brand.ts normalizeHexColor 归一化 + DEFAULT_THEME_PRIMARY 兜底
→ home.ts setData themeVars → home.wxml 根节点 style 注入 → brand-tibetan 用 var(--theme-primary, var(--color-primary)) 渲染 ✅
链路全通:白标化「换主色」可在后台改值 → C端顶栏藏文明渲染为新主色。