# mars-admin-boot
**Repository Path**: Marsfactory/mars-admin-boot
## Basic Information
- **Project Name**: mars-admin-boot
- **Description**: 🔥 官方推荐 🔥 Mars-Admin是一套开源的精美快速开发平台,毫无保留给个人及企业免费使用,项目前后台分离, 高效率开发,一键生成前后台代码和菜单权限,中小企业快速开发脚手架。 前端采用Vue3、Naive-UI、 后端采用Spring Boot3、Mysql、Redis。 权限认证使用SaToken,支持多终端认证系统。 支持加载动态权限菜单,多方式轻松权限控制。
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2026-09-06
- **Last Updated**: 2026-09-09
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Mars Admin





**基于 Spring Boot 3 + Vue 3 的现代化后台管理系统**
[在线预览](https://marsadmin.cn/) | [开发文档](#开发指南) | [问题反馈](https://github.com/marsfactory/mars-system/issues)
## 在线演示
**演示地址:** [https://marsadmin.cn/](https://marsadmin.cn/)
**【火星编程导航】学编程做项目:** [https://mars-coder.cn/](https://mars-coder.cn/)
| 账号 | 密码 | 说明 |
|------|------|------|
| admin | admin123 | 管理员账号(演示模式,部分操作受限) |
> 也可以自行注册账号体验完整功能
---
## 项目简介
Mars Admin 是一个开箱即用的企业级后台管理系统,采用前后端分离架构,提供完整的权限管理、系统监控、消息推送、即时通讯等功能。后端采用**单模块 + 分包**架构,代码规范、结构清晰,适合作为企业后台管理系统的基础框架。
## 技术栈
### 后端
| 技术 | 版本 | 说明 |
|------|------|------|
| Spring Boot | 3.2.2 | 基础框架 |
| MyBatis-Plus | 3.5.5 | ORM 框架 |
| Sa-Token | 1.37.0 | 权限认证框架 |
| Redis | 7.0+ | 缓存/会话存储 |
| MySQL | 8.0+ | 数据库 |
| Quartz | 2.3.2 | 定时任务框架 |
| Hutool | 5.8.25 | Java 工具类库 |
| Warm-Flow | 1.8.5 | 工作流引擎 |
| MinIO | - | 对象存储(可选) |
| 阿里云 OSS | - | 对象存储(可选) |
### 前端(PC 管理后台)
| 技术 | 版本 | 说明 |
|------|------|------|
| Vue | 3.4.15 | 前端框架 |
| Vite | 5.0.11 | 构建工具 |
| TypeScript | 5.3.3 | 类型安全 |
| Naive UI | 2.37.3 | UI 组件库 |
| Pinia | 2.1.7 | 状态管理 |
| Vue Router | 4.2.5 | 路由管理 |
| Axios | 1.6.5 | HTTP 客户端 |
| ECharts | 6.0.0 | 图表库 |
| xterm.js | 6.0.0 | 终端模拟器 |
### 移动端(小程序)
| 技术 | 版本 | 说明 |
|------|------|------|
| UniApp | - | 跨平台框架 |
| uView Plus | 3.3.36 | UI 组件库 |
| crypto-js | 4.2.0 | 加密工具 |
## 项目结构
```
mars-admin-boot
├── mars-server/ # 统一后端服务(单模块)
│ ├── src/main/java/com/mars/
│ │ ├── MarsServerApplication.java # 启动类
│ │ ├── infra/ # 基础设施层
│ │ │ ├── common/ # 公共基础(异常、统一返回、工具类)
│ │ │ ├── db/ # 数据库配置(MyBatis-Plus、Druid)
│ │ │ ├── crypto/ # 加解密(RSA/AES)
│ │ │ ├── oss/ # 文件存储(本地/MinIO/阿里云OSS/腾讯云COS)
│ │ │ ├── mail/ # 邮件服务
│ │ │ ├── sms/ # 短信服务(阿里云/腾讯云)
│ │ │ ├── pay/ # 支付服务(微信/支付宝)
│ │ │ ├── push/ # 推送服务(钉钉/飞书/企业微信)
│ │ │ ├── wechat/ # 微信公众号/小程序
│ │ │ ├── social/ # 社交登录(微信/支付宝/苹果)
│ │ │ └── websocket/ # WebSocket 支持
│ │ └── module/ # 业务模块层
│ │ ├── api/ # 接口层
│ │ │ ├── admin/ # 后台管理接口
│ │ │ │ └── controller/ # auth/system/monitor/message/file/gen/workflow
│ │ │ ├── app/ # App 端接口
│ │ │ └── web/ # PC 端接口
│ │ ├── core/ # 平台核心
│ │ │ ├── system/ # 系统管理(用户、角色、菜单、部门等)
│ │ │ └── auth/ # 认证授权(登录策略工厂)
│ │ └── business/ # 业务功能
│ │ ├── file/ # 文件管理
│ │ ├── gen/ # 代码生成
│ │ ├── message/ # 消息中心(公告/聊天/群聊)
│ │ ├── workflow/ # 工作流(Warm-Flow)
│ │ ├── job/ # 定时任务(Quartz)
│ │ └── biz/ # 自定义业务模块
│ └── src/main/resources/
│ ├── application.yml
│ ├── application-dev.yml
│ ├── application-prod.yml
│ ├── mapper/ # MyBatis XML
│ ├── templates/gen/ # 代码生成模板
│ └── static/ # 前端构建产物(可选内嵌)
│
├── mars-ui/ # 后台管理前端(Vue 3)
│ ├── src
│ │ ├── api/ # API 接口定义
│ │ ├── components/ # 公共组件
│ │ ├── layout/ # 布局组件
│ │ ├── router/ # 路由配置
│ │ ├── stores/ # Pinia 状态管理
│ │ ├── utils/ # 工具函数
│ │ └── views/ # 页面组件
│ │ ├── dashboard/ # 控制台
│ │ ├── system/ # 系统管理
│ │ ├── monitor/ # 系统监控
│ │ ├── log/ # 日志管理
│ │ ├── message/ # 消息中心
│ │ ├── org/ # 组织管理
│ │ └── tool/ # 系统工具
│ └── package.json
│
├── mars-uniapp/ # 移动端小程序
│ ├── pages
│ │ ├── login/ # 登录页
│ │ ├── index/ # 首页
│ │ ├── chat/ # 私聊
│ │ ├── group-chat/ # 群聊
│ │ ├── contacts/ # 联系人
│ │ ├── group/ # 群组管理
│ │ └── profile/ # 个人中心
│ └── utils/
│
└── sql/ # 数据库脚本
└── mars-system.sql
```
### 后端分包说明
| 层级 | 包路径 | 说明 |
|------|--------|------|
| 基础设施 | `com.mars.infra.*` | 技术组件、第三方集成、公共工具 |
| 接口层 | `com.mars.module.api.*` | Controller、Web 配置 |
| 平台核心 | `com.mars.module.core.*` | 系统 RBAC、认证授权 |
| 业务功能 | `com.mars.module.business.*` | 文件、消息、工作流、定时任务等 |
## 功能特性
### 系统管理
- **用户管理** - 用户的增删改查、角色分配、状态管理、用户黑名单
- **角色管理** - 角色的权限配置、菜单分配、数据权限
- **菜单管理** - 菜单的增删改查、权限标识配置
- **部门管理** - 组织架构管理、树形结构展示
- **岗位管理** - 岗位的增删改查
- **字典管理** - 数据字典维护、字典项管理
- **系统配置** - 系统参数的动态配置(分组管理)
### 系统监控
- **在线用户** - 当前在线用户查看、强制下线
- **定时任务** - Quartz 任务调度、执行日志
- **服务监控** - 服务器 CPU、内存、JVM 信息
- **缓存监控** - Redis 缓存信息、键值管理
### 日志管理
- **登录日志** - 用户登录记录、登录地点
- **操作日志** - 用户操作记录、AOP 切面自动记录
### 消息中心
- **系统公告** - 公告发布、已读未读状态
- **即时通讯** - WebSocket 实时消息
- **私聊** - 一对一聊天
- **群聊** - 群组创建、成员管理、群消息
### 文件管理
- **文件上传** - 支持本地/MinIO/阿里云OSS
- **文件管理** - 文件列表、预览、下载、删除
### 代码生成
- **代码生成器** - 根据数据库表生成前后端代码
### 安全特性
- **验证码** - 图片验证码、滑块验证码、短信验证码
- **接口加密** - RSA 非对称加密传输
- **登录安全** - 登录失败限制、账号锁定
- **权限控制** - 基于 RBAC 的细粒度权限控制
- **多种登录方式** - 密码登录、短信登录、社交登录、小程序登录
### 扩展服务(策略工厂模式)
- **文件存储** - 本地存储 / MinIO / 阿里云 OSS
- **短信服务** - 控制台 / 阿里云 / 腾讯云
- **支付服务** - 微信支付 / 支付宝
- **推送服务** - 控制台 / 极光 / 友盟 / 个推
- **社交登录** - 微信公众号 / 微信小程序 / 支付宝 / 苹果
## 系统截图
### 登录页面

### 控制台首页

### 控制台首页暗黑首页

### 用户管理

### 系统配置

### 即时聊天

### 系统通知

### 文件管理

### 服务监控

## 快速开始
### 环境准备
- JDK 17+
- Maven 3.8+
- MySQL 8.0+
- Redis 7.0+
- Node.js 18+
### 后端启动
1. **克隆项目**
```bash
git clone https://gitee.com/Marsfactory/mars-admin.git
cd mars-admin
```
2. **初始化数据库**
```sql
-- 创建数据库
CREATE DATABASE mars-system DEFAULT CHARACTER SET utf8mb4;
-- 导入 SQL
mysql -u root -p mars-system < sql/mars-system.sql
```
3. **修改配置**
修改 `mars-server/src/main/resources/application-dev.yml` 中的数据库和 Redis 配置:
```yaml
spring:
datasource:
url: jdbc:mysql://localhost:3306/mars-system
username: root
password: your_password
data:
redis:
host: localhost
port: 6379
password:
database: 10
```
4. **启动项目**
```bash
# 编译打包
mvn clean package -pl mars-server -am -DskipTests
# 方式一:直接运行 jar
java -jar mars-server/target/mars-server-1.0.0.jar
# 方式二:Maven 启动
cd mars-server
mvn spring-boot:run
```
后端默认运行在 `http://localhost:8080`
### 前端启动
```bash
cd mars-ui
npm install
npm run dev
```
前端默认运行在 `http://localhost:3000`
### 移动端启动
使用 HBuilderX 打开 `mars-uniapp` 目录,运行到微信开发者工具即可。
### 默认账号
| 账号 | 密码 | 说明 |
|------|------|------|
| admin | admin123 | 超级管理员 |
> 支持自行注册账号体验
## 配置说明
### 文件存储配置
系统支持多种文件存储方式,通过系统配置动态切换:
- **本地存储** - 默认方式,文件存储在服务器本地
- **MinIO** - 分布式对象存储
- **阿里云 OSS** - 阿里云对象存储服务
### 短信服务配置
- **控制台输出** - 开发测试使用,验证码打印到控制台
- **阿里云短信** - 阿里云短信服务
- **腾讯云短信** - 腾讯云短信服务
### 支付服务配置
- **微信支付** - 微信支付 API v3
- **支付宝** - 支付宝开放平台
### 推送服务配置
- **控制台输出** - 开发测试使用
- **极光推送** - JPush
- **友盟推送** - UMeng Push
- **个推** - GeTui
### 社交登录配置
- **微信公众号** - 微信公众平台网页授权
- **微信小程序** - 微信小程序登录
- **支付宝** - 支付宝账号登录
- **苹果登录** - Sign in with Apple
## 开发指南
### 添加新业务模块
以新增「商品管理」为例,推荐在 `module.business` 下创建:
```
com.mars.module.business.product/
├── entity/Product.java
├── mapper/ProductMapper.java
├── service/ProductService.java
├── service/impl/ProductServiceImpl.java
└── (可选) controller/ProductController.java
```
在 `module.api.admin.controller` 下创建对外接口:
```
com.mars.module.api.admin.controller.product/ProductController.java
```
### 添加新模块(完整步骤)
1. 在 `module.business.{模块名}/entity` 下创建实体类
2. 在 `module.business.{模块名}/mapper` 下创建 Mapper 接口
3. 在 `module.business.{模块名}/service` 下创建 Service 接口和实现
4. 在 `module.api.admin.controller.{模块名}` 下创建 Controller
### 添加操作日志
使用 `@Log` 注解自动记录操作日志:
```java
import com.mars.module.core.system.annotation.Log;
import com.mars.module.core.system.enums.BusinessType;
import com.mars.infra.common.result.Result;
@Log(title = "用户管理", businessType = BusinessType.INSERT)
@PostMapping
public Result add(@RequestBody SysUser user) {
// ...
}
```
### 添加权限控制
使用 Sa-Token 注解进行权限控制:
```java
@SaCheckPermission("system:user:add")
@PostMapping
public Result add(@RequestBody SysUser user) {
// ...
}
```
### 添加新的登录方式
在 `module.core.auth.strategy` 下创建新的登录策略类,实现 `LoginStrategy` 接口:
```java
@Component
public class CustomLoginStrategy implements LoginStrategy {
@Override
public LoginResult login(LoginRequest request) {
// 自定义登录逻辑
}
}
```
## 更新日志
### v1.1.0 (2026-09-06)
- 重构后端为单模块 `mars-server`,采用分包架构替代多 Maven 模块
- 包结构分为 `infra`(基础设施)和 `module`(业务模块)两大层
- `module` 下细分为 `api`(接口层)、`core`(平台核心)、`business`(业务功能)
- 启动类更名为 `MarsServerApplication`
- 移除 mars-common / mars-infra / mars-core / mars-api / mars-job / mars-starter 等旧模块
### v1.0.0 (2026-02-08)
- 重构项目结构为分层架构(common/infra/core/api)
- 新增 mars-uniapp 移动端小程序(聊天办公)
- 新增群聊功能(群组创建、成员管理、群消息)
- 新增多种登录策略(密码/短信/社交/小程序)
- 新增社交登录(微信/支付宝/苹果)
- 新增代码生成器模块
- 新增文件存储策略工厂(本地/MinIO/OSS)
- 新增推送服务策略工厂(极光/友盟/个推)
- 新增短信服务策略工厂(阿里云/腾讯云)
- 新增支付服务策略工厂(微信/支付宝)
- 完善系统配置分组管理
- 优化登录页面(三种样式)
- 新增滑块验证码(弹窗拼图模式)
### v0.9.0 (2026-01-25)
- 完成字典管理和系统配置功能
- 实现部门和岗位管理
- 新增即时通讯功能(WebSocket)
- 优化前端界面和交互体验
### v0.8.0 (2026-01-20)
- 搭建项目基础框架
- 集成 Sa-Token 实现认证授权
- 完成前后端基础架构搭建
- 实现基础权限管理(用户、角色、菜单)
## 贡献指南
1. Fork 本仓库
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 创建 Pull Request
## 开源协议
本项目基于 [MIT License](LICENSE) 开源。
## 联系作者
- **微信**: mars8377或者mars3570
### 学习交流群

---
**如果这个项目对你有帮助,请给一个 Star 支持一下!**