# 开源管理系统 **Repository Path**: dashu-03/open-sys ## Basic Information - **Project Name**: 开源管理系统 - **Description**: 🎉🎉🎉一套开源、轻量级,基于SpringBoot & Vue 3 前后端分离管理系统。 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 8 - **Forks**: 1 - **Created**: 2025-01-28 - **Last Updated**: 2026-01-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: 开源, 管理系统 ## README # Open-Sys 企业级后台管理系统
[![Spring Boot](https://img.shields.io/badge/Spring%20Boot-2.7.16-brightgreen.svg)](https://spring.io/projects/spring-boot) [![Vue](https://img.shields.io/badge/Vue.js-3.3.4-4fc08d.svg)](https://vuejs.org/) [![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![Java](https://img.shields.io/badge/Java-8+-orange.svg)](https://www.oracle.com/java/)
## 📋 项目简介 Open-Sys 是一个基于 **Spring Boot 2.7** + **Vue 3** + **TypeScript** 开发的现代化企业级后台管理系统。采用前后端分离架构,提供完整的RBAC权限管理、用户管理、菜单管理、代码生成器等核心功能,是快速构建企业级应用的理想起点。 ### ✨ 核心特性 - 🎯 **前后端分离**: Spring Boot RESTful API + Vue3 SPA - 🔐 **安全认证**: JWT Token + Redis 缓存 + 权限拦截器 - 👥 **RBAC权限**: 用户-角色-菜单多级权限控制 - 🔧 **代码生成器**: 数据库表一键生成全套CRUD代码 - 📊 **系统监控**: 在线用户、操作日志、服务器日志 - 🎨 **现代UI**: Element Plus + 响应式设计 - 📱 **移动适配**: 自适应多端显示 ## 🏗️ 项目架构 ``` open-sys/ ├── open-server/ # 服务启动模块 (Web入口) ├── open-base/ # 基础模块 (认证、拦截器、通用功能) ├── open-common/ # 公共模块 (工具类、异常处理、常量) ├── open-system/ # 系统管理模块 (用户、角色、菜单) ├── open-tool/ # 工具模块 (代码生成器、服务器日志) ├── open-generate/ # 代码生成核心 (模板引擎、数据库解析) ├── open-vue/ # 前端模块 (Vue3 + TypeScript) └── sql/ # 数据库脚本 ``` ### 核心模块职责 | 模块 | 职责 | 主要技术 | |------|------|----------| | **open-server** | 应用启动入口,统一API接口 | Spring Boot Web | | **open-base** | 认证授权、权限拦截、基础配置 | JWT、Redis、Spring AOP | | **open-common** | 通用工具、异常处理、结果封装 | 工具类、全局异常处理 | | **open-system** | 用户角色菜单管理、权限分配 | MyBatis、业务逻辑 | | **open-tool** | 代码生成、系统工具 | Velocity模板引擎 | | **open-generate** | 数据库元数据解析、代码模板 | 数据库连接、模板处理 | | **open-vue** | 前端界面、交互逻辑 | Vue3、Element Plus、Pinia | ## 🛠️ 技术栈 ### 后端技术栈 - **框架**: Spring Boot 2.7.16 - **安全**: JWT + 自定义权限拦截器 - **数据库**: MySQL 8.0 + MyBatis 2.1.4 - **缓存**: Redis - **连接池**: Druid 1.1.10 - **模板引擎**: Velocity 1.7 (代码生成) - **JSON**: FastJSON 2.0.53 - **日志**: Log4j2 + Disruptor (异步日志) ### 前端技术栈 - **框架**: Vue 3.3.4 - **构建工具**: Vite 4.4.5 - **UI组件**: Element Plus 2.3.14 - **状态管理**: Pinia 2.1.6 - **路由**: Vue Router 4.2.5 - **HTTP客户端**: Axios 1.5.1 - **样式**: SCSS + 响应式设计 ## 🚀 快速开始 ### 环境要求 - **JDK**: 8+ - **Node.js**: 16+ - **MySQL**: 8.0+ - **Redis**: 6.0+ - **Maven**: 3.6+ ### 后端部署 1. **克隆项目** ```bash git clone https://gitee.com/dashu-03/open-sys.git cd open-sys ``` 2. **数据库初始化** ```bash # 创建数据库 mysql -u root -p CREATE DATABASE open_sys CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; # 导入数据 mysql -u root -p open_sys < sql/open_sys.sql ``` 3. **配置修改** ```yaml # 编辑 open-server/src/main/resources/application.yml spring: datasource: url: jdbc:mysql://127.0.0.1:3306/open_sys?allowMultiQueries=true username: root password: 123456 redis: host: localhost port: 6379 ``` 4. **启动服务** ```bash mvn clean install cd open-server mvn spring-boot:run ``` 启动成功后访问: http://localhost:9090 ### 前端部署 1. **安装依赖** ```bash cd open-vue npm install ``` 2. **开发模式** ```bash npm run dev ``` 3. **生产构建** ```bash npm run build ``` ## 👨‍💻 使用指南 ### 默认账号 - **超级管理员**: admin / admin123 - **普通用户**: dashu / dashu123 --- ## 🎯 功能模块详细介绍 ### 🔐 1. 用户认证与安全模块 #### 🔑 登录认证功能 - **多重验证机制** - 用户名/密码登录 - 图形验证码验证(可系统配置开关) - 记住密码功能 - 登录失败记录 - **JWT Token 安全** - JWT Token 生成与验证 - Redis 缓存Token信息 - Token 自动续期机制 - 登录状态实时校验 - **用户注册功能** - 新用户注册 - 邮箱/手机号验证 - 密码强度校验 - 注册审核机制 #### 🚪 会话管理 - **安全退出** - 清除Token缓存 - 记录退出日志 - 会话状态清理 - **多端登录控制** - 单点登录支持 - 强制踢下线功能 - 并发登录限制 ### 👥 2. 用户管理模块 #### 👤 用户信息管理 - **基础信息维护** - 用户名、昵称、邮箱、手机号 - 头像上传与管理 - 个人资料编辑 - 密码修改功能 - **用户状态管理** - 用户启用/禁用 - 用户状态批量操作 - 用户信息导入导出 - **登录记录** - 最后登录IP记录 - 登录时间追踪 - 登录历史查询 #### 🔍 用户查询与搜索 - **多条件搜索** - 用户名模糊查询 - 状态筛选 - 角色筛选 - 创建时间范围查询 - **分页展示** - 自定义分页大小 - 快速跳转功能 - 总数统计显示 ### 🎭 3. 角色权限管理模块 #### 🏷️ 角色管理 - **角色CRUD操作** - 角色创建、编辑、删除 - 角色状态管理 - 角色权限字符串配置 - 超级管理员角色保护机制 - **权限分配** - 角色与菜单权限绑定 - 权限树形结构展示 - 批量权限分配 - 权限继承机制 #### 👑 RBAC权限模型 - **用户-角色-权限** - 用户多角色支持 - 角色多权限分配 - 权限动态加载 - 权限实时校验 - **权限控制粒度** - 菜单级权限控制 - 按钮级权限控制 - 接口级权限验证 - 数据级权限过滤 ### 📋 4. 菜单管理模块 #### 🌳 菜单结构管理 - **树形菜单** - 无限级菜单树 - 菜单拖拽排序 - 父子菜单关联 - 菜单层级展示 - **菜单类型** - **目录**: 菜单组织结构 - **菜单**: 具体页面入口 - **按钮**: 操作权限控制 #### ⚙️ 菜单配置 - **基础配置** - 菜单名称、图标、路径 - 显示顺序控制 - 菜单可见性设置 - 权限字符串配置 - **前端路由** - Vue Router 动态路由生成 - 路由权限守卫 - 面包屑导航自动生成 - 菜单高亮显示 ### 📊 5. 系统监控模块 #### 👥 在线用户管理 - **实时监控** - 当前在线用户列表 - 用户登录状态实时显示 - 在线用户数量统计 - 用户会话信息展示 - **管理操作** - 强制用户下线 - 批量踢出用户 - 用户搜索过滤 - 当前用户标识 #### 📋 操作日志管理 - **日志记录** - 用户登录日志 - 操作行为记录 - 系统异常日志 - API接口调用日志 - **日志查询** - 多维度日志搜索 - 日志内容模糊查询 - 操作人类型筛选 - 日志状态过滤 - 时间范围查询 - **日志分析** - 操作统计报表 - 异常行为分析 - 用户行为轨迹 - 系统使用频率统计 ### 📢 6. 通知公告模块 #### 📨 通知管理 - **通知类型** - **公告**: 系统公告发布 - **私信**: 点对点消息 - **跳转页面**: 链接跳转通知 - **强弹窗通知**: 重要提醒 - **通知操作** - 通知创建、编辑、删除 - 通知状态管理(启用/停用) - 通知内容富文本编辑 - 通知发送时间设置 #### 📤 消息推送 - **发送机制** - 立即发送 - 定时发送 - 批量发送 - 指定用户发送 - **接收管理** - 消息已读/未读状态 - 消息阅读记录 - 消息删除功能 - 消息搜索查询 ### ⚙️ 7. 系统配置模块 #### 🔧 通用配置 - **系统参数** - 验证码开关控制 - 系统标题设置 - 系统Logo配置 - 默认参数设置 - **配置管理** - 配置项增删改查 - 配置分类管理 - 配置值验证 - 配置热更新 #### 🎨 个人设置 - **个人信息** - 个人资料维护 - 头像上传更换 - 密码修改功能 - 偏好设置保存 - **权限信息展示** - 当前角色显示 - 权限列表查看 - 所有角色信息 - 登录信息展示 ### 🛠️ 8. 代码生成器模块 #### 🏭 代码生成功能 - **数据库连接** - 支持任意MySQL数据库连接 - 数据库连接测试功能 - 多数据源配置支持 - 连接参数保存 - **表结构解析** - 自动读取数据库表结构 - 字段类型智能映射 - 表注释信息解析 - 主键外键关系识别 #### 📝 模板代码生成 - **生成内容** - **后端代码**: - Entity 实体类 - Mapper 数据访问层 - Service 业务逻辑层 - Controller 控制器层 - XML 映射文件 - **前端代码**: - Vue 页面组件 - API 接口文件 - TypeScript 类型定义 - **模板定制** - Velocity 模板引擎 - 自定义代码模板 - 路径前缀配置 - 作者信息设置 - 包名配置管理 - **代码下载** - ZIP 压缩包下载 - 完整项目结构 - 即开即用的代码 - 规范的注释文档 ### 📊 9. 系统工具模块 #### 📜 服务器日志管理 - **日志操作** - 服务器日志预览 - 日志文件下载 - 日志内容搜索 - 日志清空功能 - **日志分析** - 错误日志统计 - 性能监控数据 - 系统运行状态 - 异常信息追踪 #### 🏠 系统首页 - **数据概览** - 在线用户数统计 - 系统运行状态 - 异常登录监控 - 系统使用统计 - **快捷操作** - 常用功能快速入口 - 个人信息快速查看 - 系统公告展示 - 待办事项提醒 ### ❌ 10. 错误处理模块 #### 🛡️ 错误页面 - **401 未授权页面** - 权限不足提示 - 友好的错误说明 - 返回首页引导 - **404 页面不存在** - 页面丢失提示 - 导航回主页 - 美观的错误展示 #### 🔧 全局异常处理 - **统一异常捕获** - 业务异常处理 - 系统异常记录 - 用户友好提示 - 异常日志记录 ### 🧪 11. 测试与开发模块 #### 💫 测试页面 - **功能测试** - Vue3 组件测试 - UI 样式测试 - 交互功能验证 - 响应式布局测试 --- ## 🎨 前端功能特性 ### 💫 用户体验 - **响应式设计**: 适配各种屏幕尺寸 - **主题定制**: 支持浅色/深色主题切换 - **国际化**: 多语言支持框架 - **无障碍**: ARIA 标准支持 ### ⚡ 性能优化 - **懒加载**: 路由和组件按需加载 - **缓存策略**: 静态资源缓存优化 - **代码分割**: Webpack 代码分割优化 - **图标优化**: SVG 图标按需加载 --- ## 🔒 安全特性 ### 🛡️ 安全防护 - **XSS 防护**: 输入内容转义处理 - **CSRF 防护**: Token 验证机制 - **SQL 注入防护**: MyBatis 参数化查询 - **敏感信息加密**: 密码 MD5 加密存储 ### 📊 权限安全 - **接口权限**: 基于注解的方法级权限控制 - **前端权限**: 指令式权限控制 - **数据权限**: 基于用户角色的数据过滤 - **菜单权限**: 动态菜单权限分配 ## 🔧 开发指南 ### 权限控制 ```java @RestController @RequestMapping("/api/users") public class UserController { @PostMapping("/create") @MethodPermission("system:user:add") // 权限控制 public Result createUser(@RequestBody User user) { return Result.success(userService.save(user)); } } ``` ### 全局异常处理 ```java @RestControllerAdvice public class GlobalExceptionHandler { @ExceptionHandler(ServiceException.class) public Result handleServiceException(ServiceException e) { return Result.error(e.getCode(), e.getMessage()); } } ``` ### 前端权限指令 ```vue ``` ## 📁 数据库设计 ### 核心表结构 - **sys_user**: 用户表 - **sys_role**: 角色表 - **sys_menu**: 菜单表 - **sys_user_role**: 用户角色关联表 - **sys_role_menu**: 角色菜单关联表 - **sys_log**: 操作日志表 - **sys_general_config**: 系统配置表 ### RBAC权限模型 ``` 用户(User) ←→ 用户角色(UserRole) ←→ 角色(Role) ←→ 角色菜单(RoleMenu) ←→ 菜单(Menu) ``` --- ## 📈 扩展功能规划 ### 🔄 流程管理 - **审批流程**: 可视化流程设计器 - **定时任务**: Quartz 定时任务管理 - **工作流引擎**: 业务流程自动化 ### 📊 数据处理 - **Excel 导入导出**: 模板化数据处理 - **报表系统**: 图表数据可视化 - **数据统计**: 业务数据分析 ### 🔐 安全增强 - **字段加解密**: 基于注解的字段加密 - **Spring Security**: 更完善的安全框架 - **OAuth2**: 第三方登录集成 ### 🎨 界面优化 - **前端暗色/亮色主题切换**: 个性化界面体验 - **菜单多级目录**: 更深层次的菜单结构支持 - **界面自定义**: 用户个性化界面配置 --- ## 🛣️ 功能对照表 | 模块分类 | 功能名称 | 实现状态 | 技术栈 | 说明 | |---------|---------|---------|--------|------| | **认证安全** | JWT认证 | ✅ 已实现 | JWT + Redis | Token认证机制 | | **认证安全** | 权限控制 | ✅ 已实现 | 自定义拦截器 | RBAC权限模型 | | **认证安全** | 登录验证码 | ✅ 已实现 | 图形验证码 | 可配置开关 | | **用户管理** | 用户CRUD | ✅ 已实现 | Spring Boot | 完整用户管理 | | **用户管理** | 角色分配 | ✅ 已实现 | 多对多关系 | 用户角色绑定 | | **角色权限** | 角色管理 | ✅ 已实现 | RBAC模型 | 角色权限分配 | | **菜单管理** | 动态菜单 | ✅ 已实现 | Vue Router | 权限菜单生成 | | **系统监控** | 在线用户 | ✅ 已实现 | Redis扫描 | 实时用户监控 | | **系统监控** | 操作日志 | ✅ 已实现 | MyBatis | 完整日志记录 | | **通知公告** | 消息推送 | ✅ 已实现 | 数据库通知 | 多类型通知 | | **系统配置** | 参数配置 | ✅ 已实现 | 配置管理 | 系统参数维护 | | **代码生成** | 代码生成器 | ✅ 已实现 | Velocity | 全栈代码生成 | | **工具模块** | 服务器日志 | ✅ 已实现 | 文件操作 | 日志管理工具 | | **界面功能** | 响应式设计 | ✅ 已实现 | Element Plus | 移动端适配 | | **界面功能** | 错误页面 | ✅ 已实现 | Vue组件 | 友好错误提示 | | **流程管理** | 审批流程 | 🔄 规划中 | 工作流引擎 | 业务流程管理 | | **数据处理** | Excel导入导出 | 🔄 规划中 | POI | 数据批量处理 | | **任务调度** | 定时任务 | 🔄 规划中 | Quartz | 任务调度管理 | | **安全增强** | 字段加解密 | 🔄 规划中 | 注解+AOP | 敏感数据保护 | | **安全增强** | Spring Security | 🔄 规划中 | Security框架 | 安全框架升级 | | **界面优化** | 主题切换 |✅ 已实现 | CSS变量 | 个性化主题 | --- ## 📊 功能统计 ### 🎯 系统概览 - **🏗️ 模块总数**: 11 个核心功能模块 - **⚡ 功能点**: 30+ 个主要功能 - **🔧 API接口**: 50+ 个 RESTful 接口 - **📱 前端页面**: 15+ 个管理页面 - **🗄️ 数据表**: 9 个核心业务表 ### 📈 代码规模 - **☕ 后端代码**: Java 类 100+ 个 - **🎨 前端代码**: Vue 组件 20+ 个 - **📝 配置文件**: 完善的配置体系 - **📚 文档覆盖**: 详细的功能文档 ### 🏆 技术亮点 - **🔐 安全认证**: JWT + Redis 双重保障 - **👑 权限系统**: 完整的 RBAC 权限模型 - **🏭 代码生成**: 智能化代码生成器 - **📊 系统监控**: 实时用户和日志监控 - **🎨 现代UI**: Vue3 + Element Plus 现代化界面 --- ## 📄 许可证 本项目采用 [MIT](LICENSE) 许可证。 ## 🤝 贡献指南 欢迎贡献代码和提出建议!参与方式: 1. **🍴 Fork 项目** ```bash git clone https://github.com/your-username/open-sys.git ``` 2. **🌿 创建功能分支** ```bash git checkout -b feature/amazing-feature ``` 3. **💾 提交更改** ```bash git commit -m 'Add some amazing feature' ``` 4. **📤 推送分支** ```bash git push origin feature/amazing-feature ``` 5. **🔄 创建 Pull Request** ### 🎯 贡献规范 - 遵循现有代码风格 - 添加适当的测试用例 - 更新相关文档 - 提交清晰的 commit 信息 ## 📞 联系方式 ### 🐛 问题反馈 - **Issues**: [GitHub Issues](https://github.com/your-repo/open-sys/issues) - **讨论区**: [GitHub Discussions](https://github.com/your-repo/open-sys/discussions) ### 💬 交流沟通 - **技术交流**: 欢迎提交 Issue 讨论技术问题 - **功能建议**: 欢迎提出新功能需求 - **Bug 报告**: 详细描述复现步骤 ### 📧 维护团队 - **项目负责人**: 大树03 - **技术支持**: 通过 GitHub Issue 获得帮助 - **更新频率**: 持续维护和功能迭代 --- ## 🎉 项目特色 ### ✨ 为什么选择 Open-Sys? 1. **🚀 开箱即用**: 完整的企业级功能,拿来即用 2. **🏗️ 架构清晰**: 模块化设计,易于扩展和维护 3. **🔧 代码生成**: 智能代码生成器,提升开发效率 4. **📚 文档完善**: 详细的功能说明和开发指南 5. **🛡️ 安全可靠**: 完善的权限体系和安全防护 6. **🎨 界面现代**: Vue3 + Element Plus 现代化UI 7. **💻 技术先进**: 采用最新的技术栈和最佳实践 8. **🔄 持续更新**: 活跃的开发团队,持续功能迭代 ### 🎯 适用场景 - **🏢 企业管理系统**: 完整的后台管理功能 - **🎓 学习参考**: 现代化的技术栈学习案例 - **🚀 项目基础**: 快速搭建企业级应用的基础框架 - **🔧 二次开发**: 基于现有功能进行业务定制 ---
### 🌟 如果这个项目对你有帮助,请给一个 Star! ![Stars](https://img.shields.io/github/stars/your-repo/open-sys?style=social) ![Forks](https://img.shields.io/github/forks/your-repo/open-sys?style=social) ![Issues](https://img.shields.io/github/issues/your-repo/open-sys) **Made with ❤️ by Open-Sys Team** **📞 联系我们 | 🤝 参与贡献 | 📚 查看文档 | ⭐ 给个Star**