# SpingBoot-Kaiyun **Repository Path**: alonel/sping-boot-kaiyun ## Basic Information - **Project Name**: SpingBoot-Kaiyun - **Description**: 这是一个Springboot项目脚手架,继承了基础功能,实现了权限增删改查等,只需要修改配置文件为自己的环境即可使用 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2026-03-17 - **Last Updated**: 2026-03-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Secure Nexus 一个基于 Vue 3 + Spring Boot 的前后端分离系统管理平台,提供完整的用户、角色、权限、部门、职位、字典等管理功能,集成天气信息展示,为企业级应用提供安全、高效的系统管理解决方案。 ## 功能特点 ### 系统管理 - **用户管理**:用户的增删改查、角色分配、密码重置、状态管理(基于字典) - **角色管理**:角色的增删改查、权限分配 - **权限管理**:权限的增删改查、菜单管理 - **部门管理**:部门的增删改查、树形结构展示 - **职位管理**:职位的增删改查、部门关联 - **字典管理**:字典的增删改查、类型管理、公共组件支持 - **参数管理**:系统参数的增删改查、状态管理 ### 其他功能 - **登录日志**:记录用户登录信息、设备信息、登录趋势图表 - **个人中心**:用户个人信息管理、密码修改、头像上传 - **首页**:系统概览、实时天气信息、最近登录日志展示 - **文件管理**:支持文件上传、下载、管理 ## 技术栈 ### 前端 - **框架**:Vue 3 (Composition API) - **UI 库**:Element Plus - **图表**:ECharts - **路由**:Vue Router - **HTTP 客户端**:Axios - **构建工具**:Vite - **样式**:CSS3 / SCSS ### 后端 - **框架**:Spring Boot 3.x - **ORM**:MyBatis Plus - **数据库**:MySQL 8.0+ - **认证**:Sa-Token - **API 文档**:Swagger 3.0 - **校验**:Jakarta Bean Validation - **工具**:Lombok、MapStruct - **存储**:MinIO(可选) - **天气 API**:高德地图天气 API ### 数据库 - **主数据库**:MySQL 8.0+ - **表结构**:包含用户、角色、权限、部门、职位、字典、参数、登录日志等表 ## 快速开始 ### 环境要求 - **JDK**:17+ - **MySQL**:8.0+ - **Node.js**:16+ - **npm**:8+ ### 安装步骤 #### 1. 克隆项目 ```bash git clone https://github.com/yourusername/secure-nexus.git cd secure-nexus ``` #### 2. 后端安装 ##### 2.1 创建数据库 - 创建名为 `secure_nexus` 的数据库 - 执行 `secure-backend/src/main/resources/rbac-schema.sql` 文件,初始化表结构和基础数据 ##### 2.2 配置数据库连接 - 修改 `secure-backend/src/main/resources/application.yml` 文件,配置数据库连接信息 ##### 2.3 配置天气 API(可选) - 修改 `secure-backend/src/main/resources/application.yml` 文件,配置高德地图天气 API 密钥 ##### 2.4 构建并运行 ```bash cd secure-backend mvn clean install mvn spring-boot:run ``` #### 3. 前端安装 ##### 3.1 安装依赖 ```bash cd secure-fronted npm install ``` ##### 3.2 配置 API 地址 - 修改 `secure-fronted/src/util/request.js` 文件中的 `baseURL`,指向后端 API 地址 ##### 3.3 构建并运行 ```bash npm run dev ``` ### 访问系统 - **前端地址**:http://localhost:5173 - **后端 API 地址**:http://localhost:8054/api - **Swagger 地址**:http://localhost:8054/api/doc.html - **默认账号**:admin / admin123 ## 项目结构 ### 前端结构 ``` secure-fronted/ ├── public/ # 静态资源 │ └── images/ # 图片资源 ├── src/ │ ├── api/ # API 接口 │ │ └── business/ # 业务接口 │ ├── components/ # 组件 │ │ └── common/ # 公共组件 │ ├── layouts/ # 布局 │ ├── router/ # 路由 │ ├── store/ # 状态管理 │ ├── util/ # 工具类 │ ├── views/ # 页面 │ │ ├── business/ # 业务页面 │ │ │ ├── home/ # 首页 │ │ │ ├── login/ # 登录 │ │ │ ├── profile/ # 个人中心 │ │ │ └── system/ # 系统管理 │ ├── App.vue # 根组件 │ └── main.js # 入口文件 ├── index.html # HTML 模板 ├── package.json # 依赖配置 └── vite.config.js # Vite 配置 ``` ### 后端结构 ``` secure-backend/ ├── src/ │ ├── main/ │ │ ├── java/com/secure/nexus/ │ │ │ ├── business/ # 业务模块 │ │ │ │ ├── auth/ # 认证服务 │ │ │ │ ├── external/ # 外部服务(天气) │ │ │ │ ├── file/ # 文件服务 │ │ │ │ └── sys/ # 系统管理 │ │ │ ├── common/ # 公共模块 │ │ │ ├── config/ # 配置 │ │ │ ├── exception/ # 异常处理 │ │ │ ├── result/ # 响应结果 │ │ │ ├── service/ # 公共服务 │ │ │ ├── utils/ # 工具类 │ │ │ └── SecureNexusApplication.java # 应用入口 │ │ └── resources/ │ │ ├── mapper/ # MyBatis 映射文件 │ │ ├── application.yml # 应用配置 │ │ └── rbac-schema.sql # 数据库脚本 │ └── test/ # 测试代码 ├── pom.xml # Maven 配置 └── README.md # 后端说明 ``` ## 核心功能 ### 1. 权限管理 - **基于角色的访问控制 (RBAC)** - **动态路由**:根据用户权限动态生成前端路由 - **菜单管理**:通过权限管理配置系统菜单 - **细粒度权限**:支持按钮级别的权限控制 ### 2. 字典管理 - **字典类型**:对字典进行分类管理 - **字典项**:具体的字典键值对 - **公共组件**:提供 `DictSelect` 组件,方便在各处使用字典 - **状态管理**:支持字典的启用/禁用状态 ### 3. 部门与职位管理 - **树形结构**:部门以树形结构展示 - **职位关联**:职位与部门关联,方便用户职位管理 - **层级管理**:支持部门的层级结构 ### 4. 登录日志 - **详细记录**:记录登录时间、IP、设备信息、浏览器信息 - **设备识别**:解析用户代理,识别设备类型 - **图表展示**:在首页以图表形式展示登录趋势 - **分页查询**:支持登录日志的分页查询和筛选 ### 5. 个人中心 - **信息管理**:修改个人基本信息 - **密码修改**:安全的密码修改流程 - **头像上传**:支持用户头像上传和更新 ### 6. 天气信息 - **实时天气**:展示当前城市的实时天气信息 - **美观样式**:天气信息采用美观的卡片式设计 - **自动更新**:定期自动更新天气数据 ## API 文档 系统集成了 Swagger 3.0,可通过以下地址访问 API 文档: - **Swagger 地址**:http://localhost:8054/api/doc.html ## 开发指南 ### 前端开发 1. **创建页面**:在 `src/views/business` 目录下创建业务页面 2. **配置路由**:前端路由由后端权限动态生成,无需手动配置 3. **API 调用**:在 `src/api` 目录下创建 API 接口文件 4. **组件开发**:在 `src/components` 目录下创建可复用组件 5. **样式开发**:使用 Element Plus 组件库,遵循其设计规范 ### 后端开发 1. **创建实体**:在 `business/sys/entity` 目录下创建实体类 2. **创建 DTO**:在 `business/sys/dto` 目录下创建数据传输对象 3. **创建 Mapper**:在 `business/sys/dao` 目录下创建 Mapper 接口 4. **创建 Service**:在 `business/sys/service` 目录下创建服务接口和实现 5. **创建 Controller**:在 `business/sys/controller` 目录下创建控制器 6. **配置权限**:在数据库中配置相应的权限和菜单 7. **添加翻译器**:在 `business/sys/translator` 目录下创建 DTO-实体转换类 ## 部署说明 ### 前端部署 1. **构建生产版本** ```bash cd secure-fronted npm run build ``` 2. **部署静态文件**:将 `dist` 目录下的文件部署到 Nginx 或其他静态文件服务器 ### 后端部署 1. **构建生产版本** ```bash cd secure-backend mvn clean package -DskipTests ``` 2. **部署 jar 包**:将 `target` 目录下的 jar 包部署到服务器 3. **启动服务** ```bash java -jar secure-backend-1.0.0.jar ``` ### Nginx 配置示例 ```nginx server { listen 80; server_name your-domain.com; # 前端静态资源 location / { root /path/to/secure-fronted/dist; index index.html; try_files $uri $uri/ /index.html; } # 后端 API 代理 location /api/ { proxy_pass http://localhost:8054/api/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } ``` ## 许可证 本项目采用 MIT 许可证 - 详情请参阅 [LICENSE](LICENSE) 文件 ## 联系方式 - **项目地址**:https://github.com/yourusername/secure-nexus - **问题反馈**:请在 GitHub 上提交 Issue --- **Secure Nexus** - 为企业级应用提供安全、高效的系统管理解决方案。