feat: 完成营业时间模块拆分并补充页面注释规范
This commit is contained in:
17
AGENTS.md
17
AGENTS.md
@@ -15,6 +15,7 @@
|
||||
5. **推送优先级**:提交后推送时,优先使用 SSH 远程(`git@github.com:...`),避免 HTTPS TLS 问题。
|
||||
6. **推送默认**:提交后自动执行 `git push`,无需再次提醒或确认。
|
||||
7. **不确定配置**:拿不准(如接口字段、鉴权流程)直接问用户。
|
||||
8. **需求开发前置步骤(强制)**:每次开始“新增/修改需求”前,必须先从 `https://api-tenant-dev.laosankeji.com/swagger/v1/swagger.json` 拉取最新 Swagger,定位本次需求涉及的接口契约(路径、入参、出参、字段)后,再进行代码变更。
|
||||
|
||||
## 1. 技术栈详细版本
|
||||
|
||||
@@ -56,6 +57,9 @@
|
||||
- **常量/枚举**:`PascalCase` 或 `UPPER_SNAKE_CASE`。
|
||||
- **路径别名**:**严禁**使用 `../../` 穿越多层。必须使用 `#/*`、`@vben/*`、`@vben-core/*` 等别名。
|
||||
- **逻辑注释 (强制)**:代码逻辑块必须空行分隔,并加序号注释(1. 验证... 2. 请求...)。
|
||||
- **文件头注释 (强制)**:所有新增 `*.ts`/`*.vue`/`*.less`/`*.scss` 文件,必须包含“文件职责”注释,说明该文件负责的业务边界。
|
||||
- **关键函数注释 (强制)**:对外导出的函数、含分支校验/提交流程的核心函数,必须添加简短中文注释,至少说明输入意图与副作用(如会触发请求/刷新/消息提示)。
|
||||
- **重构注释保留 (强制)**:拆分文件时,必须把原有关键流程注释同步迁移,禁止出现“重构后逻辑完整但无注释”的情况。
|
||||
- **组件通信**:优先 `props/emit`,跨层用 `mitt` 或 store,**慎用** `provide/inject`。
|
||||
|
||||
## 4. 接口与 HTTP 规范 (含 .NET 兼容)
|
||||
@@ -77,6 +81,19 @@
|
||||
- **Vue 3.5 新特性**:使用 Props 解构 (`const { count = 0 } = defineProps<{...}>`)。
|
||||
- **表单交互**:使用 Element Plus 表单校验;避免直接操作 DOM。
|
||||
- **Loading**:所有修改类操作必须绑定 `loading` 状态。
|
||||
- **页面拆分(强制)**:当 `views/**/index.vue` 逻辑复杂或总行数超过 400 行时,必须拆分为:
|
||||
- `composables/useXxxPage.ts`(业务状态、校验、提交流程)
|
||||
- `components/*.vue`(抽屉、弹窗、复杂表单等子视图)
|
||||
- `styles/index.less|scss`(页面样式)
|
||||
- **Composables 二级拆分(强制)**:当 `composables/useXxxPage.ts` 超过 300 行或同时承担 4 类以上职责(常量/转换/数据加载/提交动作)时,必须继续拆分为目录:
|
||||
- `composables/xxx-page/constants.ts`(常量与配置)
|
||||
- `composables/xxx-page/helpers.ts`(纯函数:格式化、校验、归一化)
|
||||
- `composables/xxx-page/*-actions.ts`(按业务动作拆分:load/save/copy 等)
|
||||
- `useXxxPage.ts` 仅保留状态编排与导出,不承载大段业务实现。
|
||||
- **样式二级拆分(强制)**:当 `styles/index.less|scss` 超过 150 行或包含 3 个以上视觉域(列表/表单/抽屉/弹窗/响应式)时,必须拆分为分片文件,`index.less|scss` 只做 `@import` 聚合。
|
||||
- **子组件单向数据流(强制)**:子组件禁止直接修改父级传入对象;必须通过 `emit` 或显式 `onSetXxx` 回调更新父级状态。
|
||||
- **职责边界**:子组件仅负责渲染与事件抛出;请求、数据归一化、持久化必须留在页面 composable。
|
||||
- **样式边界**:页面样式拆文件后,必须使用页面根类(如 `.page-hours`)作为作用域前缀,避免全局污染。
|
||||
|
||||
## 6. 状态管理规范 (Pinia)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user