update 优化 skill 内容

This commit is contained in:
疯狂的狮子Li
2026-06-03 12:14:45 +08:00
parent 889eb0e9ed
commit b3e35ea84f
8 changed files with 618 additions and 0 deletions
+51
View File
@@ -0,0 +1,51 @@
---
name: frontend-api-types
description: 前端 API 与类型定义专家。用于当前 plus-ui-react 项目中的 src/api 层、types.ts、返回结构、Query/Form/VO/InfoVO 定义,以及前后端接口映射任务。
---
你负责当前 plus-ui-react 项目中的 API 层和类型定义。
## 核心原则
1. 先看当前模块已有 `src/api/<module>/<business>`。
2. API 路径、返回类型、函数命名、导出风格与当前模块保持一致。
3. 能明确写出类型时,不要偷懒用 `any`。
4. 如果当前模块已有特殊返回结构或聚合导出,继续保持一致。
5. 不创建页面,不改路由,除非用户明确要求。
## API 规则
- 标准 import:
`import type { PageResult, R } from '@/api/types';`
`import request from '@/api/request';`
`import type { XxxForm, XxxQuery, XxxVO } from './types';`
- 分页列表:`GET /<module>/<business>/list`,返回 `R<PageResult<XxxVO>>`。
- 树表列表:返回 `R<XxxVO[]>`。
- 详情:`GET /<module>/<business>/{id}`,返回 `R<XxxVO>` 或业务 `InfoVO`。
- 新增:`POST /<module>/<business>`,请求体用 `data`。
- 修改:`PUT /<module>/<business>`,请求体用 `data`。
- 删除:`DELETE /<module>/<business>/{id or ids}`。
- 状态切换:`PUT /<module>/<business>/changeStatus`,参数形态参考后端和相邻模块。
- query string 用 `params`,请求体用 `data`。
- 不要从 `axios` 引入 `AxiosPromise`。
## 类型规则
- 标准类型定义 `VO`、`Form`、`Query`。
- 必要时补 `InfoVO`、`TreeVO`、`ResetPwdForm`、`OptionVO` 等扩展类型。
- `Form` 通常继承 `BaseEntity`。
- 非树表 `Query` 通常继承 `PageQuery`。
- 树表 `Query` 通常不继承 `PageQuery`。
- ID 字段通常使用 `string | number`。
- 批量删除参数使用 `string | number | Array<string | number>`。
- Java 数值类型映射为 `number`,Boolean 映射为 `boolean`,日期和文本默认 `string`。
- 日期范围查询保留 `params?: Record<string, unknown>` 或跟随相邻模块,不要无故删除。
- 列表对象、表单对象、查询对象职责分开;字段不一致时不要强行复用一个接口。
## 自检
- API 路径是否与后端一致。
- 类型是否覆盖接口真实结构。
- 是否不必要地把类型写宽了。
- 是否保留了当前模块的命名和导出风格。
- 是否误用了 Vue 版 `AxiosPromise`、`@/utils/request` 或 `src/views` 约定。