当前位置: 首页 > news >正文

若依-前后端分离项目学习

★★★★★省流     直接看第一集和最后一集★★★★★

第一天(6.24)

具体参考视频   b站      楠哥教你学Java

【【开源项目学习】若依前后端分离版,通俗易懂,快速上手】 https://www.bilibili.com/video/BV1HT4y1d7oA/?share_source=copy_web&vd_source=cd9334b72b49da3614a4257d23ee9552

★1.若依项目运行(前后端分离版本)

下载官网

注:第二个,可通过git克隆或者zip下载idea打开

前后端手册(官方版)

注意问题:

  1. 需要修改自己的数据库,redis,地址等。
  2. 由于是分离版本,运行时需要同时运行两个窗口,即
  3. 数据库

    我将第二个改为了ry_vue
  4. 由于我是第一次接触vue,需要安装nodejs及配置npm教程,具体参考了b站此视频

    【WIN如何正确安装nodejs及配置npm教程】 https://www.bilibili.com/video/BV1sK41187iw/?share_source=copy_web&vd_source=cd9334b72b49da3614a4257d23ee9552

    但是卡在了3分50秒处,之后在ruoyi-ui(idea前端处)直接运行如下代码

    注:开发下面四条命令,直接运行第三条(有人说镜像容易崩,用淘宝的)
    之后再运行第四条

    打开如下页面
  5. 打开上一步弹出报错    接口500异常  ,且验证码处没有图片出现,这是因为没有打开后端的启动类,排查redis等问题
  6. 账号密码
  7. 成功

2.验证码的前端实现

基本思路:后端生成一个算数表达式1+1=?@2

将1+1=?生成图片

2存入redis,通过key值验证

先验证验证码。后验证用户名和密码

验证码图片看似请求前端,实则为后端,做反向代理将前端映射到后端,目的是为了解决跨域问题,前后端交互时,必然产生跨域问题,前端80,后端8080,后端加配置类解决,前端反向代理。

3.验证码的后端实现

4.登录的实现

  1. 校验验证码
  2. 校验用户名和密码
  3. 生成Token

日志记录登录信息

1.什么是Jwts
JSON Web Token (JWT)是一种基于 token 的认证方案。

简单的说,JWT就是一种Token的编码算法,服务器端负责根据一个密码和算法生成Token,然后发给客户端,客户端只负责后面每次请求都在HTTP header里面带上这个Token,服务器负责验证这个Token是不是合法的,有没有过期等,并可以解析出subject和claim里面的数据。


不应该在jwt的payload部分存放敏感信息,因为该部分是客户端可解密的部分。

第二天(6.25)

5.获取用户角色和权限

  1. 什么是AOP
    AOPAspect Oriented Programming(面向切面编程),OOP是面向对象编程,AOP是在OOP基础之上的一种更高级的设计思想。
    AOP实现的关键,在于AOP框架自动创建的AOP代理,AOP代理主要分为静态代理和动态代理,静态代理的代表为AspectJ;而动态代理则以Spring AOP为代表。
  2. 全局路由管理器,页面跳转时每个方法均需进入。页面跳转,获取信息以及当前路由
  3. 获取登录信息,getinfo
    *:*:*      获取所有权限
    超级管理员无需数据库查询,直接获取所有权限,其他角色则需要在数据库查询
  4. 获取角色和权限然后返回前端。

6.获取动态菜单路由

  1. commit语句
    是把查询语句提交到数据库内,而不只是要向数据库提交增、添的数据。
  2. 通过不同角色的权限获取动态路由,根据动态路由生成对应不同角色菜单展示 
  3. 根据当前权限获取动态路由getRouters
  4. 数据库设计中如何联系父菜单与子菜单
    设置父id,

7.首页数据加载

8.用户数据分页

第三天(6.26)

9.用户数据查询

  1. 设置别名|
  2. 做数据访问控制

10.部门访问控制

11.添加用户数据预加载 

12.添加用户的实现

13.修改

14.删除

15.异步任务管理器

