芋道源码 yudao-cloud:构建全功能后台管理系统的技术探索

一、引言

在快速迭代的软件开发领域,一个高效、可扩展且功能全面的后台管理系统是企业数字化转型的重要基石。芋道源码的 yudao-cloud 项目,作为 ruoyi-vue-pro 的全新 Cloud 版本,通过深度优化与重构,为开发者提供了一个基于 Spring Cloud Alibaba 微服务架构的全方位解决方案。本文将深入探讨 yudao-cloud 的技术架构、核心功能及其在实际应用中的优势。

图片

二、技术架构概览

后端架构

yudao-cloud 后端采用 Spring Cloud Alibaba 微服务架构,集成了众多业界领先的组件,包括:

  • 服务注册与配置中心:Nacos 作为服务注册与配置中心,提供了服务的动态注册与发现、配置管理等功能,极大地简化了服务间的依赖关系。

  • 服务网关:Spring Cloud Gateway 作为 API 网关,负责路由转发、鉴权、限流等,为前端提供统一的访问入口。

  • 消息队列:RocketMQ 用于处理分布式系统中的消息传递,支持高并发、高可靠性的消息通信。

  • 分布式事务:Seata 解决了微服务架构下的分布式事务问题,确保数据一致性。

  • 定时任务:XXL-JOB 提供了轻量级的分布式任务调度解决方案。

  • 服务保障:Sentinel 用于服务的流量控制、熔断降级,保障服务的稳定性。

图片

数据库与缓存

项目支持多种数据库,包括 MySQL、Oracle、PostgreSQL 等,通过 MyBatis Plus 简化数据库操作。同时,利用 Redis 及 Redisson 实现数据缓存,提升系统性能。

权限与安全

  • 权限认证:结合 Spring Security、Token 机制与 Redis,实现多终端、多用户的认证系统,支持 SSO 单点登录。

  • 动态权限控制:支持加载动态权限菜单,实现按钮级别的权限控制,确保系统安全。

实时通信

采用 Spring WebSocket 实现实时通信功能,内置 Token 身份校验,支持 WebSocket 集群,为系统提供高效的实时交互能力。

图片

三、技术架构详述

yudao-cloud项目的前端技术架构基于Vue.js框架,采用了Element-Plus、Vben(Ant-Design-Vue)和uni-app等多种UI组件库,实现了电脑端和移动端的统一管理。同时,项目支持多终端、多种用户的认证系统,支持SSO单点登录,并集成了实时通信、报表设计器等功能。

图片

平台简介

芋道,以开发者为中心,打造中国第一流的快速开发平台,全部开源,个人与企业可 100% 免费使用。

  • Java 后端:master 分支为 JDK 8 + Spring Boot 2.7,master-jdk17 分支为 JDK 17/21 + Spring Boot 3.2

  • 管理后台的电脑端:Vue3 提供 element-plus、vben(ant-design-vue) 两个版本,Vue2 提供 element-ui 版本

  • 管理后台的移动端:采用 uni-app 方案,一份代码多终端适配,同时支持 APP、小程序、H5!

  • 后端采用 Spring Cloud Alibaba 微服务架构,注册中心 + 配置中心 Nacos,定时任务 XXL-Job,服务保障 Sentinel,服务网关 Gateway,分布式事务 Seata

  • 数据库可使用 MySQL、Oracle、PostgreSQL、SQL Server、MariaDB、国产达梦 DM、TiDB 等,基于 MyBatis Plus、Redis + Redisson 操作

  • 消息队列可使用 Event、Redis、RabbitMQ、Kafka、RocketMQ 等

  • 权限认证使用 Spring Security & Token & Redis,支持多终端、多种用户的认证系统,支持 SSO 单点登录

  • 支持加载动态权限菜单,按钮级别权限控制,Redis 缓存提升性能

  • 支持 SaaS 多租户系统,可自定义每个租户的权限,提供透明化的多租户底层封装

  • 高效率开发,使用代码生成器可以一键生成 Java、Vue 前后端代码、SQL 脚本、接口文档,支持单表、树表、主子表

  • 实时通信,采用 Spring WebSocket 实现,内置 Token 身份校验,支持 WebSocket 集群

  • 集成微信小程序、微信公众号、企业微信、钉钉等三方登陆,集成支付宝、微信等支付与退款

  • 集成阿里云、腾讯云等短信渠道,集成 MinIO、阿里云、腾讯云、七牛云等云存储服务

  • 集成报表设计器、大屏设计器,通过拖拽即可生成酷炫的报表与大屏

🐳 项目关系

图片

三个项目的功能对比,可见社区共同整理的 国产开源项目对比 表格。

后端项目

项目Star简介
ruoyi-vue-pro

图片

 

图片

基于 Spring Boot 多模块架构
yudao-cloud

图片

 

图片

基于 Spring Cloud 微服务架构
Spring-Boot-Labs

图片

 

图片

系统学习 Spring Boot & Cloud 专栏

前端项目

项目Star简介
yudao-ui-admin-vue3

