C端 my-lifecycle 由跨院多患者聚合改为单患者返回,结构统一为 patient + lifecycle 生命周期事件移除事件内重复 patient 字段,减少冗余 B端患者生命周期接口同步采用 patient + lifecycle 结构 新增并接入生命周期 Swagger 响应模型,补齐接口文档 更新 auth/patients/frontend 集成文档说明 增加 e2e:多患者冲突、C端/B端新返回结构、权限失败场景
49 lines
1.4 KiB
Markdown
49 lines
1.4 KiB
Markdown
# 前后端联调说明
|
|
|
|
## 1. 登录
|
|
|
|
### B 端账号密码登录
|
|
|
|
- `POST /auth/login`
|
|
- 入参:
|
|
- `phone`
|
|
- `password`
|
|
- `role`(可选)
|
|
- `hospitalId`(可选)
|
|
- 若返回 `needSelect: true`,继续调用:
|
|
- `POST /auth/login/confirm`
|
|
- 入参:`loginTicket + userId`
|
|
|
|
### B 端小程序
|
|
|
|
- 第一步:`POST /auth/miniapp/b/phone-login`
|
|
- 入参:
|
|
- `loginCode`
|
|
- `phoneCode`
|
|
- 若返回 `needSelect: true`,继续调用:
|
|
- `POST /auth/miniapp/b/phone-login/confirm`
|
|
- 入参:`loginTicket + userId`
|
|
|
|
### C 端小程序
|
|
|
|
- `POST /auth/miniapp/c/phone-login`
|
|
- 入参:
|
|
- `loginCode`
|
|
- `phoneCode`
|
|
- 要求当前手机号唯一关联 1 份患者档案,否则返回冲突错误
|
|
|
|
## 2. C 端生命周期
|
|
|
|
- 登录成功后调用:`GET /c/patients/my-lifecycle`
|
|
- 不再需要传 `phone` 或 `idCard`
|
|
- Bearer Token 使用 C 端患者登录返回的 `accessToken`
|
|
- 返回结构改为顶层 `patient + lifecycle`,事件项内不再重复返回 `patient`
|
|
|
|
## 3. B 端说明
|
|
|
|
- B 端业务接口仍使用 Bearer Token
|
|
- 后台管理端与小程序都可以复用 `POST /auth/login` 做账号密码登录
|
|
- `GET /auth/me` 仍可读取当前院内账号信息
|
|
- 同手机号多账号时,前端必须先让用户选定账号,再提交确认登录
|
|
- 同一个微信号可绑定多个院内账号,切换账号时继续走“小程序登录 -> 候选账号选择”即可
|