From 47094d5309c3bc9df5ecc34e1c6010d7d09b5a7d Mon Sep 17 00:00:00 2001 From: Codex Date: Thu, 18 Jun 2026 14:46:31 +0800 Subject: [PATCH] =?UTF-8?q?docs(M02-D):=20=E8=AE=B0=E5=BD=95=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E6=9D=83=E9=99=90=E9=AA=8C=E6=94=B6=E5=B9=B6=E6=8E=A8?= =?UTF-8?q?=E8=BF=9B=E6=B8=B8=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/current-baseline.md | 4 ++-- docs/devlogs/2026-06-18-M02-D-用户与员工管理.md | 7 +++++-- docs/feature-status.md | 6 ++++-- docs/module-status.md | 15 +++++++++------ 4 files changed, 20 insertions(+), 12 deletions(-) diff --git a/docs/current-baseline.md b/docs/current-baseline.md index bb0d026..24dc4f5 100644 --- a/docs/current-baseline.md +++ b/docs/current-baseline.md @@ -1,8 +1,8 @@ # 当前开发成果基线 > V5.0 首次核验日期:2026-06-16 -> audited_commit: `caacc78` -> next_engineering_target: M02-D 建立用户与员工管理、角色分配、禁用和审计 +> audited_commit: `5a300a8` +> next_engineering_target: M03-A 建立门店与房间基础领域、营业规则和状态模型 > 事实源:当前工作区、Git 历史、状态文档、Windows/WSL 检查脚本。 ## 总体结论 diff --git a/docs/devlogs/2026-06-18-M02-D-用户与员工管理.md b/docs/devlogs/2026-06-18-M02-D-用户与员工管理.md index 8fd53e8..dfc6d55 100644 --- a/docs/devlogs/2026-06-18-M02-D-用户与员工管理.md +++ b/docs/devlogs/2026-06-18-M02-D-用户与员工管理.md @@ -2,9 +2,10 @@ - 日期:2026-06-18 - 起始 commit:`46acb84` -- 工程 commit:本阶段工程提交 +- 工程 commit:`5a300a8` +- 推送校验:`HEAD == origin/main == 5a300a82f6d1c85a0767e3dc9e89750849af5f63` - ENGINEERING_DELTA=YES -- 子阶段状态:待 push 与远端校验 +- 子阶段状态:DONE ## 工程增量 @@ -21,6 +22,7 @@ - WSL MySQL `8.4.9` 临时库:`up → verify → down → up → verify`,退出码 0。 - 实测员工创建、角色/门店分配、禁用后会话撤销和两条审计日志。 - 迁移语句数:up 33、verify 19、down 31。 +- M02 CP1:租户隔离、RBAC、管理员/员工门店范围、禁用与会话失效回归通过。 ## 影响 @@ -28,3 +30,4 @@ - API:新增四个 `/admin-api` 用户与员工管理接口。 - 配置:无新增秘密或环境变量。 - 部署:生产更新前必须备份,由 Ubuntu 菜单执行迁移;不得从 Windows 直连生产数据库。 +- 下一阶段:M03-A 门店与房间基础领域。 diff --git a/docs/feature-status.md b/docs/feature-status.md index 6411bff..999e276 100644 --- a/docs/feature-status.md +++ b/docs/feature-status.md @@ -20,5 +20,7 @@ | SYS-001 | 微信原生小程序 | M00-C/M08 | TODO | - | - | 参考小程序压缩包尚未深度整理。 | 后续导入正式 `miniapp/`。 | | CFG-001 | 小程序品牌自定义 | M02-A/M03/M08 | PARTIAL | `8b8fb28` | 已建立 AppID/tenant 品牌配置表和 `/app-api/bootstrap`;同一 AppID 两租户隔离读取在 MySQL 8.4.9 实测通过。 | Logo/分享图片上传与小程序实际展示属于后续阶段。 | M03/M08 接入配置管理和小程序展示。 | | BKG-010 | 后台多小程序管理 | M02-A/M08/M10 | PARTIAL | `8b8fb28` | 已建立逻辑应用、租户绑定和租户配置模型;多租户 AppID 未指定租户会被拒绝。 | 尚无后台管理页面,多 AppID 真机配置未验证。 | M02-B/C 完成身份权限,M08 增加管理页面。 | -| AUTH-001 | 多端统一小程序身份 | M02-B/M02-C/M08 | PARTIAL | `647ef7c` | 已实现微信 code 交换适配器、租户/AppID 隔离身份、JWT、服务端会话、当前用户和注销;MySQL 实测注销与角色版本变化立即失效。 | 缺真实 AppSecret 真机联调;角色菜单和 capability 属于 M02-C/M08。 | M02-C 接入 RBAC,M08 完成小程序角色界面与真机登录。 | -| AUTH-002 | 多级权限 | M02-B/M02-C/M08 | PARTIAL | `caacc78` | 已建立六类角色、权限目录、用户角色和门店范围;`/auth/me` 返回后端 capability,跨租户门店授权在 MySQL 实测被拒绝。 | 管理端角色分配、按钮菜单和完整业务资源鉴权待 M02-D/M08。 | M02-D 完成员工管理,后续业务接口接入 capability。 | +| AUTH-001 | 多端统一小程序身份 | M02-B/M02-C/M08 | PARTIAL | `5a300a8` | 已实现微信 code 交换适配器、租户/AppID 隔离身份、JWT、服务端会话、当前用户和注销;禁用、角色/门店范围变化及管理员重置均使旧会话立即失效。 | 缺真实 AppSecret 真机联调和小程序动态角色界面。 | M08 完成小程序角色界面与真机登录。 | +| AUTH-002 | 多级权限 | M02-B/M02-C/M08 | PARTIAL | `5a300a8` | 已建立六类角色、权限目录、用户角色和门店范围;后台员工 API 同时执行 capability、租户和门店范围校验,越权分配被拒绝并记录审计。 | 后续业务资源接口和前端按钮/菜单仍需逐模块接入。 | M03 起所有管理接口复用 capability 与数据范围;M08 完成前端菜单按钮控制。 | +| STAFF-001 | 员工账号 | M02-D/M08 | PARTIAL | `5a300a8` | 已实现创建员工、分配角色/门店、禁用、备注、重置会话和审计;WSL MySQL 实测权限变化撤销活动会话。 | 后台与管理员小程序页面尚未实现。 | M08 接入管理界面。 | +| BKG-002 | 后台用户管理 | M02-D/M08 | PARTIAL | `5a300a8` | 已实现分页筛选 API、注册/登录时间、状态、角色、门店范围以及手机号/IP 脱敏。 | Vue3 后台页面尚未实现。 | M08 实现响应式用户管理页面。 | diff --git a/docs/module-status.md b/docs/module-status.md index b55ffe5..49d3efc 100644 --- a/docs/module-status.md +++ b/docs/module-status.md @@ -2,20 +2,23 @@ ```yaml execution_cursor: - current_module: M02 - current_stage: M02-D - last_completed_stage: M02-C - next_stage: M02-D - last_engineering_commit: caacc78 + current_module: M03 + current_stage: M03-A + stage_status: TODO + last_completed_stage: M02-D + next_stage: M03-A + last_engineering_commit: 5a300a8 last_push_verified: true + base_branch: main blocked_reason: "" + updated_at: 2026-06-18T16:05:00+08:00 ``` | 模块 | 状态 | 最近提交 | 最近开发日志 | 备注 | |---|---|---|---|---| | M00 单仓库与服务器基础骨架 | PARTIAL | `ef0edda` | docs/devlogs/2026-06-16-M00-V5-基线核验.md | V5.2 已接入;已有成果基线、仓库完整性门禁、状态文档门禁、显式路径模块推送脚本、release manifest dry-run 检查、WSL 本地 MQTT 服务级核验、认证/ACL 冒烟入口、配置自检、可选 TLS/遗嘱/重复消息探测入口和 WSL EMQX 检查/启动/停止入口已补;生产部署、账号配置、真实验收仍未完成。 | | M01 后端 API 基础工程 | DONE | `2b90d1f` | docs/devlogs/2026-06-18-M01-C-轻量异步任务基础.md | 已完成 Fastify 后端骨架、数据库迁移兼容层,以及 MySQL outbox、幂等任务、租约领取、失败重试、人工补偿状态和独立 PM2 worker;WSL MySQL 8.4.9 往返迁移与 worker 重启持久性验证通过。 | -| M02 登录、租户、权限 | PARTIAL | `caacc78` | docs/devlogs/2026-06-18-M02-C-RBAC与数据范围.md | M02-A/B/C 已完成租户、身份、会话、RBAC 与门店范围;下一阶段 M02-D 用户与员工管理。 | +| M02 登录、租户、权限 | DONE | `5a300a8` | docs/devlogs/2026-06-18-M02-D-用户与员工管理.md | M02-A/B/C/D 已完成租户、身份、可撤销会话、RBAC、门店数据范围、员工管理、禁用、会话重置和审计;Windows 全量测试与 WSL MySQL 8.4.9 往返迁移通过。 | | M03 门店、房间、价格、营业时间 | TODO | - | - | - | | M04 订单、时段锁定、支付闭环 | TODO | - | - | - | | M05 会员、余额、套餐、优惠券 | TODO | - | - | - |