# fzs-admin-flask-vue **Repository Path**: advancer-debug/fzs-admin-flask-vue ## Basic Information - **Project Name**: fzs-admin-flask-vue - **Description**: 使用cursor开发福智生公司的生态数据管理系统;技术栈:Flask + Vue3 + MySQL8.0; - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-11-12 - **Last Updated**: 2025-11-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 福智生-生态数据管理系统 基于Flask + Vue3的前后端分离福智生-生态数据管理系统 ## 项目结构 ``` rbac-system/ ├── backend/ # Flask后端 │ ├── app/ │ │ ├── __init__.py │ │ ├── models/ # 数据模型 │ │ ├── api/ # API路由 │ │ ├── utils/ # 工具函数 │ │ └── config.py # 配置文件 │ ├── requirements.txt │ ├── run.py │ ├── init.sql # 数据库初始化脚本 │ ├── env.example # 环境变量示例 │ └── Dockerfile # Docker配置 ├── frontend/ # Vue3前端 │ ├── src/ │ │ ├── components/ │ │ ├── views/ │ │ ├── router/ │ │ ├── stores/ │ │ ├── utils/ │ │ └── style/ │ ├── package.json │ ├── vite.config.js │ └── Dockerfile # Docker配置 ├── docker-compose.yml # Docker部署配置 ├── start.bat # Windows启动脚本 ├── start.sh # Linux/Mac启动脚本 └── README.md ``` ## 技术栈 ### 后端 - Flask 2.3.x - SQLAlchemy (ORM) - Flask-JWT-Extended (JWT认证) - Flask-CORS (跨域处理) - MySQL 8.0 - PyMySQL (MySQL驱动) ### 前端 - Vue 3 - Vue Router 4 - Pinia (状态管理) - Element Plus (UI组件库) - Axios (HTTP客户端) - Vite (构建工具) ## 功能特性 - ✅ 用户管理(增删改查) - ✅ 角色管理(增删改查) - ✅ 权限管理(增删改查) - ✅ 菜单管理(增删改查) - ✅ JWT认证与授权 - ✅ 权限验证装饰器 - ✅ 动态路由生成 - ✅ 跨域处理 - ✅ 环境配置管理 - ✅ Docker容器化部署 - ✅ 响应式设计 ## 快速开始 ### 方式一:本地开发 #### 1. 环境准备 - Python 3.9+ - Node.js 16+ - MySQL 8.0 #### 2. 数据库设置 ```sql -- 创建数据库 CREATE DATABASE rbac_dev CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` #### 3. 后端设置 ```bash cd backend # 安装依赖 pip install -r requirements.txt # 复制环境变量文件 cp env.example .env # 修改.env文件中的数据库配置 # DEV_DATABASE_URL=mysql+pymysql://用户名:密码@localhost:3306/rbac_dev # 初始化数据库 python run.py init-db # 创建超级管理员 python run.py create-admin # 创建默认数据 python run.py create-default-data # 启动后端服务 python run.py ``` #### 4. 前端设置 ```bash cd frontend # 安装依赖 npm install # 启动开发服务器 npm run dev ``` #### 5. 访问系统 - 前端地址:http://localhost:3000 - 后端API:http://localhost:5000 - 默认管理员:admin / admin123 ### 方式二:Docker部署 #### 1. 使用Docker Compose ```bash # 启动所有服务 docker-compose up -d # 查看服务状态 docker-compose ps # 查看日志 docker-compose logs -f ``` #### 2. 访问系统 - 前端地址:http://localhost:3000 - 后端API:http://localhost:5000 - 数据库:localhost:3306 ## API文档 ### 认证相关 - `POST /api/auth/login` - 用户登录 - `POST /api/auth/refresh` - 刷新token - `GET /api/auth/profile` - 获取用户信息 - `PUT /api/auth/profile` - 更新用户信息 - `POST /api/auth/change-password` - 修改密码 ### 用户管理 - `GET /api/users` - 获取用户列表 - `POST /api/users` - 创建用户 - `GET /api/users/{id}` - 获取用户详情 - `PUT /api/users/{id}` - 更新用户 - `DELETE /api/users/{id}` - 删除用户 ### 角色管理 - `GET /api/roles` - 获取角色列表 - `POST /api/roles` - 创建角色 - `GET /api/roles/{id}` - 获取角色详情 - `PUT /api/roles/{id}` - 更新角色 - `DELETE /api/roles/{id}` - 删除角色 ### 权限管理 - `GET /api/permissions` - 获取权限列表 - `POST /api/permissions` - 创建权限 - `GET /api/permissions/{id}` - 获取权限详情 - `PUT /api/permissions/{id}` - 更新权限 - `DELETE /api/permissions/{id}` - 删除权限 ### 菜单管理 - `GET /api/menus` - 获取菜单列表 - `GET /api/menus/tree` - 获取菜单树 - `POST /api/menus` - 创建菜单 - `GET /api/menus/{id}` - 获取菜单详情 - `PUT /api/menus/{id}` - 更新菜单 - `DELETE /api/menus/{id}` - 删除菜单 ## 开发指南 ### 后端开发 1. 遵循Flask应用工厂模式 2. 使用SQLAlchemy进行数据库操作 3. 使用JWT进行身份认证 4. 使用装饰器进行权限验证 5. 使用蓝图组织API路由 ### 前端开发 1. 使用Vue 3 Composition API 2. 使用Pinia进行状态管理 3. 使用Element Plus组件库 4. 使用Vue Router进行路由管理 5. 使用Axios进行HTTP请求 ### 权限系统设计 1. **用户(User)**:系统用户 2. **角色(Role)**:用户角色的集合 3. **权限(Permission)**:具体的操作权限 4. **菜单(Menu)**:系统菜单项 5. **关联关系**: - 用户 ↔ 角色(多对多) - 角色 ↔ 权限(多对多) - 角色 ↔ 菜单(多对多) ## 部署说明 ### 生产环境配置 1. 修改环境变量 2. 配置数据库连接 3. 设置CORS允许的域名 4. 配置JWT密钥 5. 使用Nginx反向代理 ### 安全建议 1. 使用强密码策略 2. 定期更新依赖包 3. 启用HTTPS 4. 配置防火墙 5. 定期备份数据 ## 贡献指南 1. Fork项目 2. 创建功能分支 3. 提交代码 4. 创建Pull Request ## 许可证 MIT License ## 联系方式 如有问题,请提交Issue或联系开发者。