GithubHelp home page GithubHelp logo

yangzongzhuan / ruoyi-cloud Goto Github PK

View Code? Open in Web Editor NEW
1.2K 26.0 684.0 3.25 MB

:tada: (RuoYi)官方仓库 基于Spring Boot、Spring Cloud & Alibaba的分布式微服务架构权限管理系统

Home Page: http://ruoyi.vip

License: MIT License

Batchfile 0.16% Java 53.10% JavaScript 9.43% HTML 1.78% Vue 34.22% SCSS 1.16% Shell 0.15%
java vue springboot springcloud oauth2 springsecurity nacos sentinel springcloud-alibaba springcloud-gateway

ruoyi-cloud's Introduction

logo

RuoYi v3.6.4

基于 Vue/Element UI 和 Spring Boot/Spring Cloud & Alibaba 前后端分离的分布式微服务架构

平台简介

若依是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。

  • 采用前后端分离的模式,微服务版本前端(基于 RuoYi-Vue)。
  • 后端采用Spring Boot、Spring Cloud & Alibaba。
  • 注册中心、配置中心选型Nacos,权限认证使用Redis。
  • 流量控制框架选型Sentinel,分布式事务选型Seata。
  • 提供了技术栈(Vue3 Element Plus Vite)版本RuoYi-Cloud-Vue3,保持同步更新。
  • 如需不分离应用,请移步 RuoYi,如需分离应用,请移步 RuoYi-Vue
  • 阿里云折扣场:点我进入,腾讯云秒杀场:点我进入  
  • 阿里云优惠券:点我领取,腾讯云优惠券:点我领取  

友情链接 若依/RuoYi-Cloud Ant Design版本。

系统模块

com.ruoyi     
├── ruoyi-ui              // 前端框架 [80]
├── ruoyi-gateway         // 网关模块 [8080]
├── ruoyi-auth            // 认证中心 [9200]
├── ruoyi-api             // 接口模块
│       └── ruoyi-api-system                          // 系统接口
├── ruoyi-common          // 通用模块
│       └── ruoyi-common-core                         // 核心模块
│       └── ruoyi-common-datascope                    // 权限范围
│       └── ruoyi-common-datasource                   // 多数据源
│       └── ruoyi-common-log                          // 日志记录
│       └── ruoyi-common-redis                        // 缓存服务
│       └── ruoyi-common-seata                        // 分布式事务
│       └── ruoyi-common-security                     // 安全模块
│       └── ruoyi-common-swagger                      // 系统接口
├── ruoyi-modules         // 业务模块
│       └── ruoyi-system                              // 系统模块 [9201]
│       └── ruoyi-gen                                 // 代码生成 [9202]
│       └── ruoyi-job                                 // 定时任务 [9203]
│       └── ruoyi-file                                // 文件服务 [9300]
├── ruoyi-visual          // 图形化管理模块
│       └── ruoyi-visual-monitor                      // 监控中心 [9100]
├──pom.xml                // 公共依赖

架构图

内置功能

  1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
  2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
  3. 岗位管理:配置系统用户所属担任职务。
  4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
  5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
  7. 参数管理:对系统动态配置常用参数。
  8. 通知公告:系统通知公告信息发布维护。
  9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  10. 登录日志:系统登录日志记录查询包含登录异常。
  11. 在线用户:当前系统中活跃用户状态监控。
  12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
  13. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
  14. 系统接口:根据业务代码自动生成相关的api接口文档。
  15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
  16. 在线构建器:拖动表单元素生成相应的HTML代码。
  17. 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。

在线体验

  • admin/admin123
  • 陆陆续续收到一些打赏,为了更好的体验已用于演示服务器升级。谢谢各位小伙伴。

演示地址:http://ruoyi.vip
文档地址:http://doc.ruoyi.vip

演示图

若依微服务交流群

QQ群: 加入QQ群 加入QQ群 加入QQ群 加入QQ群 加入QQ群 加入QQ群 加入QQ群 加入QQ群 加入QQ群 加入QQ群 加入QQ群 加入QQ群 加入QQ群 点击按钮入群。

ruoyi-cloud's People

Contributors

