文档地址:https://apebbs.cn/docs/minimalist-saas/1.0.0/introduction.html
Gitee:https://gitee.com/marlife/minimalist-saas
Github:https://github.com/lmq2582609/minimalist-saas
管理员账号/密码: admin/111111
租户账号/密码:dongdong/111111
这个项目最初是作者为了巩固技术栈、熟悉多租户架构而写的项目,大家参考看看思路。如果你刚好需要一个带多租户能力的基础脚手架,在这个项目上改改也能用。有想法或者建议欢迎提 Issue 或 PR,一起完善。
- 用户管理:用户增删改查、密码重置、状态管理
- 角色管理:角色分配、权限配置
- 权限管理:菜单权限配置,支持树形结构
- 部门管理:部门树形结构管理,支持启用/关闭
- 岗位管理:岗位信息管理,支持启用/关闭
- 字典管理:系统级字典配置
- 系统通知:系统公告与通知管理
- 文件存储:文件上传与管理,支持本地及云存储(七牛云)
- 租户管理:租户创建、数据源配置、套餐管理
- 租户套餐:租户权限套餐分配与同步
- 功能配置:系统级和租户级功能开关配置
- 接口文档:集成 Knife4j,自动生成 API 文档
- 数据库级隔离:每个租户独立数据库,数据彻底隔离
- 自动初始化:创建租户时自动建库建表、插入初始数据
- 主库索引路由:主库存储用户索引,登录时自动路由到租户库
- 动态数据源:运行时动态注册/切换租户数据源
| 名称 | 版本 | 说明 |
|---|---|---|
| Vue | 3.2.47 | 前端框架 |
| Vite | 4.3.2 | 构建工具 |
| Arco-Design | 2.45.3 | UI 组件库 |
| Windicss | 3.5.6 | CSS 框架 |
| Vue-Router | 4.1.6 | 路由 |
| Vueuse | 10.1.2 | 工具函数库 |
| Axios | 1.4.0 | HTTP 客户端 |
| Pinia | 2.0.36 | 状态管理 |
| Tinymce | 6.6.0 | 富文本编辑器 |
| 名称 | 版本 | 说明 |
|---|---|---|
| Java | 21 | |
| SpringBoot | 3.1.4 | 开发框架 |
| Mybatis-flex | 1.9.7 | ORM 框架 |
| Satoken | 1.39.0 | 权限认证框架 |
| Dynamic-Datasource | 4.3.1 | 多数据源管理 |
| Redisson | 3.36.0 | Redis 客户端 |
| Knife4j | 4.1.0 | API 文档 |
| Hutool | 5.8.32 | 工具库 |
| Mica-xss | 3.3.2 | XSS 防护 |
| 名称 | 版本 |
|---|---|
| MySQL | 8.0.24 |
| Redis | 7.2.4 |
| 环境 | 版本要求 |
|---|---|
| JDK | 21+ |
| Maven | 3.6+ |
| MySQL | 8.0+ |
| Redis | 7.0+ |
| Node.js | 16+ |
- 克隆项目
git clone https://gitee.com/marlife/minimalist-saas.git
cd minimalist-saas- 初始化数据库
创建 MySQL 数据库 minimalist,执行 SQL 脚本:
resources/sql/mysql/minimalist.sql
- 修改配置
编辑 minimalist-application/src/main/resources/application-dev.yml,修改数据库和 Redis 连接信息。
- 启动项目
运行 MinimalistBasicApplication 启动类,默认端口 http://localhost:9090/minimalist。
cd minimalist-vue3
npm install
npm run devminimalist-saas
├── minimalist-application # 启动模块(配置文件、启动类)
├── minimalist-basic # 基础模块(业务代码)
│ ├── config # 配置类(数据源、Sa-Token、多租户等)
│ ├── controller # 控制器
│ ├── entity # 实体类(PO / VO)
│ ├── mapper # MyBatis-Flex Mapper
│ ├── service # 业务服务层
│ ├── manager # 通用业务处理
│ ├── mq # 消息队列(Redis Pub/Sub)
│ └── utils # 工具类
├── minimalist-vue3 # 前端项目(Vue3 + Vite + Arco Design)
├── resources/sql # SQL 脚本
└── docs # 设计文档
# 开发环境
mvn clean package -P dev
# 生产环境
mvn clean package -P prod生成 minimalist-application/target/minimalist-saas-backend.jar,启动:
java -jar minimalist-saas-backend.jar --spring.profiles.active=prodcd minimalist-vue3
npm run build:prod产物在 dist/ 目录,部署到 Nginx 即可。
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Copyright (c) 2023 小太阳
















