# Gimme
**Repository Path**: DoverLee/Gimme
## Basic Information
- **Project Name**: Gimme
- **Description**: https://github.com/gcd888/Gimme.git
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: feature/multi-tenant
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-08-07
- **Last Updated**: 2026-08-07
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Gimme | 景明
企业级 Spring Cloud 微服务脚手架 | 基于 RBAC 权限的全栈后台管理系统
当前 master 分支为 单租户版本 | 多租户版本请切换至 feature/multi-tenant 分支
---
## 平台简介
Gimme 是一套企业级 Spring Cloud 微服务脚手架,采用前后端分离架构,提供完整的 RBAC 权限管理、双端认证(管理端 + 移动端)等核心能力。项目基于 Spring Boot 3.x + Spring Cloud 2025 构建,整合 Nacos、Sentinel、Seata、RocketMQ 等主流中间件,帮助企业快速搭建微服务应用系统。
### 核心特性
| 特性 | 描述 | 状态 |
|------|------|------|
| **微服务架构** | 基于 Spring Cloud 全家桶,服务注册/配置中心、网关、熔断限流、分布式事务一站式整合 | ✅ |
| **RBAC 权限管理** | 用户-角色-菜单三级权限控制,支持按钮级别细粒度权限 | ✅ |
| **多租户支持** | MyBatis-Plus 租户插件实现数据隔离,一套系统服务多个租户 | 🔥 |
| **双端认证** | 管理端密码登录 + 移动端短信登录,RSA 加密 + JWT 无状态认证 | ✅ |
| **代码生成器** | 一键生成 Entity、Mapper、Service、Controller 代码,大幅提升开发效率 | ✅ |
| **可观测性** | 集成操作日志、登录日志、在线用户监控、服务健康检查 | ✅ |
| **多级缓存** | Redis + Caffeine 二级缓存架构,支持缓存预热与失效策略 | ✅ |
| **分布式事务** | Seata AT 模式,支持全局事务管理 | ✅ |
| **消息队列** | RocketMQ 异步解耦,支持分布式事务消息 | ✅ |
### 版本说明
项目通过 Git 分支管理**单租户**与**多租户**两个版本,满足不同业务场景需求:
| 对比项 | 单租户版本(默认) | 多租户版本 |
|--------|-------------------|-----------|
| **分支** | `master` / `feature/single-tenant` | `feature/multi-tenant` |
| **数据隔离** | 无 `tenant_id` 字段,所有数据共享 | MyBatis-Plus 租户插件自动追加 `tenant_id` 条件 |
| **租户管理** | ❌ 无 | ✅ 租户管理 + 套餐管理 |
| **认证流程** | 简化(无租户解析) | 包含租户编码解析逻辑 |
| **缓存键** | 无租户段 | 包含 `tenantId` 段,避免缓存串租户 |
| **请求头** | 无 `X-Tenant-Id` | Gateway 注入 `X-Tenant-Id` 透传租户上下文 |
| **适用场景** | 单一组织 / 企业内部系统 | SaaS 平台 / 多组织隔离 |
> 当前 `master` 分支为**单租户版本**。如需多租户能力,请切换分支:
> ```bash
> git checkout feature/multi-tenant
> ```
## 技术栈
### 后端技术
| 分类 | 技术 | 说明 | 版本 |
|------|------|------|------|
| 语言 | JDK | Java 开发工具包 | 17+ |
| 框架 | Spring Boot | 基础框架 | 3.5.9 |
| 框架 | Spring Cloud | 微服务框架 | 2025.0.0 |
| 框架 | Spring Cloud Alibaba | 阿里巴巴微服务套件 | 2023.0.3.4 |
| 注册中心 | Nacos | 服务注册/配置中心 | 2.2+ |
| 网关 | Spring Cloud Gateway | 微服务网关 | - |
| 熔断限流 | Sentinel | 熔断限流 | - |
| 分布式事务 | Seata | 分布式事务 | 1.7+ |
| ORM | MyBatis-Plus | ORM 持久层框架 | 3.5.15 |
| 数据库 | MySQL | 关系型数据库 | 8.0+ |
| 连接池 | Druid | 数据库连接池 | 1.2.23 |
| 缓存 | Redis | 分布式缓存 | 6.0+ |
| 分布式锁 | Redisson | 分布式锁 | 3.52.0 |
| 本地缓存 | Caffeine | 本地缓存 | 3.1.8 |
| 消息队列 | RocketMQ | 消息队列 | 5.0+ |
| API文档 | Knife4j | API 接口文档 | 4.5.0 |
| 认证 | JWT | 令牌认证 | 0.12.5 |
| 加密 | RSA | 非对称加密 | - |
| 工具类 | Hutool | Java 工具类库 | 5.8.19 |
| Excel | FastExcel | Excel 处理 | 1.3.0 |
### 前端技术
| 技术 | 说明 | 版本 |
|------|------|------|
| Vue 3 | 渐进式 JavaScript 框架 | 3.x |
| TypeScript | JavaScript 超集 | 5.x |
| Vite | 下一代前端构建工具 | 5.x |
| Element Plus | Vue 3 UI 组件库 | 2.x |
| Pinia | Vue 状态管理 | 2.x |
| Vue Router | 路由管理 | 4.x |
| UnoCSS | 原子化 CSS 引擎 | - |
| ECharts | 数据可视化图表 | 5.x |
| vxe-table | 高性能表格组件 | 4.x |
| Axios | HTTP 请求库 | - |
## 系统架构
### 架构图
⬇
|
|
|
🚪 Spring Cloud Gateway (8080) JWT 鉴权 · 路由转发 · 限流熔断 |
|
|
|
⬇
🔐 Auth 认证服务 · 8001 |
⚙️ System 系统服务 · 8011 |
📊 Monitor 监控服务 · 8021 |
📁 OSS 文件服务 · 8031 |
⏰ Task 定时任务 · 8041 |
🔄 Workflow 工作流 · 8051 |
📧 Notify 通知服务 · 8061 |
⬇
|
|
|
🔗 Service Communication OpenFeign · Sentinel · Seata |
|
|
|
⬇
📦 Nacos 注册/配置中心 · ×3 |
⚡ Redis 缓存/会话 · ×3 |
🗄️ MySQL 主从读写分离 |
📨 RocketMQ 异步消息 · ×3 |
🔄 Seata 分布式事务 · ×3 |
📊 Prometheus 监控告警 |
📈 Grafana 可视化面板 |
### 服务端口
| 服务 | 端口 | 说明 |
|------|------|------|
| gimme-gateway | 8080 | API 网关(统一入口) |
| gimme-auth | 8001 | 认证服务(登录、Token 管理) |
| gimme-system | 8011 | 系统管理服务(用户/角色/菜单/部门) |
| gimme-monitor | 8021 | 监控服务(日志/在线用户/服务健康) |
| gimme-oss | 8031 | 文件存储服务(S3/WebDAV/MCP) |
| gimme-task | 8041 | 定时任务服务 |
| gimme-workflow | 8051 | 工作流服务(Flowable) |
| gimme-notify | 8061 | 通知服务(短信/邮件) |
## 系统模块
```
Gimme
├─ doc // 文档与资源
│ ├─ img // 图片资源
│ └─ sql // 数据库脚本
├─ gimme-common // 公共模块(11 个子模块)
│ ├─ common-core // 核心工具(Result、异常、常量)
│ ├─ common-security // 安全认证(JWT、RSA、权限注解)
│ ├─ common-mybatis // 数据访问(分页、自动填充、乐观锁)
│ ├─ common-redis // 缓存(Redisson、Caffeine 二级缓存)
│ ├─ common-rocketmq // 消息队列
│ ├─ common-seata // 分布式事务
│ ├─ common-sentinel // 熔断限流
│ ├─ common-sse // 服务端推送
│ ├─ common-log // 操作日志
│ ├─ common-swagger // 接口文档(Knife4j)
│ └─ common-web // Web 通用配置
├─ gimme-model // 数据模型
│ ├─ model-gen // 代码生成的实体(禁止手动修改)
│ └─ model-custom // 手写的 RO/VO/枚举
├─ gimme-feign // Feign 远程调用
│ └─ feign-system // 系统服务 Feign 客户端
├─ gimme-gen // 代码生成器
│ ├─ gen-coder // MyBatis-Plus 代码生成引擎
│ └─ gen-system // 生成的 CRUD 代码
├─ gimme-auth // 认证服务(策略模式多端登录)
├─ gimme-gateway // 网关服务(JWT 验证、路由转发)
├─ gimme-modular // 业务模块
│ ├─ gimme-system // 系统管理(用户/角色/菜单/部门)
│ ├─ gimme-monitor // 系统监控(日志/在线用户/服务健康)
│ ├─ gimme-oss // 对象存储(S3/WebDAV/MCP 多后端)
│ ├─ gimme-task // 定时任务
│ ├─ gimme-workflow // 工作流引擎(Flowable)
│ └─ gimme-notify // 通知服务(短信/邮件)
└─ gimme-ui // 前端项目
└─ Gimme-ui-admin // 管理后台(Vue 3 + Element Plus)
```
### 模块依赖关系
```
model-gen / model-custom → common-core → common-* → gimme-feign → 业务模块
```
---
## 🔧 内置功能
### 📦 系统管理模块
| 功能 | 图标 | 描述 |
|------|------|------|
| **用户管理** | 👤 | 用户增删改查、角色分配、密码重置、状态管理 |
| **角色管理** | 🎭 | 角色创建、权限配置、菜单权限、数据权限控制 |
| **菜单管理** | 📋 | 树形菜单配置、按钮权限、路由配置、图标选择 |
| **部门管理** | 🏢 | 树形组织架构、部门层级管理、数据权限隔离 |
| **岗位管理** | 💼 | 岗位创建、用户岗位关联、岗位排序 |
| **字典管理** | 📖 | 数据字典配置、枚举自动生成、多级字典支持 |
| **参数配置** | ⚙️ | 系统运行参数动态配置、热加载生效 |
| **通知公告** | 📢 | 公告发布、状态管理、有效期设置 |
### 🏢 平台管理模块(多租户版本)
| 功能 | 图标 | 描述 |
|------|------|------|
| **套餐管理** | 🎁 | 功能套餐配置、权限范围定义、套餐定价 |
| **租户管理** | 🏠 | 租户创建、套餐绑定、状态管理、数据隔离 |
### 📊 系统监控模块
| 功能 | 图标 | 描述 |
|------|------|------|
| **登录日志** | 🔐 | 用户登录记录、IP追踪、登录状态、失败原因 |
| **操作日志** | 📝 | 接口操作记录、请求参数审计、响应时间统计 |
| **在线用户** | 🟢 | 当前在线用户查看、强制下线、SSE 实时推送 |
| **服务监控** | 📈 | JVM、CPU、内存、磁盘等实时监控指标 |
| **缓存监控** | 💾 | Redis 缓存信息、缓存命中率、数据管理 |
| **数据监控** | 📊 | Druid 数据源监控、SQL 执行统计 |
### ⚡ 系统工具模块
| 功能 | 图标 | 描述 |
|------|------|------|
| **代码生成** | 🚀 | 一键生成 CRUD 代码、自定义模板支持 |
| **文件管理** | 📁 | 对象存储管理、多后端支持(S3/WebDAV/MCP) |
| **定时任务** | ⏰ | XXL-JOB 任务调度、执行日志、动态启停 |
---
## 🎨 演示效果图
### 登录页面
系统提供简洁现代的登录界面,支持密码登录与验证码验证。