15678871232 avatar 3440626 avatar 380862139 avatar 819589789 avatar cccggglll888 avatar chy-study avatar dazer007 avatar dokiyoloo avatar east333 avatar huyikai avatar javalionli avatar liguonan avatar liujidong avatar lvwshuai avatar meetshawn avatar ok1996 avatar ottttto avatar qsc555 avatar richmoster avatar rrge avatar runphp avatar t-aest avatar twelvet-s avatar xlongwei avatar yangzongzhuan avatar ysjqaz avatar yu1183688986 avatar zhangbokang avatar zhangmrit avatar zhouyifenggit avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ruoyi-cloud's Issues

验证码

验证码功能似乎有问题,无法加载,3.5版无此问题。

连接的是阿里云服务器上部署的MySQL数据库,结果每次运行项目后没操作一小会,就开始报一些警告

一、问题描述
连接的是阿里云服务器上部署的MySQL数据库,结果每次运行项目后没操作一小会,就开始报一些警告,具体如下:
​ The last packet successfully received from the server was 1,209,470 milliseconds ago. The last packet sent successfully to the server was 5,005 milliseconds ago.). Possibly consider using a shorter maxLifetime value.

然后连接就断开,无法访问数据库了。

二、原因分析
​ 上面的问题总而言之意思就是,连接存活时间超时了之类的,但是数据库中的设置和我的连接池设置的空闲存活时间跟最大存活时间都远大于空闲时间,所以按理说不应该出现这种情况,而换到我本地的数据库,配置完全相同也不会出现这种情况,根据网上说的一些方法修改也不成功。
​ 再查了查,发现应该是因为云服务器的Linux系统上的安全设置问题,如果在一段时间内没有与服务器进行交互就会断开连接,包括在用ssh连接云服务器时,如果一段时间不操作,也会卡死只能重连,所以只要是在本地的,就不会出现这种情况。

目前没找到解决办法!!!

mybitis: typeAliasesPackage

typeAliasesPackage: com.ruoyi.system
typeAliasesPackage: com.ruoyi.gen.domain

问题:实体类都在xxx.domain下,为什么system不需要,加上反而报错,没有看到其他地方有配置,求解惑

代码生成器下载不了

RuoYi-Cloud代码生成器下载不了。

错误信息:

zipdownload.js?ca3f:33 Uncaught (in promise) TypeError: Cannot read property '1' of null
    at resolveBlob (zipdownload.js?ca3f:33)
    at eval (zipdownload.js?ca3f:18)

接口URL:http://localhost/dev-api/tool/gen/batchGenCode?tables=sys_oper_log

接口请求响应结果:

{"code":500,"msg":"404 NOT_FOUND"}

打断点,也不走Debug,这是什么原因,上述是该接口的错误信息。

Packaging of master branch on November 26, 2022

Today's master branch cannot be packaged after cloning

The specific problems are as follows:

