MCPcopy
hub / github.com/pig-mesh/pig

github.com/pig-mesh/pig @v4.0.0 sqlite

repository ↗ · DeepWiki ↗ · release v4.0.0 ↗
2,120 symbols 6,749 edges 559 files 1,581 documented · 75%
README

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.1
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

Extension points exported contracts — how you extend this code

ITaskInvok (Interface)
定时任务反射实现接口类 @author 郑健楠 [9 implementers]
pig-visual/pig-quartz/src/main/java/com/pig4cloud/pig/daemon/quartz/util/ITaskInvok.java
AuthenticationFailureHandler (Interface)
@author lengleng @date 2020/03/25 token 发放失败处理 [6 implementers]
pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/handler/AuthenticationFailureHandler.java
UserContextHolder (Interface)
用户上下文供给方。security 模块作为唯一实现并以 Spring Bean 形式暴露, 通用模块(data、audit 等)只依赖该接口即可。 @author lengleng [5 implementers]
pig-common/pig-common-core/src/main/java/com/pig4cloud/pig/common/core/context/UserContextHolder.java
GenCreateTableService (Interface)
自动创建表管理 @author luolin @date 2022-09-23 21:56:11 [3 implementers]
pig-visual/pig-codegen/src/main/java/com/pig4cloud/pig/codegen/service/GenCreateTableService.java
SysRoleMenuService (Interface)
角色菜单表 服务类 @author lengleng @since 2017-10-29 [3 implementers]
pig-upms/pig-upms-biz/src/main/java/com/pig4cloud/pig/admin/service/SysRoleMenuService.java
XssCleaner (Interface)
xss 清理器 @author L.cm [3 implementers]
pig-common/pig-common-xss/src/main/java/com/pig4cloud/pig/common/xss/core/XssCleaner.java
FileTemplate (Interface)
文件操作模板 @author lengleng @date 2022/4/19 [3 implementers]
pig-common/pig-common-oss/src/main/java/com/pig4cloud/pig/common/file/core/FileTemplate.java
RedisService (Interface)
@author lengleng @date 2019-05-08 redis 监控 [2 implementers]
pig-visual/pig-monitor/src/main/java/com/pig4cloud/pig/monitor/service/RedisService.java

Core symbols most depended-on inside this repo

ok
called by 289
pig-common/pig-common-core/src/main/java/com/pig4cloud/pig/common/core/util/R.java
get
called by 146
pig-common/pig-common-core/src/main/java/com/pig4cloud/pig/common/core/context/UserContextHolder.java
equals
called by 135
pig-common/pig-common-sentinel/src/main/java/com/pig4cloud/pig/common/sentinel/feign/PigSentinelInvocationHandler.java
getType
called by 105
pig-upms/pig-upms-api/src/main/java/com/pig4cloud/pig/admin/api/constant/OrgTypeEnum.java
map
called by 98
pig-common/pig-common-core/src/main/java/com/pig4cloud/pig/common/core/util/RetOps.java
add
called by 93
pig-upms/pig-upms-biz/src/main/java/com/pig4cloud/pig/admin/controller/SysClientController.java
getBean
called by 85
pig-common/pig-common-core/src/main/java/com/pig4cloud/pig/common/core/util/SpringContextHolder.java
filter
called by 67
pig-gateway/src/main/java/com/pig4cloud/pig/gateway/filter/PigRequestGlobalFilter.java

Shape

Method 1,484
Class 408
Interface 118
Function 72
Enum 38

Languages

Java97%
TypeScript3%

Modules by API surface

pig-visual/pig-monitor/src/main/resources/druid/js/jquery.min.js60 symbols
pig-common/pig-common-data/src/main/java/com/pig4cloud/pig/common/data/cache/RedisUtils.java41 symbols
pig-upms/pig-upms-biz/src/main/java/com/pig4cloud/pig/admin/service/impl/SysUserServiceImpl.java24 symbols
pig-upms/pig-upms-biz/src/main/java/com/pig4cloud/pig/admin/service/SysUserService.java23 symbols
pig-upms/pig-upms-biz/src/main/java/com/pig4cloud/pig/admin/controller/SysUserController.java22 symbols
pig-common/pig-common-core/src/main/java/com/pig4cloud/pig/common/core/util/RetOps.java22 symbols
pig-visual/pig-monitor/src/main/java/com/pig4cloud/pig/monitor/service/impl/MonitorStatService.java20 symbols
pig-common/pig-common-sentinel/src/main/java/com/pig4cloud/pig/common/sentinel/handle/GlobalBizExceptionHandler.java20 symbols
pig-visual/pig-codegen/src/main/java/com/pig4cloud/pig/codegen/service/impl/GeneratorServiceImpl.java19 symbols
pig-common/pig-common-oss/src/main/java/com/pig4cloud/pig/common/file/oss/service/OssTemplate.java17 symbols
pig-visual/pig-quartz/src/main/java/com/pig4cloud/pig/daemon/quartz/controller/SysJobController.java16 symbols
pig-upms/pig-upms-biz/src/main/java/com/pig4cloud/pig/admin/controller/SysMessageController.java16 symbols

Dependencies from manifests, versioned

cn.hutool:hutool-bom
cn.hutool:hutool-core
cn.hutool:hutool-crypto
cn.hutool:hutool-extra
cn.hutool:hutool-http
cn.hutool:hutool-json
com.alibaba.cloud:spring-cloud-alibaba-dependencies
com.alibaba.cloud:spring-cloud-alibaba-sentinel-gateway
com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-config
com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-discovery
com.alibaba.cloud:spring-cloud-starter-alibaba-sentinel
com.alibaba.csp:sentinel-api-gateway-adapter-common

Datastores touched

(mysql)Database · 1 repos
pigDatabase · 1 repos

For agents

$ claude mcp add pig \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact