tyt-api-nest/docs/frontend-api-integration.md

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