02-若依权限管理子系统简介(自己了解)

若依系统简介

若依概述

若依微服务版RuoYi-Cloud,基于Spring Boot、Spring Cloud & Alibaba、OAuth2的前后端分离的后台管理系统。此系统内置模块如部门管理、角色用户管理、菜单及按钮授权、数据权限、系统参数、日志管理、代码生成等。在线定时任务配置,并且支持集群,支持多数据源。此系统还是我们公司内部的一套 Java EE 企业级快速开发平台.

官方文档地址

若依官网 http://ruoyi.vip/。
若依微服务官网地址 https://doc.ruoyi.vip/ruoyi-cloud/

微服务技术选型

后端技术栈:

MyBatis、Spring、Spring Boot、Spring Cloud & Alibaba、Nacos、Sentinel

前端VUE技术栈:

ES6、vue、vuex、vue-router、vue-cli、axios、element-ui

系统微服务模块骨架

后端项目骨架,如图所示:

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

系统微服务技术架构

若依分布式架构设计,如图所示:

在这里插入图片描述

若依微服务项目部署

背景

一般进入公司以后,可能team leader会给我们一套项目代码,然后我们需要基于代码规范或者原有业务去进行新的业务开发,这样的话我们就需要首先将系统跑起来,然后对其业务和代码进行分析,学习.

准备工作

项目需要的基础环境需求如下:

JDK >= 1.8 (推荐1.8版本)
Mysql >= 5.7.0 (推荐5.7版本)
Redis >= 5.0 (市场主流版本,最新版本为6.xx)
Maven >= 3.6 (http://maven.apache.org/download.cgi)
Node >= 10 (稳定版14.X,https://nodejs.org/en/download/)
nacos >= 1.4.1 (https://github.com/alibaba/nacos/releases)

当这些软件不知道如何去下载时候,打开搜索引擎,使用组合查询方法,去找下载路径,
例如 redis download

安装Redis

Redis官网:

http://www.redis.cn/
http://www.redis.io/

Windows版本下载以后,网址如下:

https://github.com/tporadowski/redis/releases

windows下的安装,直接解压,其个目录如下:
在这里插入图片描述

安装windows下安装服务,在redis根目录启动命令行(cmd),执行

redis-server --service-install redis.windows.conf

启动redis服务(启动成功以后会出现successful)

redis-server --service-start

其它redis指令(这个操作可以不执行)

redis-server --service-stop //停止服务
redis-server --service-uninstall //卸载服务

连接测试redis,在redis根路径执行(默认端口6379)

redis-cli -h 127.0.0.1 -p 6379

安装MySql数据库

(省略)
说明:mysql数据库的版本一定要在5.7以上,MariaDB最后用10.5.

安装Nacos服务治理业务

第一步:Nacos下载,可在浏览器直接输入如下地址:

https://github.com/alibaba/nacos/releases

第二步:选择对应版本,直接下载,如图所示:
在这里插入图片描述

第三步:解压Nacos(最好不要解压到中文目录下),其目录结构如下:
在这里插入图片描述

第四步:打开/conf/application.properties里打开默认配置,并基于你当前环境配置要连接的数据库,连接数据库时使用的用户名和密码:

### If use MySQL as datasource:
spring.datasource.platform=mysql

### Count of DB:
db.num=1

### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=root

说明,后续我们配置RuoYi-Cloud项目时,这个项目很多配置信息需要存储到ry-config数据库中。

初始化RuoYi-Cloud微服务项目数据

第一步:登录mysql,然后基于source执行指令去执行课前资料中的RuoYi-Cloud.sql文件(不推荐使用SQLYog执行),例如:

source d:/RuoYi-Cloud.sql

当执行成功以后,在ry-cloud数据库中就有如下表:
在这里插入图片描述

第二步:基于source指令执行RuoYi-Config.sql,例如:

source d:/RuoYi-Config.sql

执行成功以后会创建一个数据库ry-config,其内部的表如图所示:

在这里插入图片描述

若依后端微服务启动运行

启动Nacos服务

第一步:进入nacos的bin目录,启动nacos(standalone代表着单机模式运行,非集群模式,此服务的启动对JDK有要求,必须jdk8):

startup.cmd -m standalone

第二步:访问Nacos服务

打开浏览器,输入http://localhost:8848/nacos地址,出现如下登陆页面:
在这里插入图片描述

默认登陆用户名和密码都为nacos,登陆成功以后,进入如下页面:
在这里插入图片描述
打开配置列表,如图所示:
在这里插入图片描述
然后从”上往下挨个编辑”,把设计到连接Mysql和Redis的所有地方,改为自己对应的用户名和密码,以网关的配置文件ruoyi-auth-dev.yml为例,如图所示:
在这里插入图片描述

基于IDEA打开项目

第一步:基于IDEA打开项目,如图所示:
在这里插入图片描述

第二步:项目打开以后,配置maven下载项目依赖。

在这里插入图片描述

启动并检测后端项目服务

第一步:依次启动ruoyi-gateway,ruoyi-auth,ruoyi-modules下的ruoyi-system。
第二步:检测nacos的服务列表,如图所示:

在这里插入图片描述

若依前端项目配置及运行

安装项目依赖

第一步:选中前端项目,如图所示:
在这里插入图片描述
第二步:右键前端项目,打开终端命令行,如图所示:
在这里插入图片描述
第三步:在命令行输入npm install 安装项目依赖,如图所示:
在这里插入图片描述

启动运行前端项目

第一步:在命令行输入 npm run dev 启动运行前端服务,如图所示:
在这里插入图片描述
第二步:浏览器输入localhost进行访问,进入登陆页面,如图所示
在这里插入图片描述
第三步:输入账号(admin/admin123),登陆系统,如图所示:

在这里插入图片描述

总结(Summary)

重难点分析

  • 熟悉若依平台业务及技术(架构、技术栈)
  • 掌握第三方平台的一个搭建过程(参考官方或企业文档)
  • 掌握微服务架构的项目结构(参考结构创建自己的项目)。

FAQ分析

  • 如何在命令行执行sql脚本文件?source d:/RuoYi-Cloud.sql
  • 数据库中的导入的数据是乱码?Sqlyog可能会有这个问题
  • Nacos服务启动后看不到配置数据?检查nacos配置文件application.properties中数据库的连接配置。

BUG分析

  • Cannot resolve plugin spring-boot-maven-plugin:
  • MySql执行sql脚本时失败(检查你mysql的版本是否为5.7以上版本)
  • 500 exception (一定要看服务端服务是否启动,控制台是否有异常)
  • Redis启动失败(先卸载再启动)
  • Npm install (安装客户端依赖过程失败,首先检测node版本,选择稳定版)
  • 服务启动时显示连接数据库失败(检查nacos配置列表中配置文件内容是否修改了连接数据库的配置)
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
RuoYi若依管理系统是一个基于SpringBoot的权限管理系统,代码易读易懂、界面简洁美观。 核心技术采用Spring、MyBatis、Shiro没有任何其它重度依赖。直接运行即可用。 RuoYi若依管理系统功能: 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找出系统性能瓶颈。   RuoYi若依管理系统 更新日志: v4.6.1 新增IE浏览器版本过低提示页面 新增详细信息tab页签方式 新增解锁屏幕打开上次页签 数据监控默认账户密码防止越权访问 新增表格示例(导出选择列) 个人信息添加手机&邮箱重复验证 个人中心刷新后样式问题 操作日志返回参数添加非空验证 velocity剔除commons-collections版本,防止3.2.1版本的反序列化漏洞 子表模板默认日期格式化 代码生成预览语言根据后缀名高亮显示 代码生成主子表相同字段导致数据问题 升级SpringBoot到最新版本2.2.13 升级shiro到最新版1.7.1 阻止身份认证绕过漏洞 升级bootstrapTable到最新版本v1.18.2 升级bootstrapTable相关组件到最新版本v1.18.2 升级fastjson到最新版1.2.75 升级druid到最新版本v1.2.4 升级oshi到最新版本v5.6.0 修改ip字段长度防止ipv6地址长度不够 搜索建议示例选择后隐藏列表 主子表示例增加初始化数据 优化Excel导入增加空行判断 修复横向菜单无法打开页签问题 修复导入数据为负浮点数时,导入结果会丢失精度问题 优化更多操作按钮左侧移入内容闪现消失情况 修复主子表提交中列隐藏后出现列偏移问题 单据打印网页时通过hidden-print隐藏元素 表格销毁清除记住选择数据 增加表格动态列示例 代码生成选择主子表关联元素必填 tree根据Id和Name选中指定节点增加空判断 其他细节优化

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

青木编码

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值