From 6d20dd46945fcdda6634c8fffd44ab8df42e17ea Mon Sep 17 00:00:00 2001 From: gitee-bot Date: Tue, 17 Mar 2026 01:06:14 +0000 Subject: [PATCH] Update README.md --- README.md | 275 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 181 insertions(+), 94 deletions(-) diff --git a/README.md b/README.md index 2901ff2..7af1087 100644 --- a/README.md +++ b/README.md @@ -1,123 +1,210 @@ -## **介绍** -[//]: # + +# 易鹏 (KoaPower) 微服务框架 + +

易鹏(KoaPower)
-
基于springboot、springcloud、springcloud-alibaba、mybatisPlus、MyBatis-Plus-Join
+
基于SpringBoot、SpringCloud、SpringCloud-Alibaba、MyBatisPlus的轻量级微服务框架
+

-::: tip 开源初衷 -一直想找一个轻量级、适合所有水平开发人员能够快速上手的微服务框架、并且要求: -- 可以自动生成controller、service、dao,以及最为繁琐的po类。 -- 可以自动通过数据库表生成新增、修改、删除、查询、详情等基本功能接口。无须手动编写代码。 -- 可以自动生成接口地址、保证项目团队所有人接口风格一致。 -- 框架自动加事务、而不是程序员在每个接口上手动加注解,避免遗忘造成重大损失 -- 可以把开发过程中经常使用的功能全部封装成工具类、加快开发速度。例如 经常用到的各种功能 以及中间件全部封装、开发人员即使不会相应的技术也可进开发 -- 有完整的接口调用记录、错误日志、接口调用次数、接口调用耗时等 -- 所有代码都在框架里面、包括提供工具类、配置信息 方便用户二次开发。而不是把核心代码封装成独立jar包。开发人员无法修改 +[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE) +[![Spring Boot](https://img.shields.io/badge/Spring%20Boot-3.x-green.svg)](https://spring.io/projects/spring-boot) +[![Spring Cloud](https/img.shields.io/badge/Spring%20Cloud-2023.x-green.svg)](https://spring.io/projects/spring-cloud) -但是没有找到合适的。于是利用空闲休息时间开始自己写了一套微服务系统框架。如此有了易鹏。 -::: +## 简介 -## 项目名称 +易鹏(KoaPower)是一套轻量级、适合所有水平开发人员快速上手的微服务框架。框架致力于降低微服务开发门槛,提供从代码生成到业务实现的全方位支持。 -中文名称:易鹏 -—— 取"易"字,寓意简单易学、轻松上手,降低微服务开发门槛;含"鹏"意,象征高效简洁、性能卓越,助力项目快速腾飞。 +### 开源初衷 -英文名称:KoaPower -—— "Koa"呼应轻量简洁的设计哲学,"Power"彰显高效赋能的技术特性,二者结合传递框架"简单即强大"的核心主张。 +- ✅ 自动生成Controller、Service、Dao及PO实体类 +- ✅ 自动通过数据库表生成增删改查等基本功能接口 +- ✅ 自动生成统一风格的API接口地址 +- ✅ 框架层面自动处理事务,无需手动添加注解 +- ✅ 封装大量常用工具类和中间件集成 +- ✅ 完整的接口调用记录、错误日志、调用次数和耗时统计 +- ✅ 所有代码均在框架内,便于二次开发 -两者相映,既承载技术理念,又兼顾认知友好,为开源社区提供清晰易记的标识。 +## 项目名称 + +- **中文名称**:易鹏 —— 取"易"字寓意简单易学,"鹏"象征高效卓越 +- **英文名称**:KoaPower —— "Koa"呼应轻量简洁,"Power"彰显高效赋能 ## 在线体验 -

官网地址:http://kpopen.cn

-

演示地址:http://kpopen.cn/auth

-

接口文档地址:http://kpopen.cn/gateway/doc.html

+- 🌐 官网地址:http://kpopen.cn +- 🔐 演示地址:http://kpopen.cn/auth +- 📚 接口文档:http://kpopen.cn/gateway/doc.html + +## 核心特性 + +| 特性 | 说明 | +|------|------| +| 🚀 自动代码生成 | 从数据库表自动生成完整业务代码 | +| 🏗️ 微服务架构 | 基于Spring Cloud Alibaba的完整微服务解决方案 | +| 📦 开箱即用 | 无学习成本,快速上手 | +| 🛠️ 丰富工具 | 大量常用工具类封装 | +| 📝 注解驱动 | 灵活的注解支持,简化开发 | +| 📖 API文档 | 集成Knife4j增强接口文档 | +| ⚙️ 高可配置 | 灵活的配置选项满足各种需求 | + +## 技术栈 + +**后端核心** +- Spring Boot 3.x +- Spring Cloud 2023.x +- Spring Cloud Alibaba +- MyBatis Plus / MyBatis Plus Join + +**数据库与缓存** +- MySQL / Oracle / SQL Server / PostgreSQL +- Redis +- Druid连接池 +- Flyway数据库版本管理 + +**认证与安全** +- JWT认证 +- Spring Security + +**中间件** +- RabbitMQ消息队列 +- MinIO对象存储 +- Nacos服务注册/配置中心 + +**工具与扩展** +- Hutool工具库 +- EasyExcelExcel处理 +- OKHttp HTTP客户端 +- Knife4j接口文档 + +## 目录结构 -## 特性 -- 自动生成代码 -- 微服务全栈解决方案 -- 无学习成本 -- 提供大量常用工具 -- 注解支持 -- knife4j扩展 -- 可配置性高 +``` +yipeng +├── yipeng-gateway # 网关服务 +│ └── GatewayApplication # 启动类 +├── yipeng-auth # 鉴权中心服务 +│ ├── api # 对外API接口 +│ ├── common # 公共组件 +│ │ ├── cache # 缓存管理 +│ │ ├── properties # 配置属性 +│ │ └── rabbitmq # 消息队列 +│ └── modules # 业务模块 +│ ├── data # 数据字典 +│ ├── dept # 部门管理 +│ ├── logRecord # 日志记录 +│ ├── menu # 菜单管理 +│ ├── post # 岗位管理 +│ ├── project # 项目管理 +│ ├── role # 角色管理 +│ ├── user # 用户管理 +│ └── welcome # 首页数据 +├── yipeng-common # 公共模块 +│ ├── framework-core # 框架核心 +│ │ ├── annotation # 自定义注解 +│ │ ├── configruation # 配置类 +│ │ ├── constant # 常量 +│ │ ├── controller # 内置接口 +│ │ ├── entity # 实体类 +│ │ ├── exception # 异常处理 +│ │ ├── listener # 监听器 +│ │ ├── mapper # 基础Mapper +│ │ ├── transactiona # 事务管理 +│ │ └── utils # 工具类 +│ ├── framework-feign # Feign客户端 +│ └── framework-security # 权限模块 +└── yipeng-week-flow # 业务模块(周计划) +``` -## 支持数据库 -- MySQL (默认) -- Oracle -- SQL Server -- PostgreSQL +## 快速开始 +详细的快速开始文档请访问:[易鹏官方文档](http://kpopen.cn/kpBack-cloud-boot3/001_%E4%BB%8B%E7%BB%8D.html) -## 使用的技术栈 -springBoot、springCloud、springcloud-alibaba、mybatis-plus、mybatis-plus-join、pagehelper、druid、flywaydb、jwt、minio、knife4j、alibaba-json、okhttp、easyexcel、tika、staxon、oshi、bitwalker、smiley、pinyin4j、zxing、hutool、lombok +### 环境要求 -## 代码托管 +- JDK 17+ +- Maven 3.8+ +- MySQL 8.0+ / PostgreSQL +- Redis +- Nacos +- RabbitMQ -码云 +### 基本架构图 -# 目录结构 +``` +┌─────────────────────────────────────────────────────────┐ +│ 客户端 │ +└─────────────────────┬───────────────────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────────────────────┐ +│ yipeng-gateway (网关) │ +└─────────────────────┬───────────────────────────────────┘ + │ + ┌───────────┴───────────┐ + ▼ ▼ +┌─────────────────────┐ ┌─────────────────────┐ +│ yipeng-auth │ │ yipeng-week-flow │ +│ (鉴权中心) │ │ (业务模块) │ +└─────────────────────┘ └─────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────────────────────┐ +│ yipeng-common (公共模块) │ +│ framework-core | framework-feign | framework-security │ +└─────────────────────────────────────────────────────────┘ +``` + +## 常用API示例 +### 用户登录 +```java +POST /auth/user/login +{ + "userName": "admin", + "password": "admin123", + "projectCode": "authentication" +} ``` -yipeng项目根目录 -├── yipeng-gateway # 网关项目 -│ ├── com.kp.framework -│ │ ├── GatewayApplication 启动文件 -│ ├── resources -│ │ ├── bootstrap.yml 切换不同环境的配置文件 -│ │ ├── bootstrap-dev.yml 开发环境配置文件 -├── yipeng-auth # 鉴权项目 -│ ├── com.kp.framework -│ │ ├── api 对外接口存放地方 -│ │ ├── common 存放系统公共文件 -│ │ │ ├── cache 缓存文件 -│ │ │ ├── properties 读取ymml|nacos 配置文件 -│ │ │ ├── rabbitmq rabbitmq消费 -│ │ ├── config 当前项目配置文件 -│ │ ├── modules 项目功能模块代码 -│ │ │ ├── data 下拉框接口 -│ │ │ ├── dept 部门模块相关接口代码 -│ │ │ ├── logRecord 日志记录模块相关接口代码 -│ │ │ ├── menu 菜单模块相关接口代码 -│ │ │ ├── post 岗位模块相关接口代码 -│ │ │ ├── project 项目模块相关接口代码 -│ │ │ ├── role 角色模块相关接口代码 -│ │ │ ├── user 用户模块相关接口代码 -│ │ │ ├── welcome 欢迎页面相关接口代码 -│ │ ├── AuthenticationApplication 启动文件 -├── yipeng-common # 系统共用配置 -│ ├── framework-core 框架核心模块 -│ │ │── com.kp.framework -│ │ │ ├── annotation 框架自定义扩展注解 -│ │ │ ├── configruation 框架配置信息 -│ │ │ ├── constant 框架常量配置 -│ │ │ ├── controller 框架内置的接口 -│ │ │ ├── entity 框架内置实体类 -│ │ │ ├── enums 框架内置枚举类 -│ │ │ ├── exception 自定义异常和全局异常处理 -│ │ │ ├── listener 框架监听器 -│ │ │ ├── mapper mybatisPlusMapper控制信息 -│ │ │ ├── transactiona 全局异常处理器 -│ │ │ ├── utils 框架内置工具类 -│ │ │ │ ├── kptool 鲲鹏工具封装类 -│ ├── framework-security 框架权限模块 -│ │ │── com.kp.framework -│ │ │ ├── common 公共文件 -│ │ │ │ ├── annotation 数据权限自定义注解 -│ │ │ │ ├── enums 枚举 -│ │ │ │ ├── parent 父类 -│ │ │ │ ├── properties 读取ymml|nacos 配置文件 -│ │ │ │ ├── security 权限模块 -│ │ │ ├── config 配置信息 -├────────────── modules 模块功能 + +### 查询用户列表 +```java +POST /auth/user/page/list +{ + "pageNum": 1, + "pageSize": 10 +} +``` + +### 文件上传 +```java +POST /minio/file/upload +Content-Type: multipart/form-data ``` +## 框架内置注解 +| 注解 | 说明 | +|------|------| +| @KPApiJsonParam | API参数说明 | +| @KPApiJsonParamMode | API参数模式 | +| @KPVerifyNote | 参数验证 | +| @KPExcludeInterfaceJournal | 排除接口记录 | +| @KPObjectChangeLogNote | 对象变更日志 | +| @KPRepeatSubmitNote | 防止重复提交 | +| @KPProhibitCrawlerNote | 禁止爬虫 | +## 贡献指南 +欢迎提交Issue和Pull Request! +## 许可证 +本项目基于 Apache License 2.0 协议开源。 -##快速开始 +--- -[快速开始](http://kpopen.cn/kpBack-cloud-boot3/001_%E4%BB%8B%E7%BB%8D.html) +

+ 让微服务开发更简单
+ Made with ❤️ by KoaPower Team +

\ No newline at end of file -- Gitee