小冈两笔 feat 独立复验(小齐 · 2026-09-21 23:5x)

复验对象:7534cecf(merchant-store + app.ts scene 双入口分流)、4db7072a(商户页模板三段接线)
复验方式:不采信自报,全部由复验方重跑取回显
判定:✅ 通过(可关账),另附 3 项独立问题(A/B/C),其中 A/B 属门禁平台缺陷、C 需真机确认

一、证据链(全部为复验方实跑回显)

#项命令/方式结果
1身份链git log -1 --format='%an<%ae> %cn<%ce>'author=committer=小冈\<xiaogang@kailash.media\>,无代签 ✅
2后端语法python3 -m py_compileOK ✅
3后端端点AST 解析装饰器4 端点(GET 公开 / GET 列表 / GET 单 / PUT 保存),与自报"4 端点"一致 ✅
4路由注册git show 4db7072a -- backend/app/main.pyapp.include_router(miniapp_merchant_pages.router) 已注入 ✅
5页面注册app.json 解析pages/merchant-store/merchant-store 在 pages(46 页)✅;home 在 tabBar ⇒ switchTab 回平台有效 ✅
6契约(C端→后端)grep 后端路由/api/miniapp/merchants/{id}/presentation(feed_demand.py:463,prefix /api/miniapp)✅;/api/miniapp/merchant-pages/{id}(新文件:119)✅
7实打 stagingcurl http://100.64.1.230:8089/...公开端点 merchant-pages/1 → HTTP 200 {"ok":true,"data":null}(无模板降级,符合设计)✅
8鉴权实打无 token 打 admin 端点GET 列表 → 401 未登录 ✅;PUT 保存 → 401 未登录 ✅(get_current_user 真实生效)
9a 端编译tsc --noEmit --skipLibCheckexit=0 ✅
10a 端构建npm run build(tsc && vite build)71 modules,built in 505ms,exit=0 ✅
11门禁·导航check_v2_navigation.py46 页 / 240 文件;dead 0 / tab_misuse 0 / nontab_switch 0 ✅
12门禁·提审check_v2_release_ready.py保留页 46,提审阻断项 0 ✅
13门禁·wxml 语法check_v2_wxml_syntax.py(本机路径重跑)scanned 112 / bad_files 0(selftest 通过)✅
14门禁·裸属性check_v2_wxml_bare_attr.py(同上)scanned 112 / 0 ✅
15门禁·接线check_v2_wiring_all.py(同上)128 个 ts / 47 条路径 / 84 处 ✅
⚠️ 第 13–15 项:原脚本在本机跑会扫到 0 个文件而恒绿(见问题 A),复验方已用本机路径重跑,结果才有效。

二、发现的问题(与这两笔的"通过"判定分开处理)

🔴 A. 门禁脚本硬编码他人机器路径 —— 9 个脚本在非 lean 机器上恒假绿

scripts/check_v2_wxml_syntax.py:12   ROOT = "/Users/lean/dev/kailash-bobo/miniprogram-v2"
scripts/check_v2_wiring_all.py:13    同上
scripts/check_v2_wxml_bare_attr.py:15 同上
…
共 9 个脚本含 /Users/lean/ 硬编码

🔴 B. 接线门禁漏统计"反引号模板字符串"调用

🟡 C. onShow 重复 reLaunch 风险(需真机确认,未验)

⚪ D. 建表未走正式迁移(次要·沿用既有范式)

⚪ E. VI 一致性缺口(次要)


三、本次复验未覆盖(如实声明)

  1. wcc 真编译未跑 —— 需调微信开发者工具 CLI(cli preview),会占用/登录 IDE,本轮未做;已用 wxml 语法/裸属性/断标签/导航 4 项静态门禁等价覆盖。
  2. 真机 scene 行为未验 —— 即问题 C。
  3. 字段级契约未验 —— 只验了端点存在性与 HTTP 行为,未逐字段比对 presentation 返回与前端 interface Presentation。
  4. admin 登录后 CRUD 未实跑 —— 只验了无 token 时 401;登录态下的保存/版本自增/白名单 422 未跑(需 admin 凭据)。

四、结论

-- 署名:小齐