vue登录页面

news2024/11/29 0:29:33

这里写目录标题

  • 登录业务流程
    • 表单如何进行校验
      • 自定义校验规则
      • 整个表单的统一内容校验
    • 封装登录接口
      • axios的二次封装
      • 整个项目api的统一管理
    • 调用接口

登录业务流程

在这里插入图片描述

表单如何进行校验

ElementPlus表单组件内置了表单校验功能,只需要按照组件要求配置必要参数即可
在这里插入图片描述
1.按照接口字段准备表单对象并绑定。
2.按用户需求准备规则对象并绑定。
3.指定表单域的校验字段名。
4.把表单对象进行双向绑定

自定义校验规则

在这里插入图片描述

整个表单的统一内容校验

思考:每个表单域都有自己的校验触发事件,如果用户一上来就点击登录怎么办呢?
答:在点击登录时需要对所有需要校验的表单进行统一校验.
在这里插入图片描述
1.获取form组件实例
用在form中定义ref=formRef“”
其中const formRef = ref(null)
2.调用实例方法
如上图。

封装登录接口

axios的二次封装

1.创建axios实例,有基础URL,还有请求的超时时间等。
axios.creat()用于创建一个新的axios实例。这个函数接受一个配置对象作为参数,允许你自定义该实例的默认配置。
baseURL这是配置对象中的一个属性.
timeout这也是配置对象中的一个属性,用于定义请求的超时时间(以毫秒为单位)。
在这里插入图片描述
2.请求拦截器。
使用instance.interceptors.request.use()添加一个请求拦截器。在这个拦截器中,你可以在请求发送之前对请求配置进行修改。如果请求拦截器中出现错误,将返回一个被拒绝的Promise,错误信息是new Error(error)。在这里插入图片描述

3.响应拦截器。
使用instance.interceptors.response.use()添加一个响应拦截器。在这个拦截器中,你可以对响应数据进行处理。在这里插入图片描述
拦截器首先从响应数据中解构出code、message和data字段。
如果code等于200(表示请求成功),则直接返回data。
如果code不等于200,则使用ElMessage.error()显示错误信息(如果响应中有message则显示message,否则显示"网络错误")。然后返回一个被拒绝的Promise,错误信息也是message或"网络错误"。
4.封装请求函数。
定义一个request函数,该函数接受一个options对象作为参数,该对象包含了请求的配置信息。
在这里插入图片描述
在request函数中,如果options没有指定method,则默认使用"GET"方法。
使用之前创建的axios实例(instance)来发起请求,并返回这个请求的Promise。
5.导出
使用export default request;导出request函数,使得其他模块可以引入并使用这个封装好的请求函数。在这里插入图片描述

整个项目api的统一管理

目的是封装一个用于处理请求的API调用,使得在项目的其他部分调用API时更加简洁和统一。
1.导入request模块
在这里插入图片描述
这行代码从项目的utils目录下的request模块中导入了request函数。这个函数是一个基于某个HTTP客户端(如axios、fetch等)的封装,用于发送HTTP请求
2.定义相应的函数。定义了一个名为loginApi的导出常量,它本身是一个函数,接收一个对象作为参数,这个对象包含username和password两个属性。这两个属性分别代表用户的用户名和密码。
在这里插入图片描述
3.使用request函数发送请求
在loginApi函数的函数体内,它调用了request函数,并传入了一个对象作为参数。这个对象指定了请求的URL(“/login”)、方法(“post”)和发送的数据(一个包含username和password的对象)。这意味着loginApi函数会向服务器的/login端点发送一个POST请求,请求体中包含用户的用户名和密码。
在这里插入图片描述
4.返回值
loginApi函数返回了request函数的调用结果。这意味着request函数的返回值(通常是一个Promise对象,代表了异步HTTP请求的结果)将被loginApi函数返回给它的调用者。调用者可以进一步处理这个Promise对象,比如使用.then()和.catch()方法来处理请求成功或失败的情况。

调用接口

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/4c7e814f85574dd5986bacec27bc866e.png在这里插入图片描述

跳转页面用router.replace(),这个是不可以返回上一页。router.push()可以返回上一页。
useRoute获取参数,useRouter调用方法。import { useRouter } from “vue-router”;const router = useRouter();

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【880线代】线性代数一刷错题整理

第一章 行列式 2024.8.20日 1. 2. 3. 第二章 矩阵 2024.8.23日 1. 2024.8.26日 1. 2. 3. 4. 5. 2024.8.28日 1. 2. 3. 4. 第四章 线性方程组 2024.9.13日 1. 2. 3. 4. 5. 2024.9.14日 1. 第五章 相似矩阵 2024.9.14日 1. 2024.9.15日 1. 2. 3. 4. 5. 6. 7. 2024.9.…

蚂蚁华东师范大学:从零开始学习定义和解决一般优化问题LLMOPT

🎯 推荐指数:🌟🌟🌟 📖 title:LLMOPT: Learning to Define and Solve General Optimization Problems from Scratch 🔥 code:https://github.com/caigaojiang/LLMOPT &am…

YOLOv11改进-卷积-空间和通道重构卷积SCConv

本篇文章将介绍一个新的改进模块——SCConv(小波空间和通道重构卷积),并阐述如何将其应用于YOLOv11中,显著提升模型性能。为了减少YOLOv11模型的空间和通道维度上的冗余,我们引入空间和通道重构卷积。首先,…

