RuoYi-Cloud快速上手

文章目录

    • ruoyi微服务技术栈
    • ruoyi项目环境
    • 创建新模块????
    • 代码自动生成????
    • 登录鉴权原理
    • gateway网关规则

官方文档:https://doc.ruoyi.vip/ruoyi-cloud/

  • RuoYi-Cloud项目框架:

image.png

  • 后端
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-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                // 公共依赖
  • 前端
├── build                      // 构建相关  
├── bin                        // 执行脚本
├── public                     // 公共文件
│   ├── favicon.ico            // favicon图标
│   └── index.html             // html模板
├── src                        // 源代码
│   ├── api                    // 所有请求
│   ├── assets                 // 主题 字体等静态资源
│   ├── components             // 全局公用组件
│   ├── directive              // 全局指令
│   ├── layout                 // 布局
│   ├── router                 // 路由
│   ├── store                  // 全局 store管理
│   ├── utils                  // 全局公用方法
│   ├── views                  // view
│   ├── App.vue                // 入口页面
│   ├── main.js                // 入口 加载组件 初始化等
│   ├── permission.js          // 权限管理
│   └── settings.js            // 系统配置
├── .editorconfig              // 编码格式
├── .env.development           // 开发环境配置
├── .env.production            // 生产环境配置
├── .env.staging               // 测试环境配置
├── .eslintignore              // 忽略语法检查
├── .eslintrc.js               // eslint 配置项
├── .gitignore                 // git 忽略项
├── babel.config.js            // babel.config.js
├── package.json               // package.json
└── vue.config.js              // vue.config.js

ruoyi微服务技术栈

  • 网关:Gateway
  • 远程调用:Ribbon/Feign
  • 注册中心:Nacos Discovery
  • 熔断降级:Sentinel
  • 配置中心:Nacos Config
  • 链路追踪:Sleuth+ZipKin/SkyWalking(没有集成,需要自己加)

ruoyi项目环境

JDK >= 1.8 (推荐1.8版本)
Mysql >= 5.7.0 (推荐5.7版本)
Redis >= 3.0
Maven >= 3.0
Node >= 10
nacos >= 1.1.0 (ruoyi-cloud >= 3.0.0需要下载nacos >= 2.x.x版本)
sentinel >= 1.6.0

创建新模块????

  1. 创建api-test
  • 参考复制maven包

image.png

  1. 核心业务模块modules-test
  • 记得在菜单管理中添加一个主导航栏(xx管理)
  1. 参考ruoyi-system复制maven包、bootstrap.yml
  2. nacos克隆ruoyi-system-dev.yml,配置yml
  3. gateway的yml添加网关配置
    image.png

代码自动生成????

  1. 创建数据表
create table test_user(
	id int primary key auto_increment,
	name varchar(11),
	password varchar(11)
)
  1. 系统工具—>代码生成

1692951605651.png
生成代码,非常牛逼!!!
image.png

  1. 编辑:

image.png
image.png
image.png

  1. 点击生成代码

image.png

  1. 解压

main(Java后端代码)
vue(前端代码)
testMenu.sql

登录鉴权原理

有2种模式:

  1. 外部鉴权:客户端访问服务端(微服务),以JWT令牌为判断依据,有且合法放行,没有或不合法

image.png

  1. 内部鉴权:上游微服务访问下游微服务,以请求头标记:from-source=:inner有无位依据,有放行,没有拒绝

image.png

gateway网关规则

前端发起所有请都统一经过网关,再借由网关路由统一转发。

  • 访问ruoyi–file微服务路径规则:http://localhost:80/dev-api/file/**
  • 访问ruoyi-.gen微服务路径规则:http://localhost:80/dev-api/code/**
  • 访问ruoyi-.job微服务路径规则:http://localhost:80/dev-api/schedule/**
  • 访问ruoyi–system微服务路径规则:http://localhost:80/dev-api/system/**
  • 访问ruoyi–auth微服务路径规则:http://localhost:80/dev-api/auth/**
上一篇:2024蓝桥杯每日一题(区间DP)


下一篇:Android客户端自动化UI自动化airtest从0到1搭建macos+脚本设计demo演示+全网最全最详细保姆级有步骤有图