用途:机位拿到这一个文件即可照跑 G7-2 全部真机任务,无需再翻 338/348/353/359 四份。
构成:游客 T1-T5(10 勾,evidence/c1/348/游客5任务真机执行核对.md)+ 主理人 T6-T10(10 勾全 UI 可勾 —— T9 回复 UI 已落地 WIP-362① afee39c1,evidence/c1/353/主理人5任务真机执行核对.md)。
状态:判据/数据链/载体已全部备齐(一号协调完成),等刘总/机位窗口开跑。一号沙箱无微信开发者工具 GUI/无真机/不可达 staging 8089,物理受限项如实登记,不代跑不伪造。
0. 一句话给机位
两个 App、两类登录、一条数据链、20 个勾。先按 §3 造一条测试订单数据链,再游客在小程序跑 T1-T5,主理人在 b-workbench 网页(b.kailashi.cn)+ 小程序核销台跑 T6-T10,每勾截图按 §5 命名,结果统一回填到本文件 §7 一张表。
📌 T9 已可 UI 勾:b-workbench 底栏「评价」tab(路由 /reviews)→ 列表点「回复」→ 提交。该动作 = 353 T9 两勾 + WIP-254① T9 真机回归同时闭环,一趟两用。
1. 载体地图(开错 App 就找不到入口)
| 角色 | 任务 | 打开什么 | 登录身份 |
| 游客 | T1 找服务 / T2 下单 / T3 支付态 / T4 评价 / T5 福钥 | 微信小程序 miniprogram/(appid wx7ec46db1834dbd14),微信开发者工具或真机预览 | 游客账号(dev_id 或 password-login 普通用户) |
| 主理人 | T6 接单 / T8 对账 / T10 设置 | b-workbench H5:正式域名 https://b.kailashi.cn(刘总 2026-09-02 拍板);若 staging 未部署该前端,本地 cd b-workbench && npm run dev 起 Vite(proxy 转后端) | is_test 商户 manager(或员工) |
| 主理人 | T7 核销 | 小程序 pages/workbench-redeem 核销台(不是 b-workbench!) | is_test 商户/员工登录态 |
| 主理人 | T9 回复评价 | ✅ b-workbench /reviews UI 已落地(WIP-362① afee39c1)——底栏「评价」tab,列表含回复链+回复弹层 | is_test 商户 token |
后端统一前缀 /api/miniapp;a端 admin-console 可自建 is_test 商户(手机号+密码),建完把账号给机位登录 b-workbench 与小程序核销台。
2. 环境连接(机位/运维确认项)
- 后端:staging(AGENTS.md §6:目录 /srv/kailash-staging,端口 8089 仅本机);正式
https://api.kailashi.cn。真机跑 staging 需能访问到 staging API(隧道/内网/由运维放通),一号沙箱不可达 8089,此为机位/运维侧前置。 - b-workbench:正式
https://b.kailashi.cn;staging 前端是否已部署请机位/运维确认,未部署则本地 npm run dev(Vite proxy 已配 /api 转发)。 - 小程序:微信开发者工具打开
miniprogram/,后端 base 指向 staging;真机扫预览二维码。 - 测试数据纪律(AGENTS.md §6):测试数据带「冒烟测试-」前缀;测试账号用
dev_ 前缀或 is_test 商户,跑完清理。
3. 数据依赖链(必须按序,否则后面任务无米下锅)
T1-T10 不是 10 件独立事,是同一条订单的生命周期,乱序会导致 T6/T7/T9 无数据:
① 主理人侧:a端自建 is_test 商户 M + 上架 1 个可订服务/套餐 P(「冒烟测试-」前缀)
② 游客 T1:浏览找到 P
③ 游客 T2:下单 P → 生成订单 O(precheck → POST /orders,booked)
④ 游客 T3:支付 O(支付态轮询;staging 测试支付口径以现场为准,3P 线下/福钥按契约)
⑤ 主理人 T6:b-workbench Orders 看到待确认 O → merchant-confirm(booked→confirmed)
⑥ 主理人 T7:小程序核销台扫码 → workbench/redeem/confirm(服务履约核销)
⑦ 游客侧:confirm-consumed 游客确认已消费(D2,注意这是游客动作不是主理人核销)
⑧ 游客 T4:对已消费 O 写评价(review) ← T9 的前置
⑨ 主理人 T9:**b-workbench `/reviews` 页**对该评价点「回复」→ 提交(✅ UI 已落地,WIP-362①,含 500 字 wxsec 校验)
⑩ 主理人 T8:Workbench 看 overview/payments 对账(可在履约后任意时点)
⑪ 主理人 T10:PaymentSettings 改收款方式并回读
⑫ 游客 T5:key-tasks 看福钥余额/流水(核销后福钥变动可在此核对)
异常勾不依赖主链成功,可用独立的越权/重复/非法输入构造(见各表异常行)。
4. 账号前置清单(机位开跑前向 a端/运维要齐)
- [ ] 游客测试账号(
dev_ 前缀或手机号密码普通用户),能登录小程序 - [ ] is_test 商户 M 账号(manager 角色,手机号+密码),能登录 b-workbench 与小程序核销台
- [ ] 另一个非本商户 is_test 商户 M2 账号(T9 归属 403 / G7-4 越权异常勾必备)
- [ ] 商户 M 名下 ≥1 个已上架可订服务 P(无则 T1/T2 空跑)
- [ ] staging API 可达性 + b-workbench 访问方式确认(§2)
5. 截图与证据命名规范
- 目录:游客图放
docs/delivery/evidence/c1/348/shots/,主理人图放 docs/delivery/evidence/c1/353/shots/(机位建目录)。 - 文件名:
T{编号}-{pos|neg}-{界面或接口}.png,例:T6-pos-orders-confirm.png、T9-neg-403-not-owner.png。 - 每张图要能看清:界面结果 或 network 面板的请求 URL + 状态码 + 响应关键字段。
- 异常勾优先截 network(状态码 409/403/422/404)+ 前端提示。
6. 已知阻塞/缺口(一号前置核实,机位勿对空 UI 造假)
| 编号 | 项 | 事实 | 处置 |
| A(已修正) | T7 端点错位 | 338 原写 orders/{id}/confirm-consumed,后端注释实锤是游客 D2 确认/异议;主理人核销真实端点 POST /miniapp/workbench/redeem/confirm(小程序 workbench-redeem 台,scan/confirm/batch/revoke/conflicts,商户七校验) | 353 表已改;338 用例挂勘误 |
| B(前端缺口) | ✅ 已解除(WIP-362① afee39c1,b-workbench /reviews UI 落地) | T9 回复评价原三端零 UI,一号 254① 已实现 b-workbench 评价列表+回复弹层(GET /reviews + POST /reviews/{id}/reply,500 字 wxsec,replier_role 商户自动判定) | T9 正勾可走 UI 真机勾(b-workbench 底栏「评价」→ 回复);异常勾(非本商户 403)可 UI 越权点。254① T9 回归与本表 T9 两勾同一窗口同一动作 |
| C | staging/b-workbench 可达 | 一号沙箱不可达 8089,b.kailashi.cn staging 部署态待确认 | 机位/运维 §2 放通/确认 |
7. 结果回填总表(机位跑完在这一处勾,再同步贴 TASKS 348/353 行尾)
| 任务 | 正向 | 异常 | 载体 | 截图 | 备注 |
| T1 找服务 | ☐ | ☐ | 小程序 | | |
| T2 下单 | ☐ | ☐ | 小程序 | | |
| T3 支付态 | ☐ | ☐ | 小程序 | | |
| T4 评价 | ☐ | ☐(🔴未消费 403/422 防伪 R1) | 小程序 | | |
| T5 福钥 | ☐ | ☐(零钥 D10 不报错) | 小程序 | | |
| T6 接单 | ☐ | ☐(重复/归属 409) | b-workbench | | |
| T7 核销 | ☐ | ☐(非员工 403/重复 revoke/conflicts) | 小程序核销台 | | |
| T8 对账 | ☐ | ☐(金额实时重算) | b-workbench | | |
| T9 回复评价 | ☐(UI 勾:b-workbench「评价」→回复,WIP-362①) | ☐(非本商户 403,UI 越权点) | b-workbench /reviews(UI 已落地) | | |
| T10 设置 | ☐ | ☐(非法参数 422) | b-workbench | | |
结算口径:游客满 ___/10;主理人 UI 可达满 10/10(T9 UI 已落地 WIP-362① afee39c1,无阻塞)。G7-2 真机门 = 游客 10/10 + 主理人 10/10 全绿;254① T9 真机回归并入 T9 两勾同步闭环。
8. 回执格式(机位跑完)
【G7-2 真机 20 勾回执 · 机位】时间=?
游客 T1-T5:__/10(逐任务正/异)
主理人 T6-T10:UI 可达 **__/10**(T9 UI=WIP-362① afee39c1 已落地);T9 正勾=UI 回复 ✅ / 异常 403=?
数据链订单号 O=?;is_test 商户 M=?;截图目录 shots/
FAIL 项:T?_正/异=原因(页面/接口/判据哪环)
阻塞:A 已修正 / B UI 已落地(WIP-362① afee39c1) / C 环境=?
判据核对:与 338 用例逐条一致(T7 以 workbench/redeem/confirm 勘误版为准)
9. 生产首笔关键链路时延采样(义父补充 · 2026-09-16)
窗口开启时,随 20 勾顺带采集生产环境首个真机性能采样——给基线补生产数据点。测试账号用 dev_/is_test 商户,跑完清理。
| 关键链路 | 采样点 | DevTools/Tab Performance(自 Network 面板起止) | 判定参考 |
| 登录 | 点「登录」→ 页面可交互 | 登录接口响应时长 + 页面跳转 | 真实首采样,不做标准基线判定,仅记录曲线 |
| 商品列表 | 进商品列表 → 首屏渲染完成 | 列表接口响应时长 | 同上 |
| 商品详情 | 点商品 → 详情可操作 | 详情接口响应时长 | 同上 |
| 下单 precheck | 点「去结算」→ 下单校验返回 | precheck/结算预检接口响应时长 | R1/波波基线比对素材 |
- 回填:本文件 §7 新增「latency」列或独立「sampling.md」,附 Network 起始→结束时间戳、接口 URL、首字节耗时
- 纪律:真实采样,禁止手工造数/臆造毫秒;机位环境(真机网络)与基线(sandbox)环境不同属正常,如实标注
- 样例产出:
evidence/335/02-config/ 或 evidence/c1/353/ 下 latency-prod-<date>.md
一号协调产出清单(本包关联)
- 修正:
evidence/c1/353/主理人5任务真机执行核对.md(T7 端点/载体、T9 UI 落地、T6/T8/T10 载体) - 新增:本协调包
evidence/c1/353/机位20勾协调包.md - 🔴 T9 前端缺口已关闭(WIP-362① afee39c1):一号已实现 b-workbench
/reviews 回复 UI,T9 正勾满权重;254① T9 真机回归并入 T9 两勾