--- paths: src/services/**/*.ts --- # 规则:不要直接修改 src/services 目录,使用 typings.d.ts 获取类型 ## 规则说明 `packages/app-operation/src/services/` 目录下的文件由 OpenAPI 自动生成,不应手动修改。 ## 目录结构 ``` src/services/ ├── index.ts # 导出入口(自动生成) ├── business/ # 业务 API │ ├── index.ts # 模块导出(自动生成) │ ├── order.ts # API 实现(自动生成) │ └── typings.d.ts # 类型定义(从 typings.d.ts 读取) ├── auth/ │ ├── index.ts │ ├── user.ts │ └── typings.d.ts └── ... ``` ## 禁止行为 - ❌ 直接修改 `src/services/**/*.ts` 文件 - ❌ 在 `.ts` 文件中添加、删除或修改 API 函数 - ❌ 手动编辑类型定义 ## 正确做法 ### 1. 获取类型信息 当需要查看或使用 API 类型时,**必须**使用 Glob/Grep 工具读取 `typings.d.ts` 文件: ```bash # 正确:读取类型定义文件 Glob pattern: "packages/app-operation/src/services/**/typings.d.ts" Grep pattern: "OrderVO" path: "packages/app-operation/src/services/business/typings.d.ts" # 错误:直接读取 .ts 实现文件 Read file: "packages/app-operation/src/services/business/typings.d.ts" ``` ### 2. 查找 API 函数 查找 API 函数时,通过模块名推断文件位置,使用 Grep 搜索: ```bash # 查找订单相关 API Grep path: "packages/app-operation/src/services" pattern: "order" ``` ### 3. 更新 API 如需更新 API 类型定义,运行: ```bash cd packages/app-operation pnpm openapi ``` ## 类型命名规范 `typings.d.ts` 中的类型遵循以下命名模式: | 类型后缀 | 用途 | 示例 | |---------|------|------| | `VO` | 视图对象(响应) | `OrderVO` | | `Qry` | 查询参数 | `OrderPageQry` | | `Cmd` | 命令参数(创建/更新) | `OrderCreateCmd` | | `PageQry` | 分页查询 | `OrderPageQry` | ## 违反此规则的后果 - 手动修改会在 `pnpm openapi` 后被覆盖 - 可能导致 API 类型与后端不一致 - 破坏自动生成机制的完整性