Appearance
Acc 发版验收流程(M4 · STRICT · 月结)
与 miniapp-acc-mobile-write.md、permission-staging-checklist.md、acc-product-operations.md 配套。
目的:把「经理结算 M4」「路由严格模式」「月结巡检」从文档勾选变成 可重复执行的命令 + 签字表。
运维速查(命令 + STRICT + M4 表 + E2E Secrets):release-ops-quickstart.md
1. 自动化(本地 / CI,须先 pnpm run check 通过)
在仓库根目录:
bash
pnpm run check:release-acceptance等价于依次执行:
| 步骤 | 命令 | 覆盖 |
|---|---|---|
| 预发权限与路由 | pnpm run check:staging | registry、Jest 权限、check:preset-roles、env.staging.example 的 *_ROUTE_GUARD_STRICT |
| 预置角色绑定 | (已含于 staging) | MINI_WORKER / 记录员工作台等 |
| 月结 SQL 巡检 | pnpm --filter taskflow-backend run check:month-close | 需 backend/.env 的 DATABASE_URL;只读 |
可选 Web 冒烟(本地已起 pnpm run dev:web):
bash
pnpm run test:e2e2. 环境:开启 STRICT(预发 / 上线前)
- 合并
deploy/docker/snippets/permission-strict.env.snippet→.env.pack(或merge:env-pack-strict)。 - 确认:
ini
ACC_ROUTE_GUARD_STRICT=true
SYS_ROUTE_GUARD_STRICT=truepnpm run check:env-pack(对实际deploy/docker/.env.pack)。- 部署后 重启 gateway / sys / acc。
- 填写 permission-staging-checklist.md §4.2 签字表。
回滚:去掉上述两项或设为 false 并重启;Service 层 assertAcc* 仍生效。
3. 月结(发版窗口)
| 方式 | 操作 |
|---|---|
| 命令行 | pnpm --filter taskflow-backend run check:month-close(可选 --site-id=<uuid>) |
| Web | 记账中心 → 运维巡检 /acc/ops |
| 小程序 | 经理 报表 → 月结巡检(ADMIN + 已选站点) |
发现差异须在 PC 处理后再月结;与 §1 脚本语义一致。
4. M4 经理结算(手工,约 15 分钟)
使用预置角色 MINI_MANAGER(含 btn_acc_settlement_write)与 ACC_PC_SETTLEMENT_READ(只读对照)各测一遍。
| # | 用例 | 通过 |
|---|---|---|
| 1 | 无 btn_acc_settlement_write:结算列表无 FAB、不可进 settlement-create | □ |
| 2 | settlement-create:勾选待结算记工保存,与 Web 列表/详情一致 | □ |
| 3 | 结算列表:工人关键字、结算日期区间筛选与 Web 同参 | □ |
| 4 | settlement-detail:已结算可「标记已发放」;已发放可预览凭证 | □ |
| 5 | 工人 payslip(MINI_WORKER + 档案绑定):仅本人;列表默认不含草稿 | □ |
| 6 | 经理 报表 → 站点概览:趋势图与合计与 Web 首页同接口一致 | □ |
| 7 | Web 工人档案 → 导出记工汇总:选工人+日期导出 CSV | □ |
改 seed / 角色后:pnpm --filter taskflow-backend run db:sync-roles-perms,用户 重新登录。
5. 发版签字(运维存档)
| 项 | 通过 | 执行人 / 日期 |
|---|---|---|
pnpm run check | □ | |
pnpm run check:release-acceptance | □ | |
| STRICT 已开且 §4.2 已签 | □ | |
check:month-close 或 Web/小程序月结巡检无阻塞项 | □ | |
| M4 表 §4 已勾 | □ | |
db:sync-roles-perms 已跑(若本版改权限) | □ |