28 lines
996 B
Markdown
28 lines
996 B
Markdown
|
|
# API 开发与类型定义流程
|
||
|
|
|
||
|
|
为了保持代码健壮性,新增接口时请遵循以下步骤:
|
||
|
|
|
||
|
|
## 1. 记录请求与响应 (data/api/)
|
||
|
|
|
||
|
|
- **分文件夹管理**:每个接口在 `data/api/` 下拥有独立文件夹。
|
||
|
|
- **请求逻辑 (`request.ts`)**:使用 Axios 编写接口调用逻辑,调用 `saveResponse(__dirname, data)` 自动保存响应。
|
||
|
|
- **响应数据 (`response.json`)**:运行 `npx tsx data/api/run.ts` 后,会在该接口文件夹下生成或更新真实数据。
|
||
|
|
- **自动化工具**:一键同步所有接口数据:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
npx tsx data/api/run.ts
|
||
|
|
```
|
||
|
|
|
||
|
|
## 2. 定义类型 (src/types/api.ts)
|
||
|
|
|
||
|
|
- 根据生成的 `response.json` 数据结构,在 `src/types/api.ts` 中创建接口。
|
||
|
|
- **规则**:新增成员变量时务必添加 JSDoc 注释。
|
||
|
|
|
||
|
|
## 3. 注册 URL (src/constants/api.ts)
|
||
|
|
|
||
|
|
- 在 `API_BASE` 基础上定义新的常量。
|
||
|
|
|
||
|
|
## 4. 业务调用
|
||
|
|
|
||
|
|
- 在对应的 Pinia Store 中使用 `ApiResponse<T>` 包装请求返回值。
|