cb56756f4c8922f8e210f5d862403ad9b26d0d15
- 新增AI Provider配置相关表(ai_provider_config, ai_provider_config_history) - 新增AI聊天记录、使用统计、评价记录等相关表 - 新增AI绘画历史记录、参数模板、用户配额等相关表 - 新增AI敏感词库和绘画作品收藏表 - 更新开发环境数据库连接配置,修改PostgreSQL连接信息 - 更新开发环境Redis连接配置,修改主机地址和端口 - 初始化AI Provider配置数据,支持多种AI服务商
PoJie
📖 平台简介
PoJie 是一款基于 Spring Boot 3.4.7 + JDK 17/21 的AI增强企业级快速开发平台,在 RuoYi-Vue-Plus 的基础上深度集成了多种AI框架和服务,打造统一的AI服务管理平台。
🎯 核心特色
- 🤖 统一AI服务:集成Spring AI、LangChain4j等主流AI框架,提供统一的AI服务接口
- 🔌 多Provider支持:支持OpenAI、ChatGLM、通义千问、智谱AI等多种AI服务提供商
- 💬 智能对话:支持单轮对话、多轮对话、流式响应和记忆管理
- 📚 知识库集成:内置知识库服务,支持RAG(检索增强生成)
- ⚖️ 智能编排:多Provider负载均衡、故障转移和智能路由
- 🛡️ 高可用性:熔断器保护、限流控制、健康检查和自动重试
- 📊 AI监控:实时性能监控、使用统计分析、成本追踪和质量评估
- 🔐 权限管理:使用Sa-Token实现权限控制,支持多种认证方式
- 🔗 第三方登录:集成JustAuth支持微信、钉钉等多种第三方认证
- 💾 数据库支持:原生支持MySQL、Oracle、PostgreSQL、SQLServer等主流数据库
- 🚀 缓存优化:使用Redisson作为Redis客户端,提供更丰富的分布式功能
- 📈 监控体系:集成Spring Boot Admin,实现全方位监控
- 🛠️ 代码生成:提供智能化代码生成工具,支持多数据源
- 💰 支付集成:内置支付宝、微信支付等主流支付方式
功能特性
AI核心模块
- 统一AI服务:作为系统的AI大脑,统一管理和编排所有AI Provider
- 多框架集成:支持Spring AI、LangChain4j等主流AI框架
- 智能对话:单轮对话、多轮对话、流式响应、记忆管理
- 知识库服务:内置知识库,支持RAG检索增强生成
- AI Provider管理:支持OpenAI、ChatGLM、通义千问、智谱AI等多种服务商
- 智能编排:负载均衡、故障转移、智能路由、并行处理
- AI监控:实时性能监控、使用统计、成本追踪、质量评估
系统核心模块
- 系统管理(ruoyi-system):用户、角色、菜单、部门、字典等基础管理功能
- 移动端模块(ruoyi-app):支持Web和移动端用户统一管理,提供移动端专用API
- 权限控制:基于Sa-Token的多维度权限管理体系,支持RBAC权限模型
- 工作流(ruoyi-workflow):支持复杂的审批流程管理(Warm-Flow工作流引擎)
- 文件存储:集成MinIO实现分布式文件存储,支持多种OSS存储方式
- 消息推送:支持WebSocket和SSE实时消息推送
- 聊天系统(ruoyi-chat):完整的聊天功能,支持AI助手集成、会话管理、消息历史
业务模块
- 商城模块(ruoyi-mall):完整的电商业务模块
- 商品中心:商品、SKU、分类、品牌、属性管理
- 交易中心:购物车、订单、售后管理
- 营销中心:活动、拼团、秒杀、砍价
- 优惠券中心:优惠券发放、核销、过期处理
- 统计中心:交易分析、会员分析
- 支付模块(ruoyi-pay):集成支付宝、微信支付等主流支付方式
- 微信公众号(ruoyi-mp):微信公众号开发支持
开发工具
- 代码生成器:根据表结构一键生成CRUD代码
- Excel处理:基于FastExcel实现高效的Excel操作
- 日志监控:完整的操作日志和登录日志记录
- 接口文档:使用SpringDoc自动生成API文档
- AI开发工具:LangChain4j集成工具、AI服务测试工具
安全特性
- 数据脱敏:敏感信息自动脱敏处理
- 数据加密:支持多种加密算法保障数据安全
- 接口安全:动态AES+RSA加密传输
- 防重提交:分布式环境下防重复提交
- XSS防护:内置跨站脚本攻击防护
- AI安全:API密钥安全管理、AI服务访问控制
运维支持
- 多数据源管理:支持动态切换不同数据库
- 邮件服务:集成邮件发送功能
- 短信服务:支持多种短信平台
- 定时任务:分布式任务调度系统(SnailJob)
- 系统监控:实时监控服务状态和性能指标
- AI运维:AI服务健康检查、性能监控、故障告警
🏗️ 技术架构
核心技术栈
| 分类 | 技术 | 版本 | 说明 |
|---|---|---|---|
| 基础框架 | Spring Boot | 3.4.7 | 核心框架 |
| 开发环境 | JDK | 17/21 | Java开发环境 |
| Web容器 | Undertow | - | 高性能Web容器 |
| 权限认证 | Sa-Token | 1.44.0 | 轻量级权限框架 |
| ORM框架 | MyBatis-Plus | 3.5.12 | 持久层框架 |
| 缓存中间件 | Redisson | 3.50.0 | Redis客户端 |
| 数据库连接池 | HikariCP | - | 高性能连接池 |
| 工具类库 | Hutool | 5.8.38 | Java工具包 |
| API文档 | SpringDoc | 2.8.8 | OpenAPI 3.0 |
| Excel处理 | FastExcel | 1.2.0 | 高性能Excel |
| 第三方登录 | JustAuth | 1.16.7 | 第三方认证 |
| 工作流引擎 | Warm-Flow | 1.7.4 | 国产工作流 |
| 任务调度 | SnailJob | 1.5.0 | 分布式任务 |
| 对象映射 | MapStruct Plus | 1.4.8 | 对象转换 |
| 监控管理 | Spring Boot Admin | 3.4.7 | 应用监控 |
AI技术栈
| 分类 | 技术 | 版本 | 说明 |
|---|---|---|---|
| AI框架 | Spring AI | 1.0.0-M5 | Spring官方AI框架 |
| AI框架 | LangChain4j | 0.36.2 | Java版LangChain |
| AI服务 | OpenAI | - | GPT系列模型 |
| AI服务 | Azure OpenAI | - | Azure托管OpenAI |
| AI服务 | ChatGLM | - | 智谱AI对话模型 |
| AI服务 | 通义千问 | - | 阿里云大语言模型 |
| AI服务 | 智谱AI | - | 智谱AI平台 |
| AI平台 | Coze | 0.4.2 | 字节跳动AI Bot |
| AI平台 | Dify | 1.1.7 | 开源LLM应用平台 |
| HTTP客户端 | OkHttp | 4.12.0 | AI服务HTTP客户端 |
数据库支持
| 数据库 | 支持情况 | 说明 |
|---|---|---|
| MySQL | ✅ 原生支持 | 主要推荐 |
| Oracle | ✅ 原生支持 | 企业级 |
| PostgreSQL | ✅ 原生支持 | 开源数据库 |
| SQL Server | ✅ 原生支持 | 微软数据库 |
| 达梦数据库 | ✅ 支持 | 国产数据库 |
| 金仓数据库 | ✅ 支持 | 国产数据库 |
🚀 快速开始
环境要求
- JDK: 17+ (推荐 JDK 21) ⚠️ 必须使用JDK 17+
- Maven: 3.6+
- MySQL: 5.7+ / 8.0+
- Redis: 5.0+
- Node.js: 16+ (前端开发)
- AI服务: OpenAI API Key 或其他AI服务商密钥
安装步骤
1. 克隆项目
# 克隆仓库(示例)
git clone https://gitee.com/pengles/PoJie.git
cd PoJie
2. 数据库初始化
方式一:使用 MySQL 命令行
-- 1. 创建数据库
CREATE DATABASE ruoyi_vue_plus DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
USE ruoyi_vue_plus;
-- 2. 导入数据库脚本(按顺序执行,路径相对于项目根目录)
SOURCE script/sql/ry_vue.sql; -- 基础脚本(必须)
SOURCE script/sql/ry_ai.sql; -- AI模块脚本(如使用AI功能)
SOURCE script/sql/ry_chat.sql; -- 聊天模块脚本(如使用聊天功能)
SOURCE script/sql/ry_knowledge.sql; -- 知识库脚本(如使用知识库功能)
SOURCE script/sql/ry_workflow.sql; -- 工作流脚本(如使用工作流功能)
SOURCE script/sql/ry_mall.sql; -- 商城脚本(如使用商城功能)
SOURCE script/sql/ry_pay.sql; -- 支付脚本(如使用支付功能)
SOURCE script/sql/ry_app.sql; -- 移动端脚本(如使用移动端功能)
SOURCE script/sql/ry_job.sql; -- 定时任务脚本(如使用定时任务)
方式二:使用图形化工具(Navicat、DBeaver、DataGrip 等)
- 创建数据库
ruoyi_vue_plus,字符集选择utf8mb4,排序规则选择utf8mb4_general_ci - 按顺序执行
script/sql/目录下的 SQL 文件:ry_vue.sql(必须,基础脚本)ry_ai.sql(如使用 AI 功能)ry_chat.sql(如使用聊天功能)ry_knowledge.sql(如使用知识库功能)ry_workflow.sql(如使用工作流功能)ry_mall.sql(如使用商城功能)ry_pay.sql(如使用支付功能)ry_app.sql(如使用移动端功能)ry_job.sql(如使用定时任务)
注意:
ry_vue.sql为基础脚本,必须最先执行- 其他脚本根据实际使用的功能模块选择执行
- 建议在生产环境执行前先备份数据库
3. 配置AI服务
重要:配置AI服务API密钥
# 设置环境变量(推荐方式)
# Windows
set OPENAI_API_KEY=your-openai-api-key
set ZHIPU_API_KEY=your-zhipu-api-key
set QWEN_API_KEY=your-qwen-api-key
# Linux/Mac
export OPENAI_API_KEY=your-openai-api-key
export ZHIPU_API_KEY=your-zhipu-api-key
export QWEN_API_KEY=your-qwen-api-key
4. 修改配置文件
编辑 ruoyi-server/src/main/resources/application-dev.yml:
基础配置(必须)
spring:
# 数据源配置
datasource:
dynamic:
primary: master
datasource:
master:
url: jdbc:mysql://localhost:3306/ruoyi_vue_plus?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true
username: root
password: your_password
driver-class-name: com.mysql.cj.jdbc.Driver
# Redis配置
data:
redis:
host: localhost
port: 6379
password: # 如有密码请填写
database: 0
timeout: 10s
lettuce:
pool:
max-active: 8
max-wait: -1ms
max-idle: 8
min-idle: 0
AI服务配置(可选,如使用AI功能)
# AI模块配置(application-ai.yml 或 application-dev.yml)
ruoyi:
ai:
enabled: true
default-provider: openai # 默认AI提供商:openai、zhipu、qwen、chatglm等
providers:
openai:
enabled: true
api-key: ${OPENAI_API_KEY:your-openai-api-key}
base-url: https://api.openai.com/v1
model: gpt-3.5-turbo
temperature: 0.7
max-tokens: 2000
zhipu:
enabled: false
api-key: ${ZHIPU_API_KEY:}
base-url: https://open.bigmodel.cn/api/paas/v4
model: glm-4
qwen:
enabled: false
api-key: ${QWEN_API_KEY:}
base-url: https://dashscope.aliyuncs.com/compatible-mode/v1
model: qwen-turbo
配置说明:
- 数据库密码和Redis密码建议使用环境变量配置
- AI服务的API密钥强烈建议使用环境变量配置,避免泄露
- 更多配置项请参考
application.yml和application-ai.yml文件- 各模块的详细配置请参考对应模块的 README 文档
5. 启动应用
方式一:Maven启动(推荐用于开发)
# 进入项目根目录
cd PoJie
# 编译项目
mvn clean compile
# 启动应用
mvn spring-boot:run -pl ruoyi-server -am
# 或使用简化命令
mvn -q -pl ruoyi-server -am spring-boot:run -DskipTests
方式二:IDE启动(推荐用于开发调试)
- 使用 IDEA 或 Eclipse 导入 Maven 项目
- 找到
ruoyi-server/src/main/java/org/dromara/RuoYiApplication.java - 右键运行
main方法 - 或配置运行配置,设置工作目录为
ruoyi-server
方式三:JAR包启动(推荐用于生产)
# 进入项目根目录
cd PoJie
# 打包(跳过测试)
mvn clean package -DskipTests
# 启动JAR包
java -jar ruoyi-server/target/ruoyi-server.jar
# 或指定配置文件
java -jar ruoyi-server/target/ruoyi-server.jar --spring.profiles.active=prod
# 后台启动(Linux)
nohup java -jar ruoyi-server/target/ruoyi-server.jar > app.log 2>&1 &
方式四:Docker启动(推荐用于生产)
# 使用Docker Compose启动(包含MySQL、Redis等)
cd script/docker
docker-compose up -d
# 构建应用镜像(需要Dockerfile)
docker build -t pojie:latest .
docker run -d -p 8080:8080 --name pojie pojie:latest
启动注意事项:
- 确保 MySQL 和 Redis 服务已启动
- 检查端口 8080 是否被占用
- 查看启动日志确认服务启动成功
- 如遇到端口冲突,可在配置文件中修改
server.port
6. 访问系统
启动成功后,访问以下地址:
| 服务 | 地址 | 说明 |
|---|---|---|
| 系统首页 | http://localhost:8080 | 系统入口(需要前端配合) |
| API文档(Swagger) | http://localhost:8080/swagger-ui/index.html | Swagger UI 接口文档 |
| API文档(Knife4j) | http://localhost:8080/doc.html | Knife4j 增强文档(如已集成) |
| 监控中心 | http://localhost:8080/admin | Spring Boot Admin 监控 |
| 健康检查 | http://localhost:8080/actuator/health | Spring Boot Actuator |
| AI服务健康检查 | http://localhost:8080/ai/health | AI模块健康状态(如启用) |
| LangChain4j服务 | http://localhost:8080/ai/langchain4j/health | LangChain4j服务状态(如启用) |
默认登录账号:
- 用户名:
admin - 密码:
admin123
注意:首次登录后建议立即修改默认密码
7. 验证AI功能(可选)
如果已配置AI服务,可以通过以下方式验证:
-
测试AI聊天接口:
curl -X POST http://localhost:8080/ai/chat \ -H "Content-Type: application/json" \ -H "Authorization: Bearer your-token" \ -d '{"message": "你好,请介绍一下自己"}' -
查看支持的AI模型列表:
curl http://localhost:8080/ai/models -
检查AI服务健康状态: 访问 http://localhost:8080/ai/health
-
通过API文档测试: 访问 Swagger UI 或 Knife4j 文档,找到AI相关接口进行测试
💡 使用示例
AI服务开发
统一AI服务接口
- 提供统一的AI聊天接口,支持多种AI Provider
- 支持同步和异步(流式)响应模式
- 集成请求验证和响应封装
- 支持多模型切换和配置管理
LangChain4j服务使用
- 单轮对话:直接调用AI模型进行问答
- 带记忆的对话:支持上下文记忆的连续对话
- 流式对话:实时返回AI生成内容
- 模型管理:获取和切换支持的AI模型
移动端API开发
- 移动端用户登录和认证
- 用户信息管理和权限控制
- 移动端专用的API接口设计
- 支持多种登录方式(账号密码、第三方登录等)
分布式文件存储
- 支持多种文件存储方式(本地、阿里云OSS、腾讯云COS、七牛云等)
- 提供统一的文件上传和下载接口
- 支持文件预览和在线编辑
- 集成文件安全检查和病毒扫描
实时消息推送
- 基于SSE(Server-Sent Events)的实时消息推送
- 支持用户连接管理和消息广播
- 集成WebSocket支持双向通信
- 提供消息队列和持久化存储
多数据源支持
- 支持动态数据源切换和管理
- 提供主从数据库读写分离
- 支持分布式事务处理
- 集成数据源监控和健康检查
权限控制
- 基于Sa-Token的轻量级权限框架
- 支持RBAC权限模型
- 提供细粒度的权限控制
- 集成操作日志和审计功能
📁 项目结构
PoJie/
├── ruoyi-common/ # 公共模块
│ ├── ruoyi-common-bom/ # BOM依赖管理
│ ├── ruoyi-common-core/ # 核心工具类
│ ├── ruoyi-common-doc/ # 接口文档配置(SpringDoc)
│ ├── ruoyi-common-excel/ # Excel处理(FastExcel)
│ ├── ruoyi-common-mybatis/ # MyBatis-Plus配置
│ ├── ruoyi-common-redis/ # Redis配置(Redisson)
│ ├── ruoyi-common-satoken/ # 权限认证(Sa-Token)
│ ├── ruoyi-common-oss/ # 对象存储(MinIO/OSS)
│ ├── ruoyi-common-sms/ # 短信服务
│ ├── ruoyi-common-mail/ # 邮件服务
│ ├── ruoyi-common-websocket/ # WebSocket支持
│ ├── ruoyi-common-sse/ # SSE服务器推送
│ ├── ruoyi-common-encrypt/ # 数据加密
│ ├── ruoyi-common-idempotent/ # 幂等性控制
│ ├── ruoyi-common-ratelimiter/ # 限流控制
│ ├── ruoyi-common-log/ # 日志记录
│ ├── ruoyi-common-security/ # 安全配置
│ ├── ruoyi-common-sensitive/ # 敏感数据脱敏
│ ├── ruoyi-common-social/ # 第三方登录(JustAuth)
│ ├── ruoyi-common-translation/ # 数据翻译
│ ├── ruoyi-common-web/ # Web通用配置
│ ├── ruoyi-common-json/ # JSON处理
│ └── ruoyi-common-job/ # 任务调度
├── ruoyi-modules/ # 业务模块
│ ├── ruoyi-system/ # 系统管理模块
│ ├── ruoyi-member/ # 移动端模块
│ ├── ruoyi-chat/ # 聊天模块
│ ├── ruoyi-ai/ # AI核心模块
│ ├── ruoyi-knowledge/ # 知识库模块
│ ├── ruoyi-workflow/ # 工作流模块(Warm-Flow)
│ ├── ruoyi-mall/ # 商城模块(聚合模块)
│ │ ├── ruoyi-mall-product/ # 商品中心
│ │ ├── ruoyi-mall-trade/ # 交易中心
│ │ ├── ruoyi-mall-coupon/ # 优惠券中心
│ │ ├── ruoyi-mall-promotion/ # 营销中心
│ │ └── ruoyi-mall-statistics/ # 统计中心
│ ├── ruoyi-pay/ # 支付模块
│ ├── ruoyi-generator/ # 代码生成器
│ ├── ruoyi-job/ # 定时任务模块(SnailJob)
│ └── ruoyi-mp/ # 微信公众号模块
├── ruoyi-extend/ # 扩展模块
│ ├── ruoyi-monitor-admin/ # 监控中心(Spring Boot Admin)
│ └── ruoyi-snailjob-server/ # 分布式任务调度服务端
├── ruoyi-server/ # 服务启动模块
│ ├── src/main/java/
│ │ └── org/dromara/
│ │ └── RuoYiApplication.java # 启动类
│ └── src/main/resources/
│ ├── application.yml # 主配置文件
│ ├── application-dev.yml # 开发环境配置
│ ├── application-prod.yml # 生产环境配置
│ └── application-ai.yml # AI模块配置
├── script/ # 脚本文件
│ ├── sql/ # 数据库脚本
│ │ ├── ry_vue.sql # 基础数据库脚本(必须)
│ │ ├── ry_ai.sql # AI模块数据库脚本
│ │ ├── ry_chat.sql # 聊天模块数据库脚本
│ │ ├── ry_knowledge.sql # 知识库模块数据库脚本
│ │ ├── ry_workflow.sql # 工作流模块数据库脚本
│ │ ├── ry_mall.sql # 商城模块数据库脚本
│ │ ├── ry_pay.sql # 支付模块数据库脚本
│ │ ├── ry_app.sql # 移动端模块数据库脚本
│ │ └── ry_job.sql # 定时任务数据库脚本
│ ├── docker/ # Docker配置
│ │ ├── docker-compose.yml # Docker Compose配置
│ │ ├── database.yml # 数据库Docker配置
│ │ └── redis/ # Redis配置
│ └── bin/ # 启动脚本
└── docs/ # 项目文档(可选)
├── AI_INTEGRATION_GUIDE.md # AI集成指南
├── LANGCHAIN4J_INTEGRATION_GUIDE.md # LangChain4j集成指南
└── DEPLOYMENT_GUIDE.md # 部署指南
🔧 开发指南
环境配置
- 开发环境
- JDK 17+ (必须)
- Maven 3.6+
- MySQL 8.0+
- Redis 6.0+
- Node.js 16+
- AI服务配置
- OpenAI API Key (推荐)
- 智谱AI API Key (可选)
- 通义千问API Key (可选)
- Azure OpenAI配置 (可选)
AI模块开发
1. 添加新的AI Provider
- 实现AiProvider接口,定义Provider名称和核心方法
- 添加@Component注解和条件配置注解
- 实现chat()和streamChat()方法
- 处理请求参数和响应格式
2. 配置新Provider
- 在application.yml中添加Provider配置
- 设置enabled、api-key、base-url、model等参数
- 支持环境变量和配置文件两种方式
3. LangChain4j扩展开发
- 注入ChatLanguageModel进行AI对话
- 实现自定义聊天服务和流式响应
- 支持记忆管理和上下文处理
- 集成监控和异常处理机制
代码生成器使用
- 访问系统管理 -> 代码生成
- 选择要生成的数据表
- 配置生成信息
- 下载生成的代码
新增业务模块
- 在
ruoyi-modules下创建新模块 - 添加模块依赖到主pom.xml
- 配置模块的Controller、Service、Mapper
- 添加相应的权限配置
代码规范
- 遵循阿里巴巴Java开发手册
- 使用统一的代码格式化配置
- 添加必要的单元测试
- 更新相关文档
- AI相关代码需要添加详细的使用说明
数据库设计
- 统一的表前缀和命名规范
- 合理的索引设计
- 数据字典维护
- AI相关表结构设计规范:
ai_*表前缀用于AI核心功能chat_*表前缀用于聊天相关knowledge_*表前缀用于知识库
API文档规范
使用 @Operation、@Tag、@Parameter 等注解标注API信息:
@Tag(name = "用户管理")
@RestController
public class UserController {
@Operation(summary = "获取用户信息", description = "根据用户ID获取用户详细信息")
@GetMapping("/{id}")
public R<UserVo> getUser(@Parameter(description = "用户ID") @PathVariable Long id) {
return R.ok(userService.getById(id));
}
}
🤝 贡献指南
我们欢迎所有形式的贡献,包括但不限于:
- 🐛 Bug报告:发现问题请提交Issue
- 💡 功能建议:有好的想法请告诉我们
- 📝 文档改进:帮助完善文档
- 🔧 代码贡献:提交Pull Request
- 🤖 AI Provider集成:添加新的AI服务提供商
- 🧠 AI算法优化:改进AI服务性能和质量
- 📚 知识库功能扩展:增强RAG和知识管理功能
贡献流程
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
AI相关贡献指南
新增AI Provider
-
实现Provider接口
- 继承AiProvider接口并实现所有必要方法
- 定义Provider名称和基本配置
-
添加配置类
- 创建配置属性类,使用@ConfigurationProperties注解
- 定义API密钥、基础URL、模型等配置项
-
编写单元测试
- 为新Provider编写完整的单元测试
- 测试聊天功能、流式响应、异常处理等
-
更新文档
- 在
docs/AI_INTEGRATION_GUIDE.md中添加使用说明 - 更新
README.md中的支持列表
- 在
LangChain4j扩展贡献
-
扩展现有功能
- 添加新的模型支持
- 优化对话记忆管理
- 增强流式响应处理
-
性能优化
- 连接池优化
- 缓存策略改进
- 异步处理优化
代码规范
- 遵循阿里巴巴Java开发手册
- 使用统一的代码格式化配置
- 添加必要的单元测试
- 更新相关文档
- AI相关代码需要包含详细的JavaDoc注释
- 提供配置示例和使用说明
📞 联系我们
- 项目地址:https://gitee.com/pengles/PoJie
- 问题反馈:https://gitee.com/pengles/PoJie/issues
- QQ交流群:待建立
- 微信交流群:待建立
🌟 开源精神让我们共同进步,感谢每一位开发者的贡献和分享!
📄 许可证
本项目采用 MIT 许可证,详见 LICENSE 文件。
如果这个项目对你有帮助,请给个 ⭐ Star 支持一下!
Made with ❤️ by PoJie Team
Languages
Java
94.2%
TSQL
5.7%