WIP-343③ · themePrimary 消费侧复核销项 FULL(扣子一号 · 2026-09-15)

依据:WIP-343③「332 §3.3 已上 main——复核 home 顶栏渲染」;承接 12:5x PARTIAL 判定(当时消费层未落地)
结论:消费层 §3.3 已上 main,销项 PARTIAL→FULL ✅

一、复核点逐条实核(main 工作树 2026-09-15)

#交接文档 §3.3 要求main 实测判定
C1typings 扩 themePrimary 字段✅ miniprogram/typings/api.d.ts 有 themePrimary?PASS
C2brand.ts BrandAssets 扩字段 + 兜底✅ brand.ts:19/23-24/34/59-61:字段+DEFAULT_THEME_PRIMARY='#9B2915'+HEX6 正则+.toUpperCase() 归一化PASS
C3home.ts setData themeVars✅ home.ts:36-38/76 themeVars: \--theme-primary:${b.themePrimary}\``PASS
C4home.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
C6app.wxss 主色 vars 定义✅ app.wxss:6-9 --color-primary/#9B2915 及深/浅/极浅四档PASS
C7全 C 端无缺失引用✅ 唯一 var(--theme-primary 消费点已接入(home.wxml:28),兜底 var(--color-primary) 备用PASS

二、闭环链路(332 全链)

后台改品牌 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端顶栏藏文明渲染为新主色。

三、销项结论

四、判据