[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:3.0.0:repackage (default) on project ruoyi-auth: Execution default of goal org.springframework.boot:spring-boot-maven-plugin:3.0.0:repackage failed: Unable to load the mojo 'repackage' in the plugin 'org.springframework.boot:spring-boot-maven-plugin:3.0.0' due to an API incompatibility: org.codehaus.plexus.component.repository.exception.ComponentLookupException: org/springframework/boot/maven/RepackageMojo has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0
[ERROR] -----------------------------------------------------
[ERROR] realm = plugin>org.springframework.boot:spring-boot-maven-plugin:3.0.0
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/root/.m2/repository/org/springframework/boot/spring-boot-maven-plugin/3.0.0/spring-boot-maven-plugin-3.0.0.jar
[ERROR] urls[1] = file:/root/.m2/repository/org/springframework/spring-context/6.0.2/spring-context-6.0.2.jar
[ERROR] urls[2] = file:/root/.m2/repository/org/springframework/spring-aop/6.0.2/spring-aop-6.0.2.jar
[ERROR] urls[3] = file:/root/.m2/repository/org/springframework/spring-beans/6.0.2/spring-beans-6.0.2.jar
[ERROR] urls[4] = file:/root/.m2/repository/org/springframework/spring-core/6.0.2/spring-core-6.0.2.jar
[ERROR] urls[5] = file:/root/.m2/repository/org/springframework/spring-jcl/6.0.2/spring-jcl-6.0.2.jar
[ERROR] urls[6] = file:/root/.m2/repository/org/springframework/spring-expression/6.0.2/spring-expression-6.0.2.jar
[ERROR] urls[7] = file:/root/.m2/repository/org/springframework/boot/spring-boot-buildpack-platform/3.0.0/spring-boot-buildpack-platform-3.0.0.jar
[ERROR] urls[8] = file:/root/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.14.1/jackson-databind-2.14.1.jar
[ERROR] urls[9] = file:/root/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.14.1/jackson-annotations-2.14.1.jar
[ERROR] urls[10] = file:/root/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.14.1/jackson-core-2.14.1.jar
[ERROR] urls[11] = file:/root/.m2/repository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.14.1/jackson-module-parameter-names-2.14.1.jar
[ERROR] urls[12] = file:/root/.m2/repository/net/java/dev/jna/jna-platform/5.7.0/jna-platform-5.7.0.jar
[ERROR] urls[13] = file:/root/.m2/repository/net/java/dev/jna/jna/5.7.0/jna-5.7.0.jar
[ERROR] urls[14] = file:/root/.m2/repository/org/apache/commons/commons-compress/1.21/commons-compress-1.21.jar
[ERROR] urls[15] = file:/root/.m2/repository/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar
[ERROR] urls[16] = file:/root/.m2/repository/org/apache/httpcomponents/httpcore/4.4.13/httpcore-4.4.13.jar
[ERROR] urls[17] = file:/root/.m2/repository/commons-codec/commons-codec/1.11/commons-codec-1.11.jar
[ERROR] urls[18] = file:/root/.m2/repository/org/tomlj/tomlj/1.0.0/tomlj-1.0.0.jar
[ERROR] urls[19] = file:/root/.m2/repository/org/antlr/antlr4-runtime/4.7.2/antlr4-runtime-4.7.2.jar
[ERROR] urls[20] = file:/root/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar
[ERROR] urls[21] = file:/root/.m2/repository/org/springframework/boot/spring-boot-loader-tools/3.0.0/spring-boot-loader-tools-3.0.0.jar
[ERROR] urls[22] = file:/root/.m2/repository/org/sonatype/plexus/plexus-build-api/0.0.7/plexus-build-api-0.0.7.jar
[ERROR] urls[23] = file:/root/.m2/repository/org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.jar
[ERROR] urls[24] = file:/root/.m2/repository/org/apache/maven/plugins/maven-shade-plugin/3.2.4/maven-shade-plugin-3.2.4.jar
[ERROR] urls[25] = file:/root/.m2/repository/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar
[ERROR] urls[26] = file:/root/.m2/repository/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar
[ERROR] urls[27] = file:/root/.m2/repository/org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar
[ERROR] urls[28] = file:/root/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar
[ERROR] urls[29] = file:/root/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar
[ERROR] urls[30] = file:/root/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
[ERROR] urls[31] = file:/root/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
[ERROR] urls[32] = file:/root/.m2/repository/org/apache/maven/shared/maven-artifact-transfer/0.12.0/maven-artifact-transfer-0.12.0.jar
[ERROR] urls[33] = file:/root/.m2/repository/org/apache/maven/shared/maven-common-artifact-filters/3.0.1/maven-common-artifact-filters-3.0.1.jar
[ERROR] urls[34] = file:/root/.m2/repository/org/apache/maven/shared/maven-shared-utils/3.1.0/maven-shared-utils-3.1.0.jar
[ERROR] urls[35] = file:/root/.m2/repository/org/ow2/asm/asm/8.0/asm-8.0.jar
[ERROR] urls[36] = file:/root/.m2/repository/org/ow2/asm/asm-commons/8.0/asm-commons-8.0.jar
[ERROR] urls[37] = file:/root/.m2/repository/org/ow2/asm/asm-tree/8.0/asm-tree-8.0.jar
[ERROR] urls[38] = file:/root/.m2/repository/org/ow2/asm/asm-analysis/8.0/asm-analysis-8.0.jar
[ERROR] urls[39] = file:/root/.m2/repository/org/jdom/jdom2/2.0.6/jdom2-2.0.6.jar
[ERROR] urls[40] = file:/root/.m2/repository/org/apache/maven/shared/maven-dependency-tree/3.0.1/maven-dependency-tree-3.0.1.jar
[ERROR] urls[41] = file:/root/.m2/repository/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar
[ERROR] urls[42] = file:/root/.m2/repository/commons-io/commons-io/2.6/commons-io-2.6.jar
[ERROR] urls[43] = file:/root/.m2/repository/org/vafer/jdependency/2.4.0/jdependency-2.4.0.jar
[ERROR] urls[44] = file:/root/.m2/repository/org/ow2/asm/asm-util/8.0/asm-util-8.0.jar
[ERROR] urls[45] = file:/root/.m2/repository/com/google/guava/guava/28.2-android/guava-28.2-android.jar
[ERROR] urls[46] = file:/root/.m2/repository/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar
[ERROR] urls[47] = file:/root/.m2/repository/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
[ERROR] urls[48] = file:/root/.m2/repository/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5.jar
[ERROR] urls[49] = file:/root/.m2/repository/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4.jar
[ERROR] urls[50] = file:/root/.m2/repository/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar
[ERROR] urls[51] = file:/root/.m2/repository/org/apache/commons/commons-lang3/3.7/commons-lang3-3.7.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import from realm ClassRealm[maven.api, parent: null]]
[ERROR]
[ERROR] -----------------------------------------------------
[ERROR]
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginContainerException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn -rf :ruoyi-auth

