【若依】框架搭建,前端向后端如何发送请求,验证码的实现

若依框架

若依框架(Ruoyi)是一款基于Spring Boot和Spring Cloud的开源快速开发平台。它提供了一系列的基础功能和通用组件,能够帮助开发者快速构建企业级应用。若依框架采用了模块化的设计理念,用户可以选择需要的功能模块进行集成,也可以根据自己的业务需求进行扩展。若依框架还提供了许多便捷的工具和插件,例如代码生成器、权限管理、日志管理等,能够提高开发效率和项目管理能力。总之,若依框架是一个功能丰富、易于扩展和高效率的开发平台,适用于各种规模的企业级应用开发。

1. 若依框架搭建

1.1. 引入若依项目

若依官网:http://www.ruoyi.vip/
在这里插入图片描述
然后会到git中,可以复制链接,或者下载zip压缩包,这里直接使用链接的方式。在idea中通过版本控制新建项目引入若依项目。
在这里插入图片描述
引入项目:
在这里插入图片描述

在idea中配置好maven,下载好pom文件中的依赖后,现在项目还是不能启动的。项目需要数据库中的一些表,并且需要启动redis来进行数据缓存以及存储验证码等。

1.2. 数据库

新建数据库ry-vue,引入项目中sql文件夹中的两个sql文件
在这里插入图片描述

其中quartz.sql文件主要为定时任务所需要的表,
ry_20230223.sql文件是若依框架系统管理需要的表

在这里插入图片描述

1.3. 启动redis

在若依框架中,Redis主要用于缓存数据。Redis是一种高性能的内存数据库,它将数据存储在内存中,可实现快速读取和写入。可以帮助提高系统的性能和响应速度。

可以使用Windows版的redis,也可以使用Linux版的reids,这里做学习正好本地也是有Windows版的
在这里插入图片描述
启动之后在项目中配置主机地址,以及密码
在这里插入图片描述

1.4. 启动后端项目

在这里插入图片描述

1.5. 启动前端项目

前端项目在ruoyi-ui文件中
首先进入到ruoyi-ui文件夹,然后npm install下载依赖,然后npm run dev 启动项目
在这里插入图片描述

这里能启动前端项目一定是要有node.js环境,这些前提条件应该都配置好了。
注意:一定要进入ruoyi-ui文件下,再npm run dev

在前端页面,根据默认的用户名和密码登录之后看到下面页面,算是框架运行成功。
在这里插入图片描述

2. 前端向后端发送请求

前端向后端发送请求,例如在登录页验证码的图片是向后端请求后返回的结果。分析以下这个流程:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
而在前端发送请求的时候为http://localhost/dev-api/captchaImagedev-api就是这个baseURL
在这里插入图片描述
因为这里使用的是开发环境在文件.env.development中可以看到:
在这里插入图片描述
而且我们知道后端的请求端口号为8080,但是请求路径中http://localhost/dev-api/captchaImage,并没有请求8080端口?
vue.config.js文件中可以看到:
在这里插入图片描述

所以我们可以看到http://localhost/dev-api/captchaImage请求中他实际请求的路径应该为:http://localhost:8080/captchaImage

3. 验证码的实现

验证码的基本思路:
后端生成一个表达式 1+1=2 然后转换为1+1=?@2
然后通过字符串@截取两部分
1+1=? 通过base64转成图片,传到前端展示,2存入redis,2的key为后端生成的uuid,每次对比验证码时先根据uuid来查询key,这样就解决了并发问题(多个人同时请求,可以根据uuid来区分)

在这里插入图片描述
在返回结果中通过Base64转换为图片返回给前端

在这里插入图片描述
在前端中:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/8355.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32中static和extern的用法

static: A. static变量 称为静态变量。根据变量的类型可以分为静态局部变量和静态全程变量。 1. 静态局部变量 它与局部变量的区别在于: 在函数退出时, 这个变量始终存在, 但不能被其它 函数使用, 当再次进入该函数时, 将保存上次的结果。其它与局部变量一样。…

