Files
danyang-match/docs/DEMO-VALIDATION-2026-10-13.md
WorkBuddy 3c2b967274
CI/CD Pipeline / UI Contracts (source-structure gates) (push) Canceled after 0s
CI/CD Pipeline / E2E (live stack) (push) Canceled after 0s
CI/CD Pipeline / Backend Build & Test (push) Canceled after 0s
CI/CD Pipeline / Admin Web Build (push) Canceled after 0s
CI/CD Pipeline / Mini Program Compile Check (push) Canceled after 0s
CI/CD Pipeline / Migration Validation (push) Canceled after 0s
CI/CD Pipeline / Test Shell Guard (Phase 23 Gate) (push) Canceled after 0s
release: freeze 2026-10-15 validated release baseline
2026-10-15 09:47:31 +08:00

85 lines
8.0 KiB
Markdown
Raw Permalink 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.
# Demo 增量验收记录(2026-10-13)
## 本轮:红娘跟进写入与回读
- 服务用户:秀英,展示编号 `YH2026051502`。
- 操作员:现有演示红娘 `wanghongniang`,展示编号 `HN2026100901`。
- 提交:通过现有 `/operator/matchmaker/services/{id}/followup` 接口添加一条 `followup` 类型记录。
- 内容:Demo闭环验收(2026-10-13):已核对服务需求,等待用户确认后继续公益服务。
- 使用独立登录会话重新读取服务详情,得到同一条跟进记录。
- PostgreSQL 联表查询确认该记录属于上述用户,匹配记录数为 1。
- 创建时间:2026-10-13 19:06:41(北京时间)。
- 写入前后服务状态均为 `waiting_user`,未执行用户确认或完成服务。
- Web 与红娘小程序均使用相同的详情和跟进接口;本轮通过 HTTP 执行,未自动操作浏览器或微信开发者工具。
结论:跟进接口写入、独立会话回读及数据库持久化 PASS;双端页面刷新目视显示 NOT_VERIFIED。完整新分配、用户确认、完成及统计回写仍待逐条验收。
## 工作台统计口径(已修正)
- 顶部“今日服务”和“待处理”不再使用固定演示数字,统一读取当前权限范围内的红娘服务记录。
- “今日服务”按北京时间对创建、分配、完成或最新跟进时间去重;“待处理”包含 `submitted/assigned/in_service/waiting_user`。
- “待审核资料”读取审核统计接口的 `pending + processing`,审核完成后从队列和工作台同步减少。
## 本轮:用户确认服务(进行中)
- 秀英为预置演示 OpenID;当前 Mock 登录随机分配 OpenID,不能据此取得该用户已有会话。本轮没有伪造用户令牌或更改账号归属。
- 等待用户在秀英已有会话中点击“确认服务方案”,后续再验证 `waiting_user → in_service` 和红娘个人进行中统计。
- 检查发现用户进展页调用不存在的单条 GET 接口,导致加载和确认后刷新失败;已改为从现有本人服务列表定位指定服务。
- 新增 `tests/miniapp/matchmaker_progress_behavior_test.cjs`:修复前失败,修复后通过,验证指定服务定位、确认后刷新和不存在服务返回空状态。
- 既有确认契约测试 2 项通过;修改文件 `git diff --check` 通过。
- 本轮末次数据库读取仍为 `waiting_user`,未执行完成服务。本机真实微信编译与目视验收待用户执行。
## 工作台差距修复与运行验收(2026-10-13 20:15)
- 根因:待审核卡片误读本地资格统计;缓存工作台只在挂载时加载;管理员没有查看其他红娘服务跟进的管理入口。
- 修复:读取资料审核队列统计;返回工作台时重新加载;新增“最新红娘跟进记录”及“红娘服务 → 服务进展与跟进”只读入口,详情读取受权限和组织范围控制的管理接口,记录审计。
- 浏览器使用现有管理员登录,实际工作台显示待审核资料 0、红娘服务待办 3、红娘服务完成 2;顶部数据源显示今日服务 2、待处理 3。近期跟进中已显示秀英 `YH2026051502` 的 Demo 验收内容。
- 页面程序触发查看服务,正确进入秀英详情,显示同一条跟进内容与 19:06:41 时间;返回工作台正常,无浏览器运行异常。小屏顶部统计仍遵循既有响应式隐藏规则。
- 实际 HTTP:管理员管理列表与详情成功;审核统计 `pending=0, processing=0`;无管理权限的演示审核员访问管理列表返回 403。`demo_wanghongniang` 现有账号带 `matchmaker.assign`,不作为拒绝访问样本,也未修改其既有授权。
- 后端完整测试:907 项,失败 0、错误 0、跳过 3。新增测试覆盖管理跟进回读与审计、同组织限制、普通红娘拒绝,以及 claim/approve 后待审核数量减一。
- 前端类型检查及构建通过,工作台行为测试和数据契约通过;全 UI 契约 20/24,4 个失败涉及既有管理端设计令牌、小程序语言、综合 UI 与旧 Nginx 断言,本轮未扩大范围修改。
- 部署发现历史数据库容器所在网络缺少短服务名别名;Compose 后端连接地址改用现有容器名,重新创建后端后健康、登录与接口正常。没有重建数据库或清理数据;管理端与 Nginx 正常运行。
- 本次修复结论 PASS;实际演示库当前已没有待审记录,未为验证而制造新的审核申请。审核完成后减一由事务测试及前端行为测试验证。
- 秀英仍处于 `waiting_user`,用户本人确认、后续完成及其他转介/授权闭环仍未完成,不能据本轮工作台修复声明整阶段完成。
## 开发者工具用户登录修复(2026-10-14)
- 根因:Mock 微信 Provider 按每次 `wx.login` code 随机生成 OpenID,无法命中秀英预置用户 `demo_openid_f06`。
- 修复:增加 `WECHAT_MOCK_OPENID` 配置;本地 Docker 演示默认固定为 `demo_openid_f06`,真实微信 Provider 不受影响。
- 实际 HTTP 验证:使用新的登录 code 调用微信登录接口返回用户 `bc5ca4a9-08b5-413c-8d80-3afc76fbeb97`,展示编号 `YH2026051502`;后端容器健康,健康检查 PASS。
- Provider 单元测试 PASS;未伪造微信真机 code,开发者工具需重新编译并清除旧登录缓存后点击登录。
## 用户端公益红娘服务列表修复(2026-10-14)
- 根因:`GET /matchmaker/services` 的 C 端响应是数组,小程序 `matchmakerStore` 仅读取分页格式的 `result.items`,导致有效服务被渲染为空状态。
- 修复:Store 同时兼容数组和分页响应;当前秀英登录后实际接口返回服务 `f0297c00-59cb-4f3e-ae86-c31fb4e55e6a`,状态 `waiting_user`。
- 验证:服务进度行为测试通过,相关小程序契约测试 5 项通过;开发者工具重新编译后,“公益红娘 → 申请状态”应显示服务卡片并可进入“确认服务方案”。
## 用户端服务卡片跳转修复(2026-10-14)
- 根因:服务接口实体字段为 `id/description`,卡片事件使用 `serviceId/requirement`;页面因此能显示卡片但点击时携带空服务 ID。
- 修复:在 `matchmakerStore` 统一映射 `id → serviceId`、`description → requirement`,数组和分页响应均经过同一转换。
- 验证:服务进度行为测试通过,相关小程序契约测试 6 项通过,`git diff --check` 通过。
- 控制台中的 `/operator/matchmaker/*` 401 是开发者工具残留工作人员会话,不是用户服务接口错误;清除开发者工具缓存后重新登录用户端即可消除该噪声。
## 用户确认回写验证(2026-10-14)
- 用户端确认服务方案后,服务 `f0297c00-59cb-4f3e-ae86-c31fb4e55e6a` 已从 `waiting_user` 更新为 `in_service`。
- 管理端管理服务接口同步显示 `YH2026051502 / in_service`,原有跟进记录仍可读取。
- 审核统计仍为 `pending=0, processing=0`,后端容器健康。
- 用户确认步骤 PASS;服务完成、完成统计回写仍待管理端执行“完成服务”后验证。
## 管理端完成服务回写验证(2026-10-14)
- 管理端执行完成后,秀英服务已从 `in_service` 更新为 `completed`。
- 完成时间:2026-10-14 09:55:13(北京时间)。
- 管理端与用户端接口均返回 `completed`;当前管理范围服务状态为已完成 3 单、未完成 2 单。
- 后端容器健康,完成服务回写 PASS;用户端历史服务页面目视验收仍需在开发者工具中刷新确认。
## 完成后工作台同步复验(2026-10-14)
- 管理端浏览器实际显示“红娘服务待办 2”,由完成前的 3 减少 1。
- “服务数据概览 → 红娘服务完成”实际显示 3,完成前为 2,增加 1。
- “今日待办事项”实际由 93 降为 92;秀英用户端服务列表实际返回 `completed`。
- 工作台统计同步 PASS;管理端个人 `/operator/matchmaker/dashboard` 对管理员返回个人范围 0 属既有接口语义,管理员工作台使用管理服务列表统计,不作为异常。