# 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

logo

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 请求库 | - | ## 系统架构 ### 架构图
🌐 Load Balancer (Nginx)

⬇
🚪 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 任务调度、执行日志、动态启停 | --- ## 🎨 演示效果图 ### 登录页面 系统提供简洁现代的登录界面,支持密码登录与验证码验证。 ![登录页面](docs/img/登录页面.png) ### 首页仪表盘 数据可视化仪表盘,展示系统概览、在线用户、访问统计等关键指标。 ![首页仪表盘](docs/img/首页仪表盘.png) ### 系统管理 | 用户管理 | 角色管理 | |----------|----------| | ![用户管理](docs/img/用户管理.png) | ![角色管理](docs/img/角色管理.png) | | 菜单管理 | 部门管理 | |----------|----------| | ![菜单管理](docs/img/菜单管理.png) | ![部门管理](docs/img/部门管理.png) | | 岗位管理 | 字典管理 | |----------|----------| | ![岗位管理](docs/img/岗位管理.png) | ![数据字典](docs/img/数据字典.png) | | 参数管理 | 通知公告 | |----------|----------| | ![参数管理](docs/img/参数管理.png) | ![通知公告](docs/img/通知公告.png) | ### 平台管理(多租户版本) | 租户管理 | 套餐管理 | |----------|----------| | ![租户管理](docs/img/租户管理.png) | ![套餐管理](docs/img/套餐管理.png) | ### 系统监控 | 在线用户 | 登录日志 | |----------|----------| | ![在线用户](docs/img/在线用户.png) | ![登录日志](docs/img/登录日志.png) | | 操作日志 | 服务监控 | |----------|----------| | ![操作日志](docs/img/操作日志.png) | ![服务监控](docs/img/服务监控.png) | | 数据监控 | 缓存监控 | |----------|----------| | ![数据监控](docs/img/数据监控.png) | ![缓存监控](docs/img/缓存监控.png) | ### 系统工具 | 定时任务 | 缓存管理 | |----------|----------| | ![定时任务](docs/img/定时任务.png) | ![缓存管理](docs/img/缓存管理.png) | --- ## 🚀 快速开始 ### 环境要求 | 环境 | 版本要求 | 说明 | |------|----------|------| | 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 支持一下!** ⭐