--- description: 萧康云医管理后台(Vben Admin v5 + Vue 3 + TS + Ant Design Vue)代码规范 alwaysApply: true --- # 基础规范(所有项目通用) 1. 写代码的时候要补充详细的中文注释(每个方法是干嘛的,为什么要这样写),如果是工作区,则所有项目都适用该规则 2. 注意不要生成太多的空行,上一部分代码和下一部分代码中间的空行不要大于 2 行 3. 有封装好的方法、组件需要复用,不要重复造轮子 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`),**不要直接写 `