docs(M08-D): 回填后台登录与会话入口
This commit is contained in:
@@ -36,6 +36,8 @@
|
||||
|
||||
> 2026-08-10 M08-D 增量:工程提交 `7e170e8` 为 `AUTH-002`、`TEN-001` 建立租户级安全审计与系统配置工作区;审计支持操作/资源/人员/时间筛选、IP 和递归敏感 metadata 脱敏、详情和当前页 CSV,系统概况展示租户、门店、用户、会话、应用绑定与最新迁移。租户管理员跨租户和启停操作被拒绝,平台跨租户必须显式指定 tenantId。Windows 65.6 秒全量与 WSL MySQL 8.4.10 的 141 up、120 verify、137 down 往返通过,M08-D 继续后台登录与会话入口。
|
||||
|
||||
> 2026-08-10 M08-D 增量:工程提交 `0511008` 为 `AUTH-001`、`AUTH-002`、`BKG-002` 建立正式后台密码登录和可撤销会话入口;密码使用 scrypt,连续失败锁定,刷新令牌仅存 SHA-256 并单次轮换,凭据重置撤销旧会话。Vue 后台替换手工粘贴令牌,401 单飞续期失败后清理本地会话,菜单从服务端权限生成。Windows 全量主体、敏感信息/完整性门禁与 WSL MySQL 8.4.10 的 144 up、124 verify、140 down 往返通过;M08-D 可独立工程内容完成,游标进入 M09-A。
|
||||
|
||||
| ID | 功能 | 模块子阶段 | 状态 | 最近提交 | 测试/验收证据 | 阻塞原因 | 下一步 |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| ENV-001 | 固定 Windows 工作区 | M00-A/M00-B | DONE | 远端 HEAD | 已确认 `D:\qipai`,Git 根、main 分支、固定 origin 和 push 校验通过。 | - | 后续每模块继续复检。 |
|
||||
@@ -54,14 +56,14 @@
|
||||
| SYS-001 | 微信原生小程序 | M00-C/M08 | PARTIAL | `96c5fa4` | 微信原生模板已接入顾客端登录态、选店跳转、门店详情、房间列表、报价、预占、测试支付、订单生产微信预支付调起、充值微信支付调起、余额支付、优惠券/套餐下单抵扣参数与可视化选择器、受控 Wi-Fi、订单列表、订单详情、状态历史、取消入口、订单权限开门入口、续费、同门店换房、分享口令生成、个人中心余额/权益/账单汇总、充值计划/充值单入口、优惠券/套餐明细,以及保洁端任务大厅、我的任务、接单、开始、照片上传、提交验收、驳回补做入口、统计和管理侧验收/驳回/免清洁/批量验收/批量驳回/批量免清洁/指派/结算/多人协作/发放 API;后端已接入微信商家转账适配、转账中间态落库、主动轮询同步、微信转账通知回调、微信转账预检、结算详情、管理统计、员工角色筛选、统计趋势、统计按保洁员筛选、待结算候选筛选、任务事件流水、保洁员微信绑定状态、结算转账状态筛选和非生产 Mock 门禁;后台已建立保洁运营工作台,可维护任务协作者、导出单任务成员分账、查看任务详情、照片预览、操作流水和协作分账、批量验收/批量驳回待验收任务、单条或批量标记任务免清洁、导出当前任务列表、单任务详情和单任务操作流水、查看并导出结算单详情、预览并导出待结算候选任务、导出结算列表、批量同步微信转账状态、按转账状态筛选结算单、在结算详情和导出中查看微信确认参数、在微信转账预检中查看并导出凭据/授权/通知 URL/平台证书/OpenID 资料和检查项、发起真实转账前自动预检并在阻断项未处理时禁用 API 发起、统计明细、每日趋势、保洁员绩效排行、保洁员端统计看板、导出当前统计结果、管理保洁员手机号/资料完整度、导出当前保洁员列表、导出当前待补资料保洁员清单、通过保洁员选择器完成任务指派/协作者/结算生成人员选择,按门店和保洁员筛选任务/结算/统计/候选,通过首屏运营待处理入口跳转待验收、驳回补做、待确认结算和待发放队列,并可导出待处理队列摘要,查看微信转账真实商户前置条件,提供真实商户/微信/转账/硬件现场联调清单并支持本地记录、场次信息、关键字搜索、筛选结果 CSV 导出、状态筛选、联调负责人筛选、联调负责人看板、联调执行阶段看板、联调期限记录、联调逾期清单、批量标记、阻断摘要复制、JSON 快照导入导出、分类进度展示、验收结论复制、最后更新时间、证据记录、待补证据清单、联调交接报告、联调风险清单导出、联调归档包导出、收口签署字段和收口归档门禁;`admin npm run build` 和 `node scripts/check-admin-m08-b.mjs` 通过。 | M08-A 真机联调缺微信后台/商户/硬件条件;M08-B 真实商户现场执行和更完整管理界面待继续。 | 继续 M08-B,补更完整保洁运营管理界面和真实商户现场执行记录。 |
|
||||
| CFG-001 | 小程序品牌自定义 | M02-A/M03/M08 | PARTIAL | `c7f27bc` | 已建立 AppID/tenant 品牌配置和 bootstrap;Vue 后台可维护品牌名称、Logo、主题色、客服/加盟电话、分享标题/图片、默认门店和非敏感扩展配置,默认门店强制同租户,更新有审计。 | 媒体选择器与多 AppID 真机展示仍需后续验收。 | M08-D 后续接入媒体资产选择;M10 做多 AppID 真机验收。 |
|
||||
| BKG-010 | 后台多小程序管理 | M02-A/M08/M10 | PARTIAL | `c7f27bc` | Vue 后台已提供逻辑应用与租户绑定列表、启停、默认应用和品牌配置;租户管理员只能改本租户配置,平台管理员才可新增应用/绑定;AppSecret、支付密钥和证书始终只在服务端环境配置。 | 多 AppID 微信后台配置和真机登录未验证。 | M10 配置真实 AppID/AppSecret 并验证租户选择、品牌和登录隔离。 |
|
||||
| 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 完成前端菜单按钮控制。 |
|
||||
| AUTH-001 | 多端统一小程序身份 | M02-B/M02-C/M08 | PARTIAL | `0511008` | 已实现微信 code 身份、租户/AppID 隔离 JWT 与可撤销会话,并新增后台租户代码/账号/scrypt 密码登录、短期访问令牌、刷新轮换、当前会话和注销;禁用、角色/门店范围、凭据更新及管理员重置均使旧会话失效。 | 缺真实 AppSecret 真机联调和生产后台账号验收。 | M10 使用真实微信与生产后台账号完成端到端登录、续期和注销验收。 |
|
||||
| AUTH-002 | 多级权限 | M02-B/M02-C/M08 | PARTIAL | `0511008` | 已建立六类角色、权限目录、用户角色和门店范围;管理接口执行 capability、租户和门店范围校验,后台菜单由服务端 access profile 生成,401 续期失败清理会话,关键写操作记录审计。 | 真实生产角色矩阵和跨租户平台账号尚未验收。 | M09 继续复用权限边界;M10 用生产角色矩阵复验菜单与服务端越权拒绝。 |
|
||||
| CLN-001 | 保洁人员管理 | M08-B/M09 | PARTIAL | `M08-B保洁员待补资料导出增量` | `CLEANER` 角色已接入 `cleaning.task.read/write` 和 `cleaning.statistics.read`,保洁接口按登录态、capability 和门店范围裁剪任务大厅;后台已可按 `CLEANER` 角色筛选员工,创建保洁员,编辑姓名/手机号/门店范围/备注,启停账号并重置会话;员工列表返回头像 URL 和微信小程序 openid 绑定状态,后台展示“已绑微信/未绑微信”和资料完整度标签,并复用该列表作为任务指派、协作者管理和生成结算单的可搜索保洁员选择源;保洁员管理页可导出当前筛选页 CSV,带出资料完整度、微信绑定、门店范围、脱敏手机号、最近登录/IP 和备注,也可单独导出待补资料清单,列出未绑定微信、未配置门店范围和缺姓名等缺口。 | 真实商户现场联调和更完整管理界面仍待继续。 | 继续 M08-B/M09,补更完整保洁运营管理界面。 |
|
||||
| CLN-002 | 保洁任务大厅 | M08-B/M09 | PARTIAL | `96c5fa4` | 新增 `qipai_cleaning_tasks`、`qipai_cleaning_task_events`、`GET /app-api/cleaning/tasks/hall`、`GET /app-api/cleaning/tasks/mine`、接单、开始、照片上传、提交验收、驳回补做接口;订单 `FINISHED` 时同事务幂等创建 `WAITING` 保洁任务;管理侧已支持任务查询、按状态/门店/负责人或协作者筛选、任务详情、照片预览、任务事件流水、任务详情协作分账、指派、验收、驳回、免清洁、批量验收、批量驳回、批量免清洁、超时回收、协作者查看/添加/移除、待结算候选筛选与后台预览/导出、正式结算单生成/确认、发放成功标记、发放失败记录、微信转账发放、转账预检、主动同步、批量同步、微信通知回调、结算单详情、结算详情导出、结算转账状态筛选、微信确认参数展示与导出、管理统计、每日趋势、统计按保洁员筛选和保洁员资料管理;小程序 `pages/cleaner/tasks` 已调用真实 app-api 并支持相机/相册上传;后台 `admin/` 已提供任务筛选、当前任务列表导出、单任务详情导出、单任务流水导出、单任务成员导出、待验收任务多选批量验收/驳回、可免清洁任务多选批量标记、保洁员选择器指派、验收、驳回、免清洁、超时回收、任务成员协作管理、任务详情操作流水和协作分账、结算详情、结算详情导出、待结算候选预览导出、结算列表导出、结算批量同步微信状态、转账状态筛选、微信确认参数展示与导出、统计明细、每日趋势、保洁员绩效排行、保洁员端统计看板、统计保洁员筛选、保洁员资料、待补资料导出、手机号维护、微信绑定状态、结算微信转账预检资料展示导出和转账前自动拦截界面、运营待处理快捷入口、运营待处理导出、真实商户/微信/转账/硬件现场联调清单、联调检查项搜索、联调筛选结果导出与筛选清除、联调状态筛选、联调负责人筛选、联调负责人看板、联调执行阶段看板、联调期限记录、联调逾期清单、联调批量标记、联调阻断摘要复制、联调场次信息记录、联调 JSON 快照导入导出、联调分类进度、联调验收结论复制、联调更新时间、联调证据记录、待补证据清单、联调交接报告、联调风险清单导出、联调归档包导出、收口签署字段和收口归档门禁。 | 真实商户现场执行和更完整管理界面仍待继续。 | 继续 M08-B,补更完整保洁运营管理界面。 |
|
||||
| CLN-003 | 保洁统计 | M08-B/M09 | PARTIAL | `642659c` | 新增 `GET /app-api/cleaning/stats`,返回当前保洁员负责人/协作者任务状态计数、任务总数、完成数、驳回数、完成率、待结算金额和已结算金额,小程序展示已抢、进行、待验、完成、任务总数、完成率、驳回、待结算和已结算金额;管理侧新增 `GET /admin-api/cleaning/statistics`,按租户、门店范围、日期、门店和保洁员筛选返回状态分布、门店明细、免清洁统计、结算口径、成员分账排行和每日趋势,保洁员筛选同时覆盖负责人/协作者任务口径、结算单口径和每日已发放金额;后台首屏汇总改为使用管理侧统计接口,统计页支持今日、近7天、本月快捷周期、每日趋势条形展示、免清洁汇总/门店/趋势展示和可搜索保洁员筛选,任务/结算/统计列表支持门店和保洁员筛选以辅助定位统计异常,并可导出当前筛选条件下的汇总、任务状态、结算口径、每日趋势、门店明细、免清洁数量和成员分账 CSV。 | 真实商户现场联调和更完整管理界面待继续。 | M08-B/M09-C 补更完整管理界面。 |
|
||||
| CLN-005 | 保洁驳回/免清洁 | M08-B/M09 | PARTIAL | `eb838f5` | 已支持管理侧驳回、批量驳回和保洁员驳回补做;已新增 `POST /admin-api/cleaning/tasks/:taskId/exempt`,后台任务列表提供免清洁按钮、批量免清洁和 `EXEMPT` 筛选,仓储将可处理任务置为 `EXEMPT`、奖励归零并移除未结算协作者;待结算候选继续只取 `COMPLETED` 且未结算任务,免清洁任务不进入结算;管理统计 summary、门店明细、每日趋势和统计导出均新增免清洁数量,便于核对不结算口径。 | 真实商户现场执行仍待继续。 | 继续 M08-B/M09,补现场验收记录和更完整运营管理界面。 |
|
||||
| STAFF-001 | 员工账号 | M02-D/M08 | PARTIAL | `93f06d2` | 已实现创建员工、分配角色/门店、禁用、备注、重置会话和审计;管理员小程序已展示员工概况,Vue 后台可按角色/状态搜索并完成完整生命周期管理,权限变化即时撤销活动会话。 | 真实员工微信绑定和生产账号生命周期验收待补。 | M10 以真实员工账号验证绑定、门店切换、禁用和重新登录。 |
|
||||
| BKG-002 | 后台用户管理 | M02-D/M08 | PARTIAL | `93f06d2` | 已实现分页筛选 API、注册/登录时间、状态、角色、门店范围以及手机号/IP 脱敏;Vue 后台新增会员与 STAFF 用户分栏,员工全部角色查询强制 `userType=STAFF`,避免混入顾客。 | 尚缺平台级跨租户用户视图和真实生产数据验收。 | M08-D 后续保持租户隔离;M10 补生产账号验收。 |
|
||||
| BKG-002 | 后台用户管理 | M02-D/M08 | PARTIAL | `0511008` | 已实现分页筛选、注册/登录时间、状态、角色、门店范围、手机号/IP 脱敏及会员/STAFF 分栏;租户管理员可为同租户有效 STAFF 设置唯一登录名和强密码,更新凭据会撤销其活动会话且不返回密码哈希。 | 尚缺平台级跨租户用户视图和真实生产数据验收。 | M10 以生产平台/租户账号复验跨租户用户视图、凭据重置和审计。 |
|
||||
| TEN-001 | 多门店支持 | M02/M03 | PARTIAL | `15139b3` | 门店 CRUD 与门店管理员数据范围已实现;跨门店写操作在 Windows 和 WSL MySQL 实测被拒绝。 | 地图选店、前端切换与完整订单数据范围待后续阶段。 | M03-C 接入地图选店,M04 起业务资源继承门店范围。 |
|
||||
| STORE-001 | 门店运营配置 | M03-A/M08 | PARTIAL | `1ca783e` | 已实现地址、经纬度、营业状态、每周营业时间、时区、客服电话、Wi-Fi、通知地址和排序;Vue 后台支持授权范围内门店筛选、详情、新增、编辑和归档,列表只返回 Wi-Fi 是否已配置,编辑留空不会清除原密码。 | 通宵场、延时关灯和清洁策略仍需与订单/设备联动补齐。 | M08-D 后续页面继续复用门店选择;M10 做生产配置验收。 |
|
||||
| ROOM-001 | 房间配置 | M03-A/M04/M08 | PARTIAL | `1ca783e` | 已实现房型、整数分价格、工作日/节假日/通宵/全天价、最低消费、押金、最低时长、提前规则、禁用时段、标签、图片和软删除;Vue 后台支持筛选、新增、完整编辑、配置启停、运营房态、停用时段和归档。 | 节假日日历与真实运营价格复算仍需生产验收。 | M08-D 订单页复用房间信息;M10 做生产数据验收。 |
|
||||
|
||||
Reference in New Issue
Block a user