2.9 KiB
2.9 KiB
Phase 0 门店开通与员工邀请验收记录
日期:2026-08-02
状态:Code Complete / Ready for Release,待生产迁移与微信真机验收
生产数据库与服务器:本批未触碰
1. 自动验证
| 检查 | 结果 |
|---|---|
| Backend tests | PASS(193 tests,0 failure/error/skip) |
| Backend package | PASS |
| Admin production build | PASS |
| H5 build | PASS |
| mp-weixin build + app-json verification | PASS |
| Ontology validation/drift | PASS(258 条;65/65 HTTP、15/15 JPA、0 drift) |
| Release shell syntax | PASS(backend/deploy/*.sh) |
2. 自动化覆盖
- token 原文与数据库 hash 分离、手机号脱敏;
- 邀请手机号不匹配不创建账号;
- 接受成功创建 staff、消费邀请、写低敏 AuditLog;
- 开通必填项缺失不能完成,单人门店可完成;
- 已完成开通的门店不能再清空名称、电话或地址;
- 老板微信核验注册不产生可登录密码,并同时写入
store_registeredBusinessEvent 与 AuditLog; - Audit metadata 拒绝 token/手机号;
- 门店/角色/删除状态变化会立即让旧 session 失效;
- Nginx Petstore 专用 access log 只记录
$uri,不记录携带报告/邀请 token 的 query; - 第六个迁移包含 token hash、状态机与六项回执不变量。
3. 三角色真机验收(发布前必做)
Boss
- 新微信手机号创建门店,无手填手机号/明文密码;自动登录后进入开通清单。
- 缺地址时不能完成;补齐资料、确认容量和服务后可完成;单人门店无需先邀请员工。
- 创建 3/7/14/30 天邀请,创建后只显示一次原始口令;可分享小程序卡片。
- 邀请列表只有脱敏手机号;pending 可撤销,accepted 不能撤销。
Staff
- 从卡片进入看到正确门店、姓名、脱敏手机号与有效期。
- 不匹配微信手机号被拒绝且不创建账号;匹配手机号成功加入并直接获得 staff session。
- 邀请重复打开幂等登录同一 staff;过期/撤销邀请有明确提示。
- 被老板删除后,已有页面下一次受保护请求立即 401 并要求重新登录。
Customer / 权限反例
- customer 不能查看/创建/撤销门店邀请,也不能完成开通。
- 已有 customer 手机号接受员工邀请明确返回账号冲突,不静默改变角色。
- legacy 永久邀请码查询/注册、直接创建员工、旧老板/门店注册入口均返回明确停用码且无写入。
4. 发布门禁
- 按固定顺序执行第六个迁移
20260802_create_store_onboarding.sql,六项验证均为 0。 - 以最终生产配置运行 JPA
validate+ 24 项只读不变量预检。 - 微信体验版双微信账号完成 Boss → 分享 → Staff 接受全链路;证据不包含完整手机号或 token。
- 旧版本回滚已确认忽略新增表/列;不执行 down migration。