Skip to content

代码规范与测试

提交前检查

bash
npm run typecheck
npm run lint
npm run build

必要时再运行 npm run format。格式化会修改 src/,执行前确认工作区变更。

编码约定

  • Vue 组件使用 Composition API 与 <script setup lang="ts">
  • 业务接口集中在 src/api,页面不直接创建 Axios 实例。
  • 共享业务模型使用明确类型,避免把 any 扩散到页面。
  • 枚举文案来自字典,避免在多个页面硬编码同一状态。
  • 操作权限同时由前端控制显示、后端控制执行。
  • 异步请求必须处理 loading、失败、空数据与组件卸载/切页。
  • 复杂重复交互抽取为 composable,不复制大段渲染代码。

测试建议

当前仓库未配置自动化测试框架。开源后建议逐步增加:

  • Vitest:纯函数、store action、权限判断、菜单树转换、请求配置合并。
  • Vue Test Utils:Search、Table、表单弹窗与权限指令。
  • MSW:HTTP 成功、业务失败、401、超时、重试、取消和文件响应。
  • Playwright:登录、动态路由、CRUD、主题切换、多页签和刷新深层路由。

CI 至少应在受支持的 Node.js 版本上执行安装、类型检查、Lint 和构建。锁文件已提交时使用 npm ci 获得可复现安装。

Review 清单

  • 是否暴露密钥、内部域名、真实账号或个人信息。
  • 新增动态菜单组件路径能否被 glob 匹配。
  • 写请求是否错误开启自动重试。
  • 外部服务是否错误携带 Token。
  • 权限是否只在前端判断。
  • 新增持久化字段是否需要迁移。
  • 文件上传与富文本是否有 XSS、类型和大小限制。

基于 MIT License 开源