Files
qipai/docs/devlogs/2026-08-10-M08-C-管理员员工端.md
T

31 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# M08-C 管理员/员工端
## 2026-08-10 门店概况、房态与订单总览
- `ENGINEERING_DELTA=YES`
- 同一微信小程序根据 `/app-api/auth/me` 的角色动态展示“门店管理”入口;`STAFF``STORE_ADMIN``TENANT_ADMIN``PLATFORM_ADMIN` 可进入,保洁角色继续使用独立任务入口。
- 新增门店运营页,按授权门店切换,展示房间总数、空闲、占用、待处理和活跃订单,并列出完整房态和近期订单。
- 新增 `/app-api/management/stores``/app-api/management/stores/:storeId/rooms``/app-api/management/rooms/:id/status`;读取要求 `store.operation.read`,房态调整和启停要求 `store.operation.write` 或租户/平台管理权限。
- 房态写操作记录 `ROOM_STATUS_UPDATED` 审计日志,metadata 包含门店、配置状态、运营状态和操作原因。
- 新增 `2026081001_m08c_staff_management_access` up/down/verify,为既有 STAFF 角色补 `profile.read``store.operation.read` 最小只读权限;后续登录动态补权逻辑同步更新。
- 新增 `scripts/check-miniapp-m08-c.mjs` 并接入 Windows 全量门禁,覆盖角色入口、页面注册、管理 API、只读/可写按钮和迁移。
- WSL MySQL 8.4.10 往返期间发现并修复两处既有内部问题:M08-A 充值迁移验证的 5 列/2 索引期望漏项导致 M08-B 规则错位;定价仓储误读不存在的 `qipai_rooms.room_category_id`,已改为迁移真实字段 `category_id` 并补契约断言。
## 测试证据
- `powershell -ExecutionPolicy Bypass -File scripts/dev/windows/test-all.ps1`:退出码 0;后端全量测试、后台生产构建、M08-A/B/C 静态验收、迁移计划、固定域名、敏感信息、仓库完整性全部通过。
- WSL 原生临时副本 + MySQL 8.4.10`up → verify → down → up → verify` 退出码 0136 条 up、114 条 verify、130 条 down,临时库与账号自动清理。
- `GET /app-api/management/stores` 与授权门店房态读取:200;STORE_ADMIN 房态更新:200;只有 `store.operation.read` 的 STAFF 房态写入:403。
- 已知非阻塞提示:参考目录既有 xjar 超过 100MBElement Plus 产物 chunk 超过 500kBWSL npm 报告 4 个 high audit 项及 Node 26 allow-scripts 提示,未执行破坏性自动升级。
## 变更影响
- 数据库:新增 STAFF 最小只读权限迁移,可回滚。
- API:新增 3 个小程序管理端点;既有后台管理 API 不变。
- 部署:后端、小程序和数据库迁移有变化;生产更新时必须先备份,再由菜单更新流程执行迁移与后端/小程序发布,未自动部署生产。
- 工程提交:`b70ada0`,已推送并验证 `HEAD == origin/main`
## 状态
M08-C 保持 `DOING`。门店概况、授权房态、订单总览和最小房态操作已完成;下一工程增量继续订单筛选、订单处置和管理员代下单,不移动到 M08-D。