图片

 

图片

基于 Vue3 + element-plus 实现的管理后台
yudao-ui-admin-vben

图片

 

图片

基于 Vue3 + vben(ant-design-vue) 实现的管理后台
yudao-mall-uniapp

图片

 

图片

基于 uni-app 实现的商城小程序
yudao-ui-admin-vue2

图片

 

图片

基于 Vue2 + element-ui 实现的管理后台
yudao-ui-admin-uniapp

图片

 

图片

基于 Vue2 + element-ui 实现的管理后台
yudao-ui-go-view

图片

 

图片

基于 Vue3 + naive-ui 实现的大屏报表

😎 开源协议

为什么推荐使用本项目?

① 本项目采用比 Apache 2.0 更宽松的 MIT License 开源协议,个人与企业可 100% 免费使用,不用保留类作者、Copyright 信息。

② 代码全部开源,不会像其他项目一样,只开源部分代码,让你无法了解整个项目的架构设计。国产开源项目对比

图片

③ 代码整洁、架构整洁,遵循《阿里巴巴 Java 开发手册》规范,代码注释详细,57000 行 Java 代码,22000 行代码注释。

🐼 内置功能

系统内置多种多种业务功能,可以用于快速你的业务系统:

图片

  • 通用模块(必选):系统功能、基础设施

  • 通用模块(可选):工作流程、支付系统、数据报表、会员中心

  • 业务系统(按需):ERP 系统、CRM 系统、商城系统、微信公众号

友情提示:本项目基于 RuoYi-Vue 修改,重构优化后端的代码,美化前端的界面。

  • 额外新增的功能,我们使用 🚀 标记。

  • 重新实现的功能,我们使用 ⭐️ 标记。

🙂 所有功能,都通过 单元测试 保证高质量。

系统功能

图片

工作流程

图片

支付系统

功能描述
🚀应用信息配置商户的应用信息,对接支付宝、微信等多个支付渠道
🚀支付订单查看用户发起的支付宝、微信等的【支付】订单
🚀退款订单查看用户发起的支付宝、微信等的【退款】订单
🚀回调通知查看支付回调业务的【支付】【退款】的通知结果
🚀接入示例提供接入支付系统的【支付】【退款】的功能实战

基础设施

功能描述
🚀代码生成前后端代码的生成(Java、Vue、SQL、单元测试),支持 CRUD 下载
🚀系统接口基于 Swagger 自动生成相关的 RESTful API 接口文档
🚀数据库文档基于 Screw 自动生成数据库文档,支持导出 Word、HTML、MD 格式
表单构建拖动表单元素生成相应的 HTML 代码,支持导出 JSON、Vue 文件
🚀配置管理对系统动态配置常用参数,支持 SpringBoot 加载
⭐️定时任务在线(添加、修改、删除)任务调度包含执行结果日志
🚀文件服务支持将文件存储到 S3(MinIO、阿里云、腾讯云、七牛云)、本地、FTP、数据库等
🚀WebSocket提供 WebSocket 接入示例,支持一对一、一对多发送方式
🚀API 日志包括 RESTful API 访问日志、异常日志两部分,方便排查 API 相关的问题
MySQL 监控监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈
Redis 监控监控 Redis 数据库的使用情况,使用的 Redis Key 管理
🚀消息队列基于 Redis 实现消息队列,Stream 提供集群消费,Pub/Sub 提供广播消费
🚀Java 监控基于 Spring Boot Admin 实现 Java 应用的监控
🚀链路追踪接入 SkyWalking 组件,实现链路追踪
🚀日志中心接入 SkyWalking 组件,实现日志中心
🚀服务保障基于 Redis 实现分布式锁、幂等、限流功能,满足高并发场景
🚀日志服务轻量级日志中心,查看远程服务器的日志
🚀单元测试基于 JUnit + Mockito 实现单元测试,保证功能的正确性、代码的质量等

图片

数据报表

功能描述
🚀报表设计器支持数据报表、图形报表、打印设计等
🚀大屏设计器拖拽生成数据大屏,内置几十种图表组件

微信公众号

功能描述
🚀账号管理配置接入的微信公众号,可支持多个公众号
🚀数据统计统计公众号的用户增减、累计用户、消息概况、接口分析等数据
🚀粉丝管理查看已关注、取关的粉丝列表,可对粉丝进行同步、打标签等操作
🚀消息管理查看粉丝发送的消息列表,可主动回复粉丝消息
🚀自动回复自动回复粉丝发送的消息,支持关注回复、消息回复、关键字回复
🚀标签管理对公众号的标签进行创建、查询、修改、删除等操作
🚀菜单管理自定义公众号的菜单,也可以从公众号同步菜单
🚀素材管理管理公众号的图片、语音、视频等素材,支持在线播放语音、视频
🚀图文草稿箱新增常用的图文素材到草稿箱,可发布到公众号
🚀图文发表记录查看已发布成功的图文素材,支持删除操作

商城系统

图片

图片

