pig

Project Url: pig-mesh/pig
Introduction: ↥ ↥ ↥ 点击关注更新,基于 Spring Cloud 2021 、Spring Boot 2.7、 OAuth2 的 RBAC 权限管理系统
More: Author   ReportBugs   OfficialWebsite   
Tags:

Pig Spring Cloud Spring Boot Vue License Stars

  • Pig 是基于 Spring Cloud、Spring Boot、OAuth2 的 RBAC 企业级快速开发平台,同时支持微服务架构和单体架构。
  • 认证中心基于 Spring Authorization Server 落地生产级 OAuth2 实践,支持授权码、密码、刷新令牌等常见登录与授权场景。
  • 当前开源版本保留认证、网关、用户权限、监控、代码生成和定时任务等核心能力,移除了商业版中的多租户、数据权限、动态路由、流程、支付、公众号、报表和移动端服务等扩展模块。
  • 提供 Docker Compose 本地编排,支持快速启动 MySQL、Redis、Nacos 和业务服务。

使用文档

PIG 提供了完整的部署与开发文档:wiki.pig4cloud.com,涵盖开发环境配置、服务端启动、前端运行、微服务部署和单体部署等关键步骤。

其他产品

快速开始

基础环境

  • JDK 17+
  • Maven 3.9+
  • Docker 和 Docker Compose
  • Node.js 16+(运行 pig-ui 前端时需要)

微服务模式

在项目根目录执行完整编译,再构建并启动本地服务栈:

mvn clean install -T 4 -Pcloud
docker compose build && docker compose up

服务启动后,默认通过网关端口 9999 访问后端接口,Nacos 控制台端口为 8848

单体模式

单体模式通过 boot profile 启用 pig-boot 模块:

mvn clean install -T 4 -Pboot
docker compose -f docker-compose-boot.yml build && docker compose -f docker-compose-boot.yml up

单体服务默认监听 9999 端口。

核心依赖

依赖 版本
Pig 4.0.0
JDK 17+
Spring Boot 4.0.6
Spring Cloud 2025.1.2
Spring Cloud Alibaba 2025.1.0.0
Spring Security OAuth2 Authorization Server 7.0.5
MyBatis Plus 3.5.16
Nacos Client 3.1.2
Druid 1.2.28
Vue 3.5.34
Element Plus 2.13.7
Vite 5.4.21

模块说明

pig-ui -- https://github.com/pig-mesh/pig-ui

pig
├── pig-register -- Nacos Server [8848/9848/18080]
├── pig-gateway -- Spring Cloud Gateway 网关 [9999]
├── pig-auth -- 授权服务 [3000]
├── pig-upms -- 通用用户权限管理模块
│   ├── pig-upms-api -- 通用用户权限管理公共 API
│   └── pig-upms-biz -- 通用用户权限业务服务 [4000]
├── pig-common -- 系统公共模块
│   ├── pig-common-bom -- 全局依赖版本管理
│   ├── pig-common-core -- 公共工具类核心包
│   ├── pig-common-data -- MyBatis Plus 与缓存扩展
│   ├── pig-common-datasource -- 动态数据源封装
│   ├── pig-common-log -- 日志服务
│   ├── pig-common-oss -- 文件上传工具类
│   ├── pig-common-security -- 安全工具类
│   ├── pig-common-sentinel -- Sentinel 与异常处理封装
│   ├── pig-common-swagger -- 接口文档封装
│   ├── pig-common-feign -- OpenFeign 扩展封装
│   ├── pig-common-excel -- Excel 导入导出封装
│   └── pig-common-xss -- XSS 安全封装
├── pig-visual -- 可视化支撑服务
│   ├── pig-monitor -- 服务监控 [5001]
│   ├── pig-codegen -- 图形化代码生成 [5002]
│   └── pig-quartz -- 定时任务管理台 [5007]
└── pig-boot -- 单体模式启动器 [9999],通过 `-Pboot` 启用

配置说明

  • 微服务模式使用 cloud profile,默认激活 dev 环境配置。
  • 单体模式使用 boot profile,pig-boot 模块只在该 profile 下参与构建。
  • 网关路由由 pig-gateway/src/main/resources/application.yml 和 Nacos 配置维护,不再依赖动态路由表。
  • 默认数据库脚本位于 db/,业务表初始化到 pig,Nacos 配置初始化到 pig_config
  • 包名已统一为 com.pig4cloud.pig

开源共建

开源协议

Pig 开源软件遵循 Apache 2.0 协议,允许商业使用,但务必保留类作者、Copyright 信息。

其他说明

  1. 欢迎提交 PR,请基于当前开发分支提交。
  2. 欢迎提交 Issue,请写清楚问题现象、开发环境和复现步骤。
  3. 代码格式遵循 Spring Java Format,提交前可在项目根目录运行:
mvn spring-javaformat:apply
Apps
About Me
GitHub: Trinea
Facebook: Dev Tools
AI Daily Digest