★16.代码自动生成

  1. 意义
    根据自己创建的表自动生成增删改查前后端代码
  2. 步骤
    1.先创建数据表——》2.系统工具,代码生成——》3.编辑字段信息——》4.点击生成代码——》5.解压(后端+SQL+vue)——》6.复制导入代码

总结:

由于个人能力以及基本功问题,中间没听懂多少东西,故项目急迫者,可直接看第一集和最后一集。(个人感觉中间没有用,留待日后等级高了有缘回看)

第四天(6.27)

ps:发现前面学的实际应用很难,出现了各种各样的bug,再次开启学习

1.如果分了一个商品模块,第一步,先增加菜单

别人的

我的

正常。

权限字符:(模块名)/(模块下的菜单名)/(要做的事情)

别人的路由地址:goods

我的路由地址:ehrmp

2.添加二级菜单

别人的

我的

别人的

路由地址:good

组件路径:goods/good/index

权限字符:goods:good:list

我的路由地址:eim

组件路径:ehrmp/eim/index

权限字符:ehrmp:eim:list

3.idea新建模块

别人的

我的

引入通用工具修改maven版本

看完了,发现第二版也没有用

看第三版

1.新建菜单

2.准备业务表结构,建表

3.导入表编辑字段信息

第二个表

第三个表

第五天(6.28)

1.模板信息

相关文章:

若依-前后端分离项目学习

★★★★★省流 直接看第一集和最后一集★★★★★ 第一天(6.24) 具体参考视频 b站 楠哥教你学Java 【【开源项目学习】若依前后端分离版,通俗易懂,快速上手】 https://www.bilibili.com/video/BV1HT4y1d7oA/?shar…...

使用adb shell getprop命令获取Android设备的属性