演示地址:https://cloud.iocoder.cn/mall-preview/

会员中心

功能描述
🚀会员管理会员是 C 端的消费者,该功能用于会员的搜索与管理
🚀会员标签对会员的标签进行创建、查询、修改、删除等操作
🚀会员等级对会员的等级、成长值进行管理,可用于订单折扣等会员权益
🚀会员分组对会员进行分组,用于用户画像、内容推送等运营手段
🚀积分签到回馈给签到、消费等行为的积分,会员可订单抵现、积分兑换等途径消耗

ERP 系统

图片

演示地址:https://cloud.iocoder.cn/erp-preview/

CRM系统

图片

演示地址:https://cloud.iocoder.cn/crm-preview/

🐨 技术栈

微服务

项目说明
yudao-dependenciesMaven 依赖版本管理
yudao-frameworkJava 框架拓展
yudao-server管理后台 + 用户 APP 的服务端
yudao-module-system系统功能的 Module 模块
yudao-module-member会员中心的 Module 模块
yudao-module-infra基础设施的 Module 模块
yudao-module-bpm工作流程的 Module 模块
yudao-module-pay支付系统的 Module 模块
yudao-module-mall商城系统的 Module 模块
yudao-module-mp微信公众号的 Module 模块
yudao-module-report大屏报表 Module 模块

演示图

移动端(管理后台)

biubiubiu

图片

图片

图片

图片

图片

图片

图片

图片

图片

四、核心功能

系统功能

yudao-cloud 提供了丰富的系统功能,包括但不限于用户管理、角色管理、权限管理、菜单管理等,满足企业日常运营的基本需求。

基础设施

集成了日志管理、监控告警、文件上传下载等基础设施功能,为系统稳定运行提供有力保障。

高级功能

  • 多租户系统:支持 SaaS 多租户模式,可自定义每个租户的权限,提供透明化的多租户底层封装。

  • 工作流:内置工作流引擎,支持自定义业务流程,提升业务处理效率。

  • 商城系统:提供完整的商城解决方案,包括商品管理、订单管理、支付与退款等功能。

  • CRM & ERP:集成客户关系管理(CRM)与企业资源计划(ERP)系统,助力企业数字化转型。

图片

五、开发效率与便捷性

  • 代码生成器:支持一键生成 Java、Vue 前后端代码、SQL 脚本、接口文档,极大提升开发效率。

  • 多端适配:管理后台移动端采用 uni-app 方案,实现一份代码多终端适配,支持 APP、小程序、H5。

  • 集成第三方服务:集成微信小程序、微信公众号、企业微信、钉钉等三方登录,以及支付宝、微信等支付与退款服务,方便企业快速接入外部资源。

图片

六、结论

yudao-cloud 作为芋道源码的旗舰项目,通过深度整合 Spring Cloud Alibaba 微服务架构与业界领先的组件,构建了一个功能全面、高效可扩展的后台管理系统。其丰富的功能集、高效的开发效率以及良好的扩展性,使得 yudao-cloud 成为企业数字化转型的理想选择。无论是个人开发者还是企业团队,都能从中受益,快速搭建并部署自己的后台管理系统。

项目地址:

https://gitee.com/zhijiantianya/yudao-cloud

启动文档:

https://cloud.iocoder.cn/quick-start/

视频教程:

https://cloud.iocoder.cn/video/

演示地址:

https://cloud.iocoder.cn/mall-preview/

前端技术交流群:

图片

  • 22
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在项目"yudao-server"上执行目标时出错,无法解决依赖关系的问题。这个错误通常发生在项目中引用的某个外部库或插件无法找到或无法正确下载的情况下。 导致依赖解析失败的原因可能有以下几种: 1. 网络连接问题:可能是由于网络连接不稳定或阻塞而无法成功下载所需的依赖项。在这种情况下,需要确保网络连接正常,并且可以访问依赖项所在的存储库。 2. 存储库配置问题:可能是由于项目的存储库配置不正确而导致无法找到所需的依赖项。在这种情况下,需要检查项目的存储库配置是否正确,并确保存储库中存在所需的依赖项。 3. 依赖项版本不可用:可能是由于项目中引用的某个依赖项版本不存在或不可用而导致依赖解析失败。在这种情况下,需要检查项目中所引用的依赖项版本是否正确,并确保所选择的版本可用。 解决这个问题的方法通常是: 1. 检查网络连接:确保网络连接正常,并且可以访问依赖项所在的存储库。 2. 检查存储库配置:确保项目的存储库配置正确,并可从配置的存储库中获取所需的依赖项。 3. 检查依赖项版本:确保项目中引用的依赖项版本存在或可用,如果不是,则更换为正确的版本。 如果以上方法仍然无法解决问题,可能需要进一步调查依赖项的具体情况,比如是否有其他依赖项冲突或它们之间的版本兼容性等。在这种情况下,可以尝试更新项目配置文件中的依赖项或者联系相关的库或插件的维护者寻求进一步帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端组件开发

你的钟意将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值