# casego-frontend **Repository Path**: dewei_wei/fast_api_admin_frontend ## Basic Information - **Project Name**: casego-frontend - **Description**: casego前端 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-08 - **Last Updated**: 2026-01-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CaseGo 前端项目文档 ## 1. 项目简介 ### 1.1 项目概述 CaseGo 是一个基于 Vue 3 + Element Plus 的现代化前端管理系统,专注于API测试管理和自动化测试平台。项目采用前后端分离架构,提供完整的API项目管理、测试用例管理、环境配置、数据管理等功能模块。 ### 1.2 核心功能模块 - **API项目管理**:项目创建、配置、子模块管理 - **测试用例管理**:测试用例的增删改查、执行管理 - **环境配置**:多环境配置管理(开发、测试、生产) - **数据管理**:测试数据、缓存数据、Cookie管理 - **接口配置**:Headers、参数、断言、前置后置处理 - **系统管理**:用户权限、角色管理、系统配置 - **监控中心**:系统监控、日志管理、在线用户 ### 1.3 架构设计 - **前端框架**:Vue 3 + Composition API - **UI组件库**:Element Plus + Ant Design Vue - **状态管理**:Pinia - **路由管理**:Vue Router 4 - **构建工具**:Vite - **HTTP客户端**:Axios - **权限控制**:基于角色的访问控制(RBAC) ## 2. 技术栈说明 ### 2.1 核心框架 - **Vue 3.5**:采用最新的 Composition API,提供更好的类型推导和代码组织 - **Element Plus 2.10.5**:主要UI组件库,提供丰富的组件和主题定制 - **Ant Design Vue 4.1.1**:辅助UI组件库,补充特定功能组件 ### 2.2 开发工具 - **Vite**:现代化构建工具,提供快速的开发体验 - **Pinia 2.1.7**:Vue 3 官方推荐的状态管理库 - **Vue Router 4.4.0**:官方路由管理器 - **Axios 1.11.0**:HTTP请求库,支持请求拦截和响应处理 ### 2.3 辅助工具库 - **@vueuse/core**:Vue 组合式工具集 - **ECharts 5.5.1**:数据可视化图表库 - **js-cookie**:Cookie操作工具 - **file-saver**:文件下载工具 - **nprogress**:页面加载进度条 - **jsencrypt**:RSA加密工具 ### 2.4 开发依赖 - **Less & Sass**:CSS预处理器 - **unplugin-auto-import**:自动导入插件 - **@vitejs/plugin-vue**:Vue单文件组件支持 ## 3. 快速上手指南 ### 3.1 环境要求 - Node.js >= 16.0.0 - npm >= 8.0.0 或 yarn >= 1.22.0 ### 3.2 项目启动步骤 #### 安装依赖 ```bash npm install # 或 yarn install npm install --registry=https://registry.npmmirror.com ``` #### 启动开发服务器 ```bash npm run dev # 或 yarn dev ``` #### 构建生产版本 ```bash # 生产环境构建 npm run build:prod # 预发布环境构建 npm run build:stage ``` #### 预览构建结果 ```bash npm run preview ``` ### 3.3 目录结构说明 ``` src/ ├── api/ # API接口定义 │ ├── login.js # 登录相关接口 │ ├── menu.js # 菜单接口 │ ├── api_project/ # API项目管理接口 │ ├── api_test_cases/ # 测试用例接口 │ └── system/ # 系统管理接口 ├── assets/ # 静态资源 │ ├── icons/ # 图标文件 │ ├── images/ # 图片资源 │ └── styles/ # 全局样式 ├── components/ # 公共组件 │ ├── Pagination/ # 分页组件 │ ├── RightToolbar/ # 表格工具栏 │ ├── FileUpload/ # 文件上传 │ └── Editor/ # 富文本编辑器 ├── directive/ # 自定义指令 ├── layout/ # 布局组件 │ ├── components/ # 布局子组件 │ └── index.vue # 主布局 ├── plugins/ # 插件配置 ├── router/ # 路由配置 ├── store/ # 状态管理 │ └── modules/ # 状态模块 ├── utils/ # 工具函数 │ ├── request.js # HTTP请求封装 │ ├── auth.js # 认证工具 │ └── permission.js # 权限工具 ├── views/ # 页面组件 │ ├── login.vue # 登录页 │ ├── dashboard/ # 仪表盘 │ ├── api_project/ # API项目管理 │ ├── api_test_cases/ # 测试用例管理 │ └── system/ # 系统管理 ├── App.vue # 根组件 ├── main.js # 入口文件 └── permission.js # 路由权限控制 ``` ### 3.4 开发规范 #### 代码风格 - 使用 2 空格缩进 - 组件名采用 PascalCase - 文件名采用 kebab-case - 常量使用 UPPER_SNAKE_CASE - 变量和函数使用 camelCase #### 组件开发规范 ```vue ``` #### API接口规范 ```javascript // api/example.js import request from '@/utils/request' // 查询列表 export function listExample(query) { return request({ url: '/example/list', method: 'get', params: query }) } // 新增数据 export function addExample(data) { return request({ url: '/example', method: 'post', data: data }) } ``` ### 3.5 常见功能实现 #### 表格页面开发 1. 创建API接口文件 2. 实现查询、新增、修改、删除方法 3. 使用 `` 组件展示数据 4. 集成分页组件 `` 5. 添加搜索表单和操作按钮 #### 表单页面开发 1. 使用 `` 组件 2. 配置表单验证规则 3. 实现表单提交和重置 4. 处理表单数据回显 #### 权限控制 ```vue 新增 { path: '/system/user', component: () => import('@/views/system/user/index'), meta: { title: '用户管理', permissions: ['system:user:list'] } } ``` ## 4. 开发技巧 ### 4.1 项目特有最佳实践 #### 状态管理 - 使用 Pinia 进行状态管理,模块化组织 - 持久化重要状态(用户信息、权限等) - 避免在组件中直接修改 store 状态 #### 组件封装 - 公共组件放在 `components` 目录 - 业务组件放在对应的 `views` 目录下 - 组件支持 `v-model` 双向绑定 - 提供完整的 props 类型定义 #### 样式管理 - 使用 scoped 样式避免污染 - 全局样式放在 `assets/styles` 目录 - 支持主题切换和暗黑模式 ### 4.2 需要特别注意的技术点 #### 请求拦截处理 - 自动添加 Authorization 头 - 防重复提交机制 - 统一错误处理和提示 - 请求和响应日志记录 #### 路由权限控制 - 基于角色的动态路由生成 - 页面级权限控制 - 按钮级权限控制 - 白名单路由配置 #### 环境配置管理 ```javascript // .env.development VITE_APP_TITLE = CaseGo VITE_APP_ENV = 'development' VITE_APP_BASE_API = '/dev-api' // .env.production VITE_APP_TITLE = CaseGo VITE_APP_ENV = 'production' VITE_APP_BASE_API = '/prod-api' ``` ### 4.3 调试和问题排查 #### 开发工具 - 使用 Vue DevTools 调试组件状态 - 浏览器开发者工具查看网络请求 - 使用 console.log 进行调试(生产环境会自动移除) #### 常见问题排查 1. **接口请求失败** - 检查代理配置是否正确 - 确认后端服务是否启动 - 查看请求头和参数是否正确 2. **权限问题** - 检查用户角色和权限配置 - 确认路由权限配置 - 查看 token 是否有效 3. **样式问题** - 检查 CSS 作用域 - 确认主题变量是否正确 - 查看元素层级关系 ### 4.4 与后端API交互规范 #### 请求格式 ```javascript // GET 请求 const response = await request({ url: '/api/users', method: 'get', params: { page: 1, size: 10 } }) // POST 请求 const response = await request({ url: '/api/users', method: 'post', data: { name: 'John', email: 'john@example.com' } }) ``` #### 响应格式 ```javascript // 成功响应 { "code": 200, "msg": "操作成功", "data": { // 响应数据 } } // 错误响应 { "code": 500, "msg": "操作失败", "data": null } ``` #### 分页数据格式 ```javascript { "code": 200, "msg": "查询成功", "rows": [ // 数据列表 ], "total": 100 } ``` #### 文件上传 ```javascript const formData = new FormData() formData.append('file', file) const response = await request({ url: '/api/upload', method: 'post', data: formData, headers: { 'Content-Type': 'multipart/form-data' } }) ``` ### 4.5 性能优化建议 1. **代码分割**:使用动态导入实现路由懒加载 2. **组件缓存**:合理使用 `` 缓存组件 3. **图片优化**:使用 WebP 格式,实现懒加载 4. **请求优化**:避免重复请求,实现请求缓存 5. **打包优化**:配置 Vite 打包优化选项 ## 5. 部署说明 ### 5.1 构建配置 ```javascript // vite.config.js export default defineConfig({ base: '/', // 部署路径 build: { outDir: 'dist', assetsDir: 'assets', sourcemap: false, minify: 'terser' } }) ``` ### 5.2 Nginx 配置示例 ```nginx server { listen 80; server_name your-domain.com; root /path/to/dist; index index.html; location / { try_files $uri $uri/ /index.html; } location /api { proxy_pass http://backend-server; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } ``` --- ## 总结 本文档涵盖了 CaseGo 前端项目的核心内容,包括项目架构、技术栈、开发规范和最佳实践。通过遵循本文档的指导,前端实习生可以快速上手项目开发,并保持代码的一致性和质量。 如有疑问或需要补充内容,请及时与项目负责人沟通。