如何开启华为交换机 http

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目…

pc轨迹回放制作

亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢! 课程主题:pc轨迹回放制作 主要内容:制作车辆轨迹操作页,包括查询条件、动态轨迹回放、车辆轨迹详情表单等 应用场景:车辆…

14.归一化——关键的数据预处理方法

引言 在人工智能(AI)和机器学习中,归一化(Normalization)是一个重要的预处理步骤。它的主要目的是将数据转换到某个特定的范围。归一化可以帮助模型更高效地学习和提高预测的准确性。归一化在数据预处理方法中占据核心…

Jupyter Notebook中 Save and Export Notebook As不显示选项

问题 Jupyter Notebook中 Save and Export Notebook As 不显示选项(保存和导出没有选项) 解决 在jupyter notebook所在环境卸载jupyter_contrib_nbextensions,这是我之前安装的一个扩展工具集,从而导致上面的问题。 pip unin…

自动化数据处理:使用Selenium与Excel打造的数据爬取管道

随着互联网信息爆炸式增长,获取有效数据成为决策者的重要任务。人工爬取数据不仅耗时且效率低下,因此自动化数据处理成为一种高效解决方案。本文将介绍如何使用Selenium与Excel实现数据爬取与处理,结合代理IP技术构建一个可稳定运行的数据爬取…

Nodejs使用http模块创建Web服务器接收解析RFID读卡器刷卡数据

本示例使用设备: https://item.taobao.com/item.htm?spma21dvs.23580594.0.0.1d292c1buHvw58&ftt&id22173428704 Javascript源码 //引用http模块创建web服务器,监听指定的端口获取以GET、POST、JSON等方式上传的数据,并回应驱动读卡…

图像梯度-Sobel算子、scharrx算子和lapkacian算子

文章目录 一、认识什么是图像梯度和Sobel算子二、Sobel算子的具体使用三、scharrx算子与lapkacian(拉普拉斯)算子 一、认识什么是图像梯度和Sobel算子 图像的梯度是指图像亮度变化的空间导数,它描述了图像在不同方向上的强度变化。在图像处理和计算机视觉中&#x…

CUDA error: out of memory问题

加载模型时,模型也不大,GPU内存也完全够,但就是出现这个CUDA内存溢出问题。 究其原因,在于model.load_state_dict(torch.load(‘pretrain-model.pth’, map_locationdevice))这个代码省略了map_locationdevice 通过torch.load加载…

YOLOv11来了 | 自定义目标检测

概述 YOLO11 在 2024 年 9 月 27 日的 YOLO Vision 2024 活动中宣布:https://www.youtube.com/watch?vrfI5vOo3-_A。 YOLO11 是 Ultralytics YOLO 系列的最新版本,结合了尖端的准确性、速度和效率,用于目标检测、分割、分类、定向边界框和…

问题清除指南|alimama-creative/FLUX-Controlnet-Inpainting 运行注意事项

前言:近日验证想法需要用到inpainting技术,选择了https://github.com/alimama-creative/FLUX-Controlnet-Inpainting进行测试,在实现过程中遇到几个小问题,在此分享一下解决经验。 1. 下载预训练模型到本地 由于在huggingface官网…

React Agent 自定义实现

目录 背景 langchin 中的 agent langchin 中 agent 的问题 langchain 的 agent 案例 自定义 React Agent 大模型 工具定义 问题设定 问题改写,挖掘潜在意图 React Prompt 下一步规划 问题总结 代码 背景 之前使用过 langchian 中的 agent 去实现过一些…

WordPress监控用户行为回放插件

在数字营销的世界里,了解用户行为是提升用户体验和转化率的关键。nicen-replay 插件,它能够让您轻松回放用户在网站上的每一步操作,从点击到滚动,再到表单填写,每一个细节都清晰可见 nicen-replay,是一款可…

C#从零开始学习(类型和引用)(4)

类型 本章所有的代码都放在 https://github.com/hikinazimi/head-first-Csharp 整型 byte: 0~255sbyte: -128~127short: -32768~32767int: -2147483648~2147483647long: -9223372036854775808~9223372036854775807 以u开头的无符号整数 ushort,uint,ulong 浮点 float: (6~9…

RHCE【远程连接服务器】

目录 一、远程连接服务器简介 二、加密技术简介 SSH工作过程: (1)版本协商阶段 (2)密钥和算法协商阶段 (3)认证阶段 (4)会话请求阶段 (5&#xff0…

KUKA外部自动配置(上)

通过外部PLC对机器人自动运行进程进行控制,其控制原理是:外部PLC通过外部自动运行接口向机器人控制系统发出机器人进程的相关信号(如:运行许可、故障确认、程序启动等),机器人控制系统向外部PLC系统发送有关…

STM32 I2C通信协议详解

文章目录 STM32 I2C通信协议详解一、I2C协议概述二、物理层特性总线结构:引脚定义:电平特性:地址机制: 三、协议层机制起始信号:停止信号:数据有效性:应答信号(ACK)&…

机器学习|Pytorch实现天气预测

机器学习|Pytorch实现天气预测 🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 电脑系统:Windows11 显卡型号:NVIDIA Quadro P620 语言环境:python 3.9.7 编译器&#x…