docs: 补充请求层与组合式函数约束

This commit is contained in:
2026-08-27 21:48:32 +08:00
parent 45e6663568
commit c898c0a8c7
+15 -1
View File
@@ -109,6 +109,19 @@ lpt-fe/src/
- 组件公开 props/events 只在有实际消费者时保留,例如 MindMapViewer 通过 `toOutline()` 导出编辑内容,不依赖无人监听的 change 事件。
- Vite 模板遗留文件(示例组件、icon、logo)不进入业务代码。
### 请求层与类型规范
- 所有接口封装必须放在 `src/api/`,组件内禁止直接拼 URL 调用 `request`(历史遗留的裸调用在改动到时迁移)。
- request 层统一返回 `Promise<ApiResponse<T>>`:新增接口必须显式标注泛型 `T`,组件消费 `res.data` 时应有明确类型,禁止把后端字段拼错暴露到运行期。
- 默认超时 30 秒;AI 聚合类接口(残片生成、思维导图生成/对比、报告草稿、结束会话)在 api 层显式覆写 `{ timeout: 300_000 }`,不要调大全局默认值。
- 组件解构响应时使用 `res?.data` 判空兜底;`ApiResponse``@/utils/request` 导入复用。
### 组合式函数复用
- “已等待 N 秒”类秒表计时统一使用 `useElapsedSeconds`,禁止组件内手写 `setInterval` 秒数递增。
- 页面新增功能域时先抽 composable(参考 `useSessionHistory` / `useSummaryReport` / `useSessionExpectation`),不要继续膨胀 StartTask 等大页面组件。
- 通用解析器、格式化工具放 `src/utils/`,不埋在组件内(如大纲文本转树应放 utils)。
### 测试规范
- 单元测试必须直接测试真实代码:直接调用 composable、挂载真实组件、使用真实路由;禁止把组件或 composable 的逻辑复制到测试里再自测。
@@ -117,7 +130,7 @@ lpt-fe/src/
### 提交前检查
- 运行 `npx vue-tsc --noEmit``npm run test``npm run build`
- 运行 `npx vue-tsc --noEmit``npm run lint`0 error 才可提交;`no-explicit-any` 允许存量警告,新代码避免 any)、`npm run test``npm run build`
- 提交信息按 Git 提交规范使用中文短句;样式类改动用 `style:`,清理类用 `refactor:` / `chore:`
## 开发配置
@@ -135,6 +148,7 @@ npm run build
npm run test
npm run test:e2e
npx vue-tsc --noEmit
npm run lint
```
编译检查也可以使用: