- 工作台:workbench 首页、诊所/平台 admin 首页改造 - 预约:新增 appointment-upcoming-drawer 即将到访预约抽屉 - 接口:reception/clinicAdmin/platformAdmin 模块补充接口 - 规范:新增 Api-Module-Split.mdc 接口模块拆分规则
42 lines
2.0 KiB
Plaintext
42 lines
2.0 KiB
Plaintext
---
|
||
description: 接口迁移到 xk-api 后必须拆出独立模块文件,禁止再往 all.js 大文件里塞
|
||
alwaysApply: true
|
||
---
|
||
|
||
# API 模块拆分规则(xk-api 迁移必读)
|
||
|
||
`api/all.js`(约 1700+ 行)是历史遗留的 Yii 接口聚合文件。
|
||
**任何迁移到 xk-api 的接口、以及所有新增的 xk-api 接口,一律不得写进 `all.js`**,必须提取/新建到 `api/` 下的独立业务模块文件。
|
||
|
||
## 必须做
|
||
|
||
1. **按业务域建独立文件**:`api/<module>.js`,小驼峰命名(已有先例:`pharmacistExamine.js`、`reception.js`、`clinicAdmin.js`、`platformAdmin.js`、`chat.js`)
|
||
2. **xk-api 接口 URL 必须带 `/newApi/` 前缀**(`common/js/common.js` 据此切到 `newApiBase`),Yii 接口用无前缀相对路径
|
||
3. **文件头注释标明后端与取值方式**,每个函数注释标 HTTP 方法与路径,例如:
|
||
|
||
```js
|
||
/**
|
||
* 药师审方相关接口(xk-api,取值用 code / result / message,配合 unwrapXkApi)
|
||
* 老 Yii service/v1/examine/* 已迁移到 xk-api 的 /pharmacist-examine/*
|
||
*/
|
||
import { req } from '@/common/js/index.js';
|
||
|
||
/** 审方列表 xk-api GET /pharmacist-examine/list */
|
||
export function getExamineList(data) {
|
||
return req.request({
|
||
url: '/newApi/pharmacist-examine/list',
|
||
method: 'GET',
|
||
data
|
||
})
|
||
}
|
||
```
|
||
|
||
4. **迁移某接口时**(Yii → xk-api):把它从 `all.js` 挪到对应模块文件,`all.js` 里原函数直接删除(调用方改 import),确实来不及改完所有调用方时才允许在 `all.js` 保留一行 re-export 并标 `@deprecated`
|
||
5. 页面取值统一 `unwrapXkApi`(见 Api-Response.mdc)
|
||
|
||
## 禁止做
|
||
|
||
- 禁止在 `all.js` 中新增任何函数(包括 Yii 接口——新 Yii 接口也应放模块文件)
|
||
- 禁止新代码写 `unwrapClinicRes` 这类「双形态自动兼容」取值;按后端固定取值
|
||
- 禁止一个模块文件里混装两个后端的接口而不加注释区分;同一文件确需并存时,每个函数注释必须标明 `// xk-api` 或 `// Yii`
|