观察级水下机器人第一次使用总结2023年6月

最近有个科研项目需要用到ROV,其合同三年之前就签订了,由于疫情的影响,一直没有执行。刚好我们的ROV也验收了,正好派上用场。因为属于ROV使用的菜鸟级,我们邀请厂家无锡智海张工和陈工,中海辉固ROV操作经验…

合理组织安卓活动

本文所有代码均存放于https://github.com/MADMAX110/Starbuzz 开始构建一个应用时,你会考虑这个应用要包含什么,会有各种各样的很多想法,如何组织这些想法来建立一个直观、清晰的应用。 一、活动归类 要组织各种各样的活动,有一种…

详解Ribbon

目录 1.概述 2.使用 2.1.引入 2.2.启用 2.3.切换负载均衡算法 3.负载均衡源码分析 3.1.接口 3.2.抽象类 3.3.选择服务器 3.4.原子性 4.自定义负载均衡算法 1.概述 Ribbon是Netflix开源的一个客户端负载均衡库,也是Spring Cloud Netflix项目的核心组件之…

vue3学习之路

Vue3简介 面临的问题:随着功能的增长,复杂组件的代码变得难以维护,Vue3 就随之而来,TypeScript 使用的越来越多,Vue3就是 TS 写的所以能够更好的支持 TypeScript 在这里介绍就这么简单 vue2 的绝大多数的特性 在 Vu…

Xray-基础详细使用

一:Xray介绍 Xray 是一款功能强大的安全评估工具,由多名经验丰富的一线安全从业者呕心打造而成,可支持与AWVS,BP等众多安全工具联合使用。 二:Xray简易架构: 说明:了解 Xray 的整体架构可以更…

【elementplus】解决el-table开启show-overflow-tooltip后,tooltip的显示会被表格边框遮挡的问题

如图所示: 原因: 1. el-table没有设置高度;2.就是被遮住了 解决: 方法一:给el-table设置高度 方法二: .el-table {overflow: visible !important;}如果不想给el-table设置高度,就直接使用方法二解决即可

机器学习面试题- 特征工程

目录标题 1、为什么要对特征做归一化2、对特征归一化的方法2.1 线性函数归一化2.2 零均值归一化 3、对数据预处理时,如何处理类别型特征3.1 序号编码3.2 独热编码3.3 二进制编码 4、什么是组合特征?如何处理高维组合特征?5、怎样有效地找到组…

es学习知识汇总

es的索引库就相当于mysql的表 es的文档就相当于mysql的一条数据(内容) 用代码创建索引库到es 新增文档(相当于mysql的一条数据(内容) 模拟将数据库中的到内容新增到es中 查询文档 注:以下 hotel为索引库名…

【Python数据处理】-Pandas笔记

Python数据处理-Pandas笔记 📝 基本概念 Pandas是一个强大的Python数据处理库,它提供了高效的数据结构和数据分析工具,使数据处理变得简单而快速。本篇笔记将介绍Pandas中最常用的数据结构——Series和DataFrame,以及数据处理的…

使用SQL语句创建存储过程

前言: 本篇文章是记录学校学习SQL server中知识,可用于复习资料. 目录 前言:一、存储过程的创建1、创建简单存储过程2、创建带参数的存储过程3、创建带输出参数的存储过程 二 、使用T一SQL语句管理和维护存储过程2.1 使用sp_helptext查看存储过程student_sc的定义脚本2.2 使用…

大禹智库:下一代向量数据库————具备在线化,协作化,可视化,自动化和安全互信的向量数据库

目录 一、在线化 二、协作化 三、可视化 四、自动化 五、安全互信 结论: 行业分析报告:下一代向量数据库的特征 摘要: 向量数据库是一种用于存储和处理向量数据的数据库系统。随着人工智能和大数据技术的快速发展,向量数据…