CI/CD Pipeline / Test Shell Guard (Phase 23 Gate) (push) Waiting to run
CI/CD Pipeline / Backend Build & Test (push) Waiting to run
CI/CD Pipeline / Admin Web Build (push) Waiting to run
CI/CD Pipeline / Mini Program Compile Check (push) Waiting to run
CI/CD Pipeline / Migration Validation (push) Blocked by required conditions
CI/CD Pipeline / UI Contracts (source-structure gates) (push) Waiting to run
CI/CD Pipeline / E2E (live stack) (push) Blocked by required conditions
2.6 KiB
2.6 KiB
善缘丹阳 V1.2 状态机与接口契约
1. 账号登录与服务准入
主登录标识为已核验手机号,密码只保存哈希。账号发放后必须首次改密;初始密码不落库、不写日志。两份服务授权书分别确认,任一拒绝或撤回时,账号可以登录处理必要事项,但不得进入匹配、搜索、推荐、聊天、活动匹配、红娘推荐、咨询或预约等服务入口。
2. 资料版本与审核
认证完成后的个人资料变更必须在同一事务中:
- 写入新的
profile_revision; - 将新版本标记为
pending_review; - 保留旧的
published_profile_revision; - 记录操作者、时间和变更摘要。
只有审核通过才能把新版本设为 published_profile_revision。审核等待、拒绝或要求补充期间,旧的已发布版本继续作为唯一对外资料;新版本不得被搜索、推荐、活动匹配、红娘推荐或其他用户查看。若没有可用的旧发布版本,则用户不进入这些业务流程。
3. 红娘分配
- V1.2 首版只支持人工分配。
- 普通红娘只能访问本人有效分配对象。
- 红娘组长只能访问和管理本组织范围。
- 管理员拥有平台范围权限。
- 无可用红娘时写入待分配队列,不阻塞用户注册。
- 分配前必须校验:资料已发布、手机号已核验、授权有效、账号正常、服务资格有效。
4. 关键接口约束
所有接口使用 /api/v1,统一响应 { success, code, message, data }。请求体中的 userId、matchmakerId、teamId、角色和范围字段不得决定权限;范围由服务端认证主体推导。关键写接口支持 Idempotency-Key。
| 场景 | 接口 | 关键约束 |
|---|---|---|
| 密码登录 | POST /auth/password/login |
仅已核验手机号;返回首次改密、授权和服务状态 |
| 首次改密 | POST /auth/password/change-initial |
成功后旧凭据和旧会话失效 |
| 服务授权 | GET/POST /account/service-consent |
两份文档分别确认并审计版本 |
| 资料修改 | 现有资料更新接口 | 认证后个人资料写入必须创建新版本并进入审核 |
| 审核通过 | 现有审核接口 | 原子推进发布版本,才恢复展示和匹配 |
| 红娘看板 | GET /operator/matchmaker/workbench/dashboard |
只返回主体权限范围内的六项指标 |
5. 审计与敏感数据
密码、验证码、完整手机号、身份证号和授权正文不得写入普通日志。账号发放、手机号核验、授权确认/撤回、资料版本审核、红娘分配和越权拒绝必须保留审计事件。