ruoyi-file 微服务启动 问题

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

数据库更新问题

问题

在开发环境修改数据库字段,或者添加一个新表,在部署生产环境的时候,需要自己将创建的表和字段同步上去

建议

集成一种组件,可以将更新表机构的sql写入至项目中,在项目启动时,会自动检测数据库版本和修改的版本,自动完成数据库表结构的更新

mybatis-plus与lombok

项目作者, 你好:
项目新版本是否考虑, 集成mybatis-plus与lombok, 这样可以简化代码、方便开发.
谢谢!

nacos 2.1.0版本之后避坑

现象:
新搭建的nacos, 可以创建命名空间,但是新增配置报错:发布失败,请检查参数是否正确。

原因:
nacos 初始化sql与nacos版本不一致
nacos.2.1.0 及之前数据库初始化脚本为nacos-mysql.sql,2.2.0 之后重命名为mysql-schema.sql
nacos 2.1.0版本之后初始化数据库中config_info 和 his_config_info 表中新增了encrypted_data_key密钥字段

ry-cloud的服务运行不起来

报错信息如下:
java.lang.IllegalStateException: Unable to read meta-data for class com.ruoyi.common.core.utils.SpringUtils
......
......
Caused by: java.io.FileNotFoundException: class path resource [com/ruoyi/common/core/utils/SpringUtils.class] cannot be opened because it does not exist
.....

建议在微服务文档中的常见问题中,关于《提示您没有数据的权限》可以添加:确认auth模块和systm模块使用了一致的redis

今天在正常开发的时候,进入系统管理目录,打开所有菜单:用户管理、部门管理等,都是显示缺少权限,请找管理员。
经过debug发现,system模块获取登录用户信息的时候,获取redis的LoginUser得到的是null。
微信图片_20211108180324

后来看了auth模块和system的nacos配置文件,system的redis路径已被修改,两个模块的redis路径导致了上述的问题。
建议在常见问题中,关于《提示您没有数据的权限》可以添加:确认auth模块和systm模块使用了一致的redis

若依cloud版本的pagehelper配置在哪配置

多数据源,其他数据库在分页查询时如何配置数据库的dialect,看了下整个application.yml文件都没有找到关于pagehelper的配置?麻烦告知一下解决的原理谢谢!,还是说现在的pagehelper搭配dynamic多数据都能自动识别数据,自动配置方言了?
类似于这种配置:在本项目中都没有找到,那是不需要配置还是其他方式实现的呢?
#PageHelper分页插件
pagehelper:
helperDialect: mysql
supportMethodsArguments: true
params: count=countSql
autoRuntimeDialect: true

菜单或者目录路径命名重复导致vue-router路由出现404问题

菜单或者目录路径命名重复,直接导致路由name重复,在代码中使用了named route情况下,这种重复导致后面的相同name的路由覆盖之前的路由,最终出现出现404问题(菜单路径重复)
还会导致点击目录展开错误问题(目录路径重复)

nacos下配置

有时候配置文件修改了之后会出现getInfo接口(后台登录时) 403

vue2何时替换vue3版本

vue2我理解已经停止维护了,何时更新到vue3版本呢?我的意思是替换到cloud项目中。

鉴权方式为什么不采用网关统一鉴权而是硬编码方式鉴权

1、代码中auth服务负责用户认证,颁发token。
2、网关服务负责转发请求,
3、各个模块负责用户权限鉴权,且是硬编码方式(个人认为及其不合理,应当为数据库配置权限信息,动态鉴权)
问:为什么不在网关做统一动态鉴权?,所有服务入口通过网关进行转发。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.