# 开源管理系统
**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 企业级后台管理系统
[](https://spring.io/projects/spring-boot)
[](https://vuejs.org/)
[](LICENSE)
[](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!



**Made with ❤️ by Open-Sys Team**
**📞 联系我们 | 🤝 参与贡献 | 📚 查看文档 | ⭐ 给个Star**