51 lines
1.5 KiB
Markdown
51 lines
1.5 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/me`
|
|
- 返回当前 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` 仍可读取当前院内账号信息
|
|
- 同手机号多账号时,前端必须先让用户选定账号,再提交确认登录
|
|
- 同一个微信号可绑定多个院内账号,切换账号时继续走“小程序登录 -> 候选账号选择”即可
|