diff --git a/.cursor/rules/Code-Standards.mdc b/.cursor/rules/Code-Standards.mdc index 9e5c2433..ce8a1e98 100644 --- a/.cursor/rules/Code-Standards.mdc +++ b/.cursor/rules/Code-Standards.mdc @@ -1,10 +1,233 @@ --- -description: +description: 萧康云医管理后台(Vben Admin v5 + Vue 3 + TS + Ant Design Vue)代码规范 alwaysApply: true --- +# 基础规范(所有项目通用) + 1. 写代码的时候要补充详细的中文注释(每个方法是干嘛的,为什么要这样写),如果是工作区,则所有项目都适用该规则 -2. 注意不要生成太多的空行,上一部分代码和下一部分代码中间的空行不要大于2行 +2. 注意不要生成太多的空行,上一部分代码和下一部分代码中间的空行不要大于 2 行 3. 有封装好的方法、组件需要复用,不要重复造轮子 -4. 小程序端的抽屉全部需要用page-container来防止用户意外退出页面(记得使用v-if而不是v-show) +4. 小程序端的抽屉全部需要用 page-container 来防止用户意外退出页面(记得使用 v-if 而不是 v-show) 5. 数据库的(created_at、updated_at、deleted_at)统一使用时间戳,不要使用字符串,并且我在查询器中一级格式化成字符串了,无需再次格式化 + +# 全局架构规范 + +## 目录结构规范 + +- 业务页面统一放在 `apps/web-antd/src/views/<端>/<模块>/`(端:system / business / doctor 等) +- 标准 CRUD 模块目录结构: + + ``` + views/<端>/<模块>/ + ├── index.vue # 列表页(Page + Grid + Modal) + ├── api/index.ts # 本模块 API(CRUD) + ├── config/ + │ ├── table.ts # vxe-grid 列定义 + proxyConfig + │ ├── search.ts # 顶部搜索表单 schema + │ └── form.ts # 新增/编辑弹窗 form schema + ├── components/ + │ └── modal.vue # 新增/编辑弹窗 + └── utils/ # 模块工具(可选) + ``` + +- 全局复用组件放 `apps/web-antd/src/components/` +- 表单内可用组件放 `apps/web-antd/src/components/form/components/`,文件名 kebab-case,自动注册为 schema 的 `component` 名(PascalCase 引用) + +## 强制复用封装(禁止重复造轮子) + +- 表格统一用 `useVbenVxeGrid`(来自 `#/adapter/vxe-table`),**不要直接 new VxeGrid** +- 表单统一用 `useVbenForm`(来自 `#/adapter/form`),**不要直接写 `