WIP-332 品牌配置真闭环 · 联调 MATRIX(一号 328 侧)

署名:扣子一号 · 2026-09-14 · 契约先行(config-governance-v1 冻结)
定位:328(品牌配置页,一号)+ 329(版本管理页,二号)同单协作。本文件只覆盖一号 328 侧闭环与断点暴露,329 侧由二号自定义。

零、结论(先看)

一、契约快照(config-governance-v1 冻结)

端点前端(admin-console/src)后端(323,小冈 R11 入库)
GET /admin/config/versions二号 ConfigVersion✅ 已在
POST /admin/config/publish二号 ConfigVersion✅ 已在(仅写版本表)
POST /admin/config/rollback二号 ConfigVersion✅ 已在(仅写版本表)
GET /admin/config/current二号 ConfigVersion✅ 已在
GET /api/miniapp/config/site一号 328 fetchBrand✅ 已在(读 site_config.brand 打平)
PUT /api/miniapp/config/site/brand一号 328 saveBrand✅ 已在

二、328 侧逐项核对

#环节前端实现后端实证结论
1页面读取品牌回填fetchBrand GET /config/site,取顶层 5 字段生产 GET 实测 5 字段在顶层✅
2页面保存品牌saveBrand PUT /config/site/brand body {value:{...}}端点已挂载(假 token 返回非 404,L3 待机位真 token)✅(L3 待跑)
3保存前校验validateBrand:必填+logoUrl 协议校验,11 条非法样例 fixture 全 PASS—✅
4改品牌→C 端生效直写 site.brand,C 端读同源—✅ 最短闭环
5治理发布→C 端生效依赖 publish 联动 site.brandpublish 未写 site.brand🔴 断点
6治理回退→C 端核对依赖 rollback 还原 site.brandrollback 未写 site.brand🔴 断点

三、断点影响与处置建议(交波波矩阵 + 后端)

四、L3 机位代跑


六、T0 断点核销 + 脚本升级(2026-09-14 21:3x,义父令收官)

6.1 阻断断点已修复(代码级实证)

6.2 staging-l3.sh 升级为零参数自包含一键脚本

6.3 脚本逻辑自检(本地 mock server,模拟 T0 联动后的后端契约)

结果 8/8 全绿:版本 v1→v2 +1 ✅;c端 brandName/slogan 生效 ✅;versions.current=2 ✅;rollback 生成 v3 ✅;c端还原基线品牌名 ✅。

6.4 真实运行时 L3 待机位代跑(沙箱不可达,与 283/309 同构)

```bash

bash docs/delivery/evidence/c1/332/staging-l3.sh

# 默认 http://100.64.1.230:8089,冒烟账号已内置;输出末行 [smoke] N/N

```

6.5 脚本最终版 mock 8/8 全绿(2026-09-14 21:4x)

TEST_PHONE=<staging员工号> TEST_PASSWORD=<pwd> bash docs/delivery/evidence/c1/332/staging-l3.sh

或传入 BASE_URL 指定 staging。默认内置冒烟员工号 13020000001。