### 首页仪表盘
数据可视化仪表盘,展示系统概览、在线用户、访问统计等关键指标。

### 系统管理
| 用户管理 | 角色管理 |
|----------|----------|
|  |  |
| 菜单管理 | 部门管理 |
|----------|----------|
|  |  |
| 岗位管理 | 字典管理 |
|----------|----------|
|  |  |
| 参数管理 | 通知公告 |
|----------|----------|
|  |  |
### 平台管理(多租户版本)
| 租户管理 | 套餐管理 |
|----------|----------|
|  |  |
### 系统监控
| 在线用户 | 登录日志 |
|----------|----------|
|  |  |
| 操作日志 | 服务监控 |
|----------|----------|
|  |  |
| 数据监控 | 缓存监控 |
|----------|----------|
|  |  |
### 系统工具
| 定时任务 | 缓存管理 |
|----------|----------|
|  |  |
---
## 🚀 快速开始
### 环境要求
| 环境 | 版本要求 | 说明 |
|------|----------|------|
| JDK | 17+ | 推荐使用 GraalVM 或 OpenJDK |
| Maven | 3.8+ | 构建工具 |
| Node.js | 18+ | 前端运行环境 |
| pnpm | 8+ | 前端包管理器(必须使用 pnpm) |
| MySQL | 8.0+ | 关系型数据库 |
| Redis | 6.0+ | 分布式缓存 |
| Nacos | 2.2+ | 服务注册/配置中心 |
| RocketMQ | 5.0+ | 消息队列 |
| Seata | 1.7+ | 分布式事务 |
### 后端启动
```bash
# 1. 创建数据库并执行 SQL 脚本
mysql -u root -p < doc/sql/gimme_system.sql
# 2. 启动中间件(Nacos、Redis、RocketMQ、Seata)
# 参考 docker/ 目录下的 docker-compose.yml
cd docker/nacos && docker-compose up -d
cd docker/seata && docker-compose up -d
# 3. 构建整个项目
mvn clean install -DskipTests
# 4. 启动服务(按顺序)
# 网关服务(端口 8080)
cd gimme-gateway && mvn spring-boot:run
# 认证服务(端口 8001)
cd gimme-auth && mvn spring-boot:run
# 系统服务(端口 8011)
cd gimme-modular/gimme-system && mvn spring-boot:run
# 监控服务(端口 8021)
cd gimme-modular/gimme-monitor && mvn spring-boot:run
# 文件存储服务(端口 8031,可选)
cd gimme-modular/gimme-oss && mvn spring-boot:run
# 定时任务服务(端口 8041,可选)
cd gimme-modular/gimme-task && mvn spring-boot:run
```
### 前端启动
```bash
cd gimme-ui/Gimme-ui-admin
# 安装依赖(必须使用 pnpm)
pnpm install
# 启动开发服务器
pnpm dev
# 访问 http://localhost:5173
```
### 默认账号
| 账号 | 密码 | 说明 |
|------|------|------|
| admin | Gimme@123 | 超级管理员(可在系统配置中修改) |
## 🐳 Docker 部署
项目提供 Docker Compose 一键部署中间件集群:
```bash
# 启动 Nacos 集群
cd docker/nacos && docker-compose up -d
# 启动 Seata 集群
cd docker/seata && docker-compose up -d
```
## 📁 项目地址
| 项目 | 地址 |
|------|------|
| 后端 | [https://github.com/gcd888/Gimme](https://github.com/gcd888/Gimme) |
| 前端 | [gimme-ui/Gimme-ui-admin](gimme-ui/Gimme-ui-admin) |
## 📚 技术文档
| 技术 | 文档地址 |
|------|----------|
| Spring Boot | [https://springdoc.cn/spring-boot/](https://springdoc.cn/spring-boot/) |
| Spring Cloud | [https://springdoc.cn/spring-cloud/](https://springdoc.cn/spring-cloud/) |
| Spring Cloud Alibaba | [https://sca.aliyun.com/](https://sca.aliyun.com/) |
| MyBatis-Plus | [https://baomidou.com/](https://baomidou.com/) |
| Knife4j | [https://doc.xiaominfo.com/](https://doc.xiaominfo.com/) |
| Vue 3 | [https://cn.vuejs.org/](https://cn.vuejs.org/) |
| Element Plus | [https://element-plus.org/](https://element-plus.org/) |
| Nacos | [https://nacos.io/](https://nacos.io/) |
| Sentinel | [https://sentinelguard.io/](https://sentinelguard.io/) |
| Seata | [https://seata.io/](https://seata.io/) |
| RocketMQ | [https://rocketmq.apache.org/](https://rocketmq.apache.org/) |
| Redisson | [https://redisson.org/](https://redisson.org/) |
## 📄 开源协议
本项目基于 [Apache License 2.0](LICENSE) 开源协议发布,免费开源,可用于个人和商业项目。
---
**如果觉得项目对你有帮助,欢迎 Star 支持一下!** ⭐