# IFLOW.md - shzg_projectManage 项目说明 ## 项目概述 这是一个基于 Vue 3 和 Element Plus 的后台管理系统前端项目,名为 "shzg_projectManage"。该项目采用现代化的前端技术栈,实现了用户认证、路由控制、API 请求管理、状态管理等功能,主要面向企业级后台管理系统开发。 ## 技术栈 - **前端框架**: Vue 3 (使用 Composition API) - **UI 组件库**: Element Plus - **构建工具**: Vite - **状态管理**: Pinia - **路由管理**: Vue Router 4 - **HTTP 客户端**: Axios - **样式处理**: Sass - **图标**: SVG 图标系统 ## 主要功能特性 1. **用户认证系统**: - 登录/注册功能 - Token 管理和验证 - 权限控制 (基于角色和菜单权限) 2. **路由管理**: - 动态路由加载 - 权限路由控制 - 路由守卫 3. **API 管理**: - 统一的请求封装 - 请求/响应拦截器 - 错误处理机制 - 防重复提交 4. **状态管理**: - 使用 Pinia 进行全局状态管理 - 用户信息、权限、设置等模块化存储 5. **通用组件**: - 富文本编辑器 - 文件上传 - 图片上传/预览 - 分页组件 - 数据字典标签 ## 关键文件结构 ``` src/ ├── api/ # API 接口定义 ├── assets/ # 静态资源 ├── components/ # 通用组件 ├── layout/ # 页面布局 ├── router/ # 路由配置 ├── store/ # Pinia 状态管理 ├── utils/ # 工具函数 ├── views/ # 页面视图 ├── main.js # 应用入口 ├── App.vue # 根组件 ├── permission.js # 路由权限控制 ``` ## 构建和运行 ### 开发环境 ```bash npm run dev ``` - 服务启动在端口 8010 - 代理配置将 `/dev-api` 代理到 `http://localhost:8080` ### 生产构建 ```bash npm run build:prod # 生产环境构建 npm run build:stage # 预发布环境构建 ``` ### 预览构建结果 ```bash npm run preview ``` ## 开发约定 1. **代码风格**: - 使用 ES6+ 语法 - 组件命名遵循 PascalCase - 使用 Vue 3 Composition API 2. **API 请求**: - 所有 API 请求通过 `@/utils/request.js` 封装 - 自动携带认证 Token - 统一错误处理 3. **组件开发**: - 通用组件放置在 `src/components` - 业务组件放置在 `src/views` 对应模块下 - 使用 Element Plus 组件库保持 UI 一致性 4. **状态管理**: - 使用 Pinia 进行状态管理 - 按模块组织 store (用户、设置、权限等) ## 项目配置 - **环境变量**: 通过 `.env.development`、`.env.production`、`.env.staging` 管理不同环境配置 - **Vite 配置**: `vite.config.js` 包含构建和开发服务器配置 - **样式**: 使用 Sass 预处理器,全局样式定义在 `src/assets/styles/index.scss` ## 安全特性 - 防止重复提交 - Token 自动刷新和验证 - 路由权限控制 - 输入验证和错误处理