Files
xk-client-wx/.cursor/rules/Api-Module-Split.mdc
李琦 cc252b5d1a feat: 患者端挂号预约流程改造与就诊人选择
- 挂号预约:register-info 流程重构、确认步骤/患者选择步骤组件、我的预约(myappiont)页对接
- 接口:register.js 补充挂号相关接口,api.js 调整
- 就诊人:claim-patient-modal 复用弹窗
- 医生信息:doctor-detail/doctor-userinfo 配合排班展示
- 规范:新增 Api-Module-Split.mdc 接口模块拆分规则
2026-08-14 13:27:57 +08:00

38 lines
2.0 KiB
Plaintext
Raw 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.
---
description: 接口迁移到 xk-api 后必须拆出独立模块文件,禁止再往 api.js 大文件里塞
alwaysApply: true
---
# API 模块拆分规则xk-api 迁移必读)
`request/api/api.js`(约 600+ 行大杂烩)是历史遗留的 Yii 接口聚合文件。
**任何迁移到 xk-api 的接口、以及所有新增的 xk-api 接口,一律不得写进 `api.js`**,必须提取/新建到 `request/api/` 下的独立业务模块文件。
## 必须做
1. **按业务域建独立文件**`request/api/<module>.js`,小驼峰命名(已有先例:`patient.js`、`order.js`、`register.js`、`product.js`、`medicalRecord.js`、`specialPrescription.js`
2. **统一走 http 封装**`import { post, get } from './http'`,第三参传 `3``HttpUrlMap[3] = '/xkApi'`),不要手拼 `/xkApi` 字符串到 `http()` 老封装上
3. **文件头注释标明后端与取值方式**,每个函数注释标 HTTP 方法与路径,例如:
```js
import { post, get } from './http'
/**
* 就诊人相关接口统一走 xk-apitype=3
* 取值unwrapXkApi → code / result / message
*/
/** 就诊人列表 xk-api POST /patient/list */
export async function getPatientListApi(params = {}) {
return await post('/patient/list', params, 3)
}
```
4. **迁移某接口时**Yii → xk-api把它从 `api.js` 挪到对应模块文件,`api.js` 里原函数直接删除(调用方改 import确实来不及改完所有调用方时才允许在 `api.js` 保留一行 re-export 并标 `@deprecated`
5. 页面取值统一 `unwrapXkApi`(见 Api-Response.mdc
## 禁止做
- 禁止在 `api.js` 中新增任何函数(包括 Yii 接口——新 Yii 接口也应放模块文件)
- 禁止新代码再用 `normalizeXkApiResponse` 这类「把 xk-api 响应抹成 errcode/data」的兼容层那是存量代码的过渡产物
- 禁止一个模块文件里混装两个后端的接口而不加注释区分;同一文件确需并存时,每个函数注释必须标明 `// xk-api` 或 `// Yii`