常用属性获取: adb shell getprop ro.build.version.emui —查询EMUI版本 adb shell getprop ro.product.brand —查询手机品牌 adb shell getprop ro.product.name --查询设备名称 adb shell getprop ro.serialno —查询设备序列号 获取手机系统信息( CPU,厂商…...

LNMP环境部署指南

本文档将指导您在CentOS 6.5上部署LNMP(Linux、Nginx、MySQL、PHP)环境。 系统环境 系统平台:CentOS release 6.5 安装前准备 在安装LNMP之前,您需要安装一些编译器和依赖包。 必备编译器和工具 #安装gcc、gcc-c编译器&#…...

[stm32]温湿度采集与OLED显示

一、I2C总线协议 I2C(Inter-integrated circuit )是一种允许从不同的芯片或电路与不同的主芯片通信的协议。它仅用于短距离通信,是一种用于两个或多个设备之间进行数据传输的串行总线技术,它可以让你在微处理器、传感器、存储器、…...

大模型知识库的使用

大模型知识库的使用通常涉及以下几个方面,使用大模型知识库可以提高信息检索的准确性和效率,促进知识的传播和应用。同时,也需要关注知识库的质量和更新,以确保提供的知识是准确和可靠的。北京木奇移动技术有限公司,专…...

Docker - Oracle Database 23ai Free

博文目录 文章目录 说明命令NavicatSYSTEMPDBADMIN 扩展公共用户本地用户 说明 Oracle 官方镜像仓库 Database 23ai Free | Oracle Docker 官方没有提供 Oracle Database 相关镜像, 但是 Oracle 官方镜像仓库有提供, 打开上面的链接, 选择 Database, 选择合适的版本, 如 enter…...

spring常用方法

1. 读取配置文件信息 方式一: // 获取文件路径 String fileName "application.yaml"; String filePath this.getClass().getClassLoader().getResource(fileName).getPath();BufferedReader bufferedReader new BufferedReader(new FileReader(path)…...

虚拟机能装在移动硬盘里吗安全吗 PD虚拟机迁移到移动硬盘的方法

虚拟机技术的迅速发展为用户提供了更为灵活的跨系统办公方案。许多用户希望在不同的电脑设备上运行相同的虚拟机,同时带来的也有一个问题:虚拟机能否装在移动硬盘里?针对用户的疑问,接下来给大家介绍虚拟机能装在移动硬盘里吗&…...

刷算法Leetcode---7(二叉树篇)(前中后序遍历)

前言 本文是跟着代码随想录的栈与队列顺序进行刷题并编写的 代码随想录 好久没刷算法了,最近又开始继续刷,果然还是要坚持。 二叉树的题目比之前多了好多,就多分几次写啦~ 这是力扣刷算法的其他文章链接:刷算法Leetcode文章汇总 …...

AliyunOS安装Node.js

方法1:dnf软件包安装工具自动安装 最方便的安装方式是通过系统的dnf工具,我测试使用的AliyunOS的版本是Alibaba Cloud Linux 3.2104,具体流程如下: dnf module list nodejs #列出服务器中可以使用的所有nodejs版本确定下来希望安…...

three.js - MeshPhongMaterial材质(实现玻璃水晶球效果)

1、概念 phong网格材质:Mesh - Phong - Material 一种用于具有镜面高光的光泽表面的材质。 它可以模拟,具有镜面高光的光泽表面,提供镜面反射效果。 MeshPhongMaterial: MeshPhongMaterial是一种基于Phong光照模型的材质&#…...

笔记本电脑安装CentOS

正文共:1234 字 24 图,预估阅读时间:2 分钟 前面我们对VPP进行了多次介绍(羡慕!大佬的VPP能达到180G性能,而我的却只有13.5G),可以发现他的很多优点,但是我们也可以发现它…...

ssh转发功能入门

端口转发概述 端口转发,能够将其他TCP端口的网络数据通过SSH链路转发,并且提供了ssh的加密和解密的服务。 ssh端口转发有如下这些优点: 提供了ssh的加密传输,利于安全能够突破防火墙限制 目前ssh端口转发有如下几种方式&#x…...

Listary(Windows 文件搜索工具)专业版值得购买吗?

说到经典的国货软件,有一款 Win 软件是一定绕不过去的。它就是知名的本地文件搜索工具 Listary! 便捷的文件搜索窗口;快捷操作的体验;与系统更匹配的外观设计;更智能的排序和更可靠的索引。 便捷的文件搜索窗口 紧凑…...

面试突击指南:Java基础面试题2

面向对象和集合 1. 面向对象和面向过程的区别 面向过程:面向过程的编程方式是分析解决问题的步骤,然后用函数把这些步骤一步一步地实现,并在使用的时候逐个调用。这种方式性能较高,因此在单片机和嵌入式开发中经常采用面向过程开发。 面向对象:面向对象的编程方式是把问…...

MySQL快速安装(mysql8.0.30区别之前yum安装)

目录 一.初始化环境并解压 二.创建程序用户管理 三.修改mysql目录和配置文件的权限 四.修改配置文件 五.设置环境变量,申明/宣告mysql命令便于系统识别 六.初始化数据库 七.设置系统识别,进行操作 八.初始化数据库密码 九.用户并设置密码 十.赋…...

俄罗斯防空系统

俄罗斯的S系列防空系统是一系列先进的地对空导弹系统,旨在防御各类空中威胁,包括飞机、无人机、巡航导弹和弹道导弹。以下是几种主要的S系列防空系统: 1. **S-300系统**: - **S-300P**:最早期的版本,用…...

文件上传漏洞---Pyload

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 本文重点从靶场案例分析文件上传漏洞常见的Pylod,本文演示靶场upload-labs 一.文件类型---Pyload 不同的文件对应不同的文件类型,后端代码通过限制特定的文件类型…...

应用案例 | 如何监测高价值货物在物流运输过程中受到的振动和冲击?全面保障货物安全

一、货物运输 不同种类的货物对运输的要求不同,钢铁、煤炭、矿石等大宗物资通常对运输要求较低,而电子产品、IT 产品、家电等高价值敏感类货物则更强调运输的安全性和时效性,往往希望能尽可能安全和快速送达这类货物,使之尽快进入…...

VMware17安装Ubuntu20版本-保姆级别

首先需要安装好VMware和Ubuntu20的镜像,在网上搜索Ubuntu镜像下载即可,最后选择国内镜像站下载,这样更快点,然后打开VMware。 1.创建虚拟机: 2.选择自定义: 3.默认,继续下一步: 4.选…...

vscode里如何用git

打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...

测试markdown--肇兴

day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...