f620bc3fec | ||
---|---|---|
.gitee | ||
.github | ||
sql | ||
yudao-dependencies | ||
yudao-framework | ||
yudao-gateway | ||
yudao-module-bpm | ||
yudao-module-infra | ||
yudao-module-system | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
LICENSE | ||
README.md | ||
http-client.env.json | ||
lombok.config | ||
pom.xml |
README.md
严肃声明:现在、未来都不会有商业版本,所有代码全部开源!
「我喜欢写代码,乐此不疲」
「我喜欢做开源,以此为乐」
我 🐶 在上海艰苦奋斗,早中晚在 top3 大厂认真搬砖,夜里为开源做贡献。
如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。
🐶 新手必读
- 演示地址:http://dashboard.yudao.iocoder.cn
- 启动文档:https://cloud.iocoder.cn/quick-start/
- 视频教程:https://cloud.iocoder.cn/video/
🐯 平台简介
芋道,以开发者为中心,打造中国第一流的快速开发平台,全部开源,个人与企业可 100% 免费使用。
有任何问题,或者想要的功能,可以在 Issues 中提给艿艿。
😜 给项目点点 Star 吧,这对我们真的很重要!
- 管理后台的 Vue3 版本采用 vue-element-plus-admin ,Vue2 版本采用 vue-element-admin
- 管理后台的移动端采用 uni-app 方案,一份代码多终端适配,同时支持 APP、小程序、H5!
- 后端采用 Spring Cloud Alibaba 微服务架构,注册中心 + 配置中心 Nacos,消息队列 RocketMQ,定时任务 XXL-Job,服务保障 Sentinel,服务网关 Gateway,分布式事务 Seata
- 数据库可使用 MySQL、Oracle、PostgreSQL、SQL Server、MariaDB、国产达梦 DM、TiDB 等,基于 MyBatis Plus、Redis + Redisson 操作
- 权限认证使用 Spring Security & Token & Redis,支持多终端、多种用户的认证系统,支持 SSO 单点登录
- 支持加载动态权限菜单,按钮级别权限控制,本地缓存提升性能
- 支持 SaaS 多租户系统,可自定义每个租户的权限,提供透明化的多租户底层封装
- 工作流使用 Flowable,支持动态表单、在线设计流程、会签 / 或签、多种任务分配方式
- 高效率开发,使用代码生成器可以一键生成前后端代码 + 单元测试 + Swagger 接口文档 + Validator 参数校验
- 集成微信小程序、微信公众号、企业微信、钉钉等三方登陆,集成支付宝、微信等支付与退款
- 集成阿里云、腾讯云等短信渠道,集成 MinIO、阿里云、腾讯云、七牛云等云存储服务
- 集成报表设计器,支持数据报表、图形报表、打印设计等
项目名 | 说明 | 传送门 |
---|---|---|
ruoyi-vue-pro |
Spring Boot 多模块 | Gitee Github |
yudao-cloud |
Spring Cloud 微服务 | Gitee Github |
Spring-Boot-Labs |
Spring Boot & Cloud 入门 | Gitee Github |
ruoyi-vue-pro-mini |
精简版:移除工作流、支付等模块 | Gitee |
😎 开源协议
为什么推荐使用本项目?
① 本项目采用比 Apache 2.0 更宽松的 MIT License 开源协议,个人与企业可 100% 免费使用,不用保留类作者、Copyright 信息。
② 代码全部开源,不会像其他项目一样,只开源部分代码,让你无法了解整个项目的架构设计。国产开源项目对比
③ 代码整洁、架构整洁,遵循《阿里巴巴 Java 开发手册》规范,代码注释详细,57000 行 Java 代码,22000 行代码注释。
🐼 内置功能
系统内置多种多种业务功能,可以用于快速你的业务系统:
- 系统功能
- 基础设施
- 工作流程
- 支付系统
- 会员中心
- 数据报表
- 商城系统
- 微信公众号
友情提示:本项目基于 RuoYi-Vue 修改,重构优化后端的代码,美化前端的界面。
- 额外新增的功能,我们使用 🚀 标记。
- 重新实现的功能,我们使用 ⭐️ 标记。
🙂 所有功能,都通过 单元测试 保证高质量。
系统功能
功能 | 描述 | |
---|---|---|
用户管理 | 用户是系统操作者,该功能主要完成系统用户配置 | |
⭐️ | 在线用户 | 当前系统中活跃用户状态监控,支持手动踢下线 |
角色管理 | 角色菜单权限分配、设置角色按机构进行数据范围权限划分 | |
菜单管理 | 配置系统菜单、操作权限、按钮权限标识等,本地缓存提供性能 | |
部门管理 | 配置系统组织机构(公司、部门、小组),树结构展现支持数据权限 | |
岗位管理 | 配置系统用户所属担任职务 | |
🚀 | 租户管理 | 配置系统租户,支持 SaaS 场景下的多租户功能 |
🚀 | 租户套餐 | 配置租户套餐,自定每个租户的菜单、操作、按钮的权限 |
字典管理 | 对系统中经常使用的一些较为固定的数据进行维护 | |
🚀 | 短信管理 | 短信渠道、短息模板、短信日志,对接阿里云、腾讯云等主流短信平台 |
🚀 | 邮件管理 | 邮箱账号、邮件模版、邮件发送日志,支持所有邮件平台 |
🚀 | 站内信 | 系统内的消息通知,提供站内信模版、站内信消息 |
🚀 | 操作日志 | 系统正常操作日志记录和查询,集成 Swagger 生成日志内容 |
⭐️ | 登录日志 | 系统登录日志记录查询,包含登录异常 |
🚀 | 错误码管理 | 系统所有错误码的管理,可在线修改错误提示,无需重启服务 |
通知公告 | 系统通知公告信息发布维护 | |
🚀 | 敏感词 | 配置系统敏感词,支持标签分组 |
🚀 | 应用管理 | 管理 SSO 单点登录的应用,支持多种 OAuth2 授权方式 |
🚀 | 地区管理 | 展示省份、城市、区镇等城市信息,支持 IP 对应城市 |
工作流程
功能 | 描述 | |
---|---|---|
🚀 | 流程模型 | 配置工作流的流程模型,支持文件导入与在线设计流程图,提供 7 种任务分配规则 |
🚀 | 流程表单 | 拖动表单元素生成相应的工作流表单,覆盖 Element UI 所有的表单组件 |
🚀 | 用户分组 | 自定义用户分组,可用于工作流的审批分组 |
🚀 | 我的流程 | 查看我发起的工作流程,支持新建、取消流程等操作,高亮流程图、审批时间线 |
🚀 | 待办任务 | 查看自己【未】审批的工作任务,支持通过、不通过、转发、委派、退回等操作 |
🚀 | 已办任务 | 查看自己【已】审批的工作任务,未来会支持回退操作 |
🚀 | OA 请假 | 作为业务自定义接入工作流的使用示例,只需创建请求对应的工作流程,即可进行审批 |
支付系统
功能 | 描述 | |
---|---|---|
🚀 | 商户信息 | 管理商户信息,支持 Saas 场景下的多商户功能 |
🚀 | 应用信息 | 配置商户的应用信息,对接支付宝、微信等多个支付渠道 |
🚀 | 支付订单 | 查看用户发起的支付宝、微信等的【支付】订单 |
🚀 | 退款订单 | 查看用户发起的支付宝、微信等的【退款】订单 |
ps:核心功能已经实现,正在对接微信小程序中...
基础设施
功能 | 描述 | |
---|---|---|
🚀 | 代码生成 | 前后端代码的生成(Java、Vue、SQL、单元测试),支持 CRUD 下载 |
🚀 | 系统接口 | 基于 Swagger 自动生成相关的 RESTful API 接口文档 |
🚀 | 数据库文档 | 基于 Screw 自动生成数据库文档,支持导出 Word、HTML、MD 格式 |
表单构建 | 拖动表单元素生成相应的 HTML 代码,支持导出 JSON、Vue 文件 | |
🚀 | 配置管理 | 对系统动态配置常用参数,支持 SpringBoot 加载 |
⭐️ | 定时任务 | 在线(添加、修改、删除)任务调度包含执行结果日志 |
🚀 | 文件服务 | 支持将文件存储到 S3(MinIO、阿里云、腾讯云、七牛云)、本地、FTP、数据库等 |
🚀 | API 日志 | 包括 RESTful API 访问日志、异常日志两部分,方便排查 API 相关的问题 |
MySQL 监控 | 监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈 | |
Redis 监控 | 监控 Redis 数据库的使用情况,使用的 Redis Key 管理 | |
🚀 | 消息队列 | 基于 Redis 实现消息队列,Stream 提供集群消费,Pub/Sub 提供广播消费 |
🚀 | Java 监控 | 基于 Spring Boot Admin 实现 Java 应用的监控 |
🚀 | 链路追踪 | 接入 SkyWalking 组件,实现链路追踪 |
🚀 | 日志中心 | 接入 SkyWalking 组件,实现日志中心 |
🚀 | 分布式锁 | 基于 Redis 实现分布式锁,满足并发场景 |
🚀 | 幂等组件 | 基于 Redis 实现幂等组件,解决重复请求问题 |
🚀 | 服务保障 | 基于 Resilience4j 实现服务的稳定性,包括限流、熔断等功能 |
🚀 | 日志服务 | 轻量级日志中心,查看远程服务器的日志 |
🚀 | 单元测试 | 基于 JUnit + Mockito 实现单元测试,保证功能的正确性、代码的质量等 |
数据报表
功能 | 描述 | |
---|---|---|
🚀 | 报表设计器 | 支持数据报表、图形报表、打印设计等 |
🚀 | 大屏设计器 | 建设中... 拖拽式实现可视化数据大屏 |
微信公众号
功能 | 描述 | |
---|---|---|
🚀 | 账号管理 | 配置接入的微信公众号,可支持多个公众号 |
🚀 | 数据统计 | 统计公众号的用户增减、累计用户、消息概况、接口分析等数据 |
🚀 | 粉丝管理 | 查看已关注、取关的粉丝列表,可对粉丝进行同步、打标签等操作 |
🚀 | 消息管理 | 查看粉丝发送的消息列表,可主动回复粉丝消息 |
🚀 | 自动回复 | 自动回复粉丝发送的消息,支持关注回复、消息回复、关键字回复 |
🚀 | 标签管理 | 对公众号的标签进行创建、查询、修改、删除等操作 |
🚀 | 菜单管理 | 自定义公众号的菜单,也可以从公众号同步菜单 |
🚀 | 素材管理 | 管理公众号的图片、语音、视频等素材,支持在线播放语音、视频 |
🚀 | 图文草稿箱 | 新增常用的图文素材到草稿箱,可发布到公众号 |
🚀 | 图文发表记录 | 查看已发布成功的图文素材,支持删除操作 |
商城系统
建设中...
会员中心
和「商城系统」一起开发
🐨 技术栈
项目 | 说明 |
---|---|
yudao-dependencies |
Maven 依赖版本管理 |
yudao-framework |
Java 框架拓展 |
yudao-ui-admin |
管理后台的 Vue2 前端项目 |
yudao-ui-admin-vue3 |
管理后台的 Vue3 前端项目 |
yudao-ui-admin-uniapp |
管理后台的 uni-app 多端项目 |
yudao-ui-app |
用户 APP 的 UI 界面 |
yudao-gateway |
服务网关的 Module 模块 |
yudao-module-system |
系统功能的 Module 模块 |
yudao-module-member |
会员中心的 Module 模块 |
yudao-module-infra |
基础设施的 Module 模块 |
yudao-module-bpm |
工作流程的 Module 模块 |
yudao-module-pay |
支付系统的 Module 模块 |
yudao-module-visualization |
大屏报表 Module 模块 |
后端
框架 | 说明 | 版本 | 学习指南 |
---|---|---|---|
Spring Cloud Alibaba | 微服务框架 | 2021.0.4.0 | 文档 |
Nacos | 配置中心 & 注册中心 | 2.0.4 | 文档 |
RocketMQ | 消息队列 | 4.9.4 | 文档 |
Sentinel | 服务保障 | 1.8.6 | 文档 |
XXL Job | 定时任务 | 2.3.1 | 文档 |
Spring Cloud Gateway | 服务网关 | 3.4.1 | 文档 |
Seata | 分布式事务 | 1.6.1 | 文档 |
MySQL | 数据库服务器 | 5.7 / 8.0+ | |
Druid | JDBC 连接池、监控组件 | 1.2.15 | 文档 |
MyBatis Plus | MyBatis 增强工具包 | 3.5.3.1 | 文档 |
Dynamic Datasource | 动态数据源 | 3.6.0 | 文档 |
Redis | key-value 数据库 | 5.0 / 6.0 | |
Redisson | Redis 客户端 | 3.18.0 | 文档 |
Spring MVC | MVC 框架 | 5.3.24 | 文档 |
Spring Security | Spring 安全框架 | 5.7.5 | 文档 |
Hibernate Validator | 参数校验组件 | 6.2.5 | 文档 |
Flowable | 工作流引擎 | 6.7.2 | 文档 |
Knife4j | Swagger 增强 UI 实现 | 4.0.0 | 文档 |
SkyWalking | 分布式应用追踪系统 | 8.12.0 | 文档 |
Spring Boot Admin | Spring Boot 监控平台 | 2.7.10 | 文档 |
Jackson | JSON 工具库 | 2.13.3 | |
MapStruct | Java Bean 转换 | 1.5.3.Final | 文档 |
Lombok | 消除冗长的 Java 代码 | 1.18.24 | 文档 |
JUnit | Java 单元测试框架 | 5.8.2 | - |
Mockito | Java Mock 框架 | 4.8.0 | - |
管理后台 Vue2 前端
框架 | 说明 | 版本 |
---|---|---|
Vue | JavaScript 框架 | 2.7.14 |
Vue Element Admin | 后台前端解决方案 | - |
管理后台 Vue3 前端
框架 | 说明 | 版本 |
---|---|---|
Vue | Vue 框架 | 3.2.45 |
Vite | 开发与构建工具 | 4.0.4 |
Element Plus | Element Plus | 2.2.28 |
TypeScript | TypeScript | 4.9.4 |
pinia | vuex5 | 2.0.29 |
vue-i18n | 国际化 | 9.2.2 |
vxe-table | vue最强表单 | 4.3.9 |
管理后台 uni-app 跨端
框架 | 说明 | 版本 |
---|---|---|
uni-app | 跨平台框架 | 2.0.0 |
uni-ui | 基于 uni-app 的 UI 框架 | 1.4.20 |
🐷 演示图
系统功能
模块 | biu | biu | biu |
---|---|---|---|
登录 & 首页 | |||
用户 & 应用 | |||
租户 & 套餐 | - | ||
部门 & 岗位 | - | ||
菜单 & 角色 | - | ||
审计日志 | - | ||
短信 | |||
字典 & 敏感词 | |||
错误码 & 通知 | - |
工作流程
模块 | biu | biu | biu |
---|---|---|---|
流程模型 | |||
表单 & 分组 | - | ||
我的流程 | |||
待办 & 已办 | |||
OA 请假 |
基础设施
模块 | biu | biu | biu |
---|---|---|---|
代码生成 | - | ||
文档 | - | ||
文件 & 配置 | |||
定时任务 | - | ||
API 日志 | - | ||
MySQL & Redis | - | ||
监控平台 |
支付系统
模块 | biu | biu | biu |
---|---|---|---|
商家 & 应用 | |||
支付 & 退款 | --- |
数据报表
模块 | biu | biu | biu |
---|---|---|---|
报表设计器 |
移动端(管理后台)
biu | biu | biu |
---|---|---|
目前已经实现登录、我的、工作台、编辑资料、头像修改、密码修改、常见问题、关于我们等基础功能。