【第28章】Vue实战篇之用户重置密码

文章目录

  • 前言
  • 一、调用接口
  • 二、重置密码
  • 三、界面展示
  • 总结


前言

这里我们来通过调用后端接口来完成密码重置功能并且修改成功清除缓存重新登录。


一、调用接口

export const userResetPasswordService = (data)=>{return request.patch('/user/updatePwd', data)
}

二、重置密码

<script setup>
import { ref } from 'vue'
import { userResetPasswordService } from '@/api/user.js'
import { ElMessage } from 'element-plus'
import { useTokenStore } from '@/stores/token.js'
import useUserInfoStore from '@/stores/userInfo.js'
import { useRouter } from 'vue-router'const pwdModel = ref({old_pwd: '',new_pwd: '',con_pwd: ''
})
//自定义确认密码的校验函数
const rePasswordValid = (rule, value, callback) => {if (value == null || value === '') {callback(new Error('请再次确认密码'))} else if (value !== pwdModel.value.new_pwd) {callback(new Error('两次输入密码不一致'))} else {callback()}
}
const rules = ref({old_pwd: [{ required: true, message: '请输入密码', trigger: 'blur' },{ min: 5, max: 16, message: '密码长度必须为5~16位', trigger: 'blur' }],new_pwd: [{ required: true, message: '请输入密码', trigger: 'blur' },{ min: 5, max: 16, message: '密码长度必须为5~16位', trigger: 'blur' }],con_pwd: [{ required: true, message: '请输入密码', trigger: 'blur' },{ validator: rePasswordValid, trigger: 'blur' }]
})
const formRef = ref(null)
const router = useRouter()
const submit = () => {//1.表单校验if (!formRef.value) returnformRef.value.validate(async (valid) => {if (valid) {//2.调用更新密码接口let result = await userResetPasswordService(pwdModel.value)let message = result.messageif (result.code == 0) {if (result.code == 0) {ElMessage.success(message ? message : '密码修改成功!')//3.密码修改成功,清空token和用户信息useTokenStore().removeToken()useUserInfoStore().removeUserInfo()//4.重新登录router.push("/login")//组合式}} else {ElMessage.error(message ? message : '重置失败!')}}})
}
</script>
<template><el-card class="page-container"><template #header><div class="header"><span>重置密码</span></div></template><el-row><el-col :span="12"><el-form ref="formRef" :model="pwdModel" :rules="rules" label-width="100px" size="large"><el-form-item label="旧密码" prop="old_pwd"><el-input type="password" v-model="pwdModel.old_pwd" show-password></el-input></el-form-item><el-form-item label="新密码" prop="new_pwd"><el-input type="password" v-model="pwdModel.new_pwd" show-password></el-input></el-form-item><el-form-item label="确认密码" prop="con_pwd"><el-input type="password" v-model="pwdModel.con_pwd" show-password></el-input></el-form-item><el-form-item><el-button type="primary" @click="submit">提交修改</el-button></el-form-item></el-form></el-col></el-row></el-card>
</template>

三、界面展示

在这里插入图片描述


总结

回到顶部

100多个小节的课程就学完了,我可真NB,后面有兴趣会更新更多内容,大家敬请期待吧!

在这里插入图片描述

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

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

相关文章

【数据结构与算法】详解循环队列:基于数组实现高效存储与访问

&#x1f493; 博客主页&#xff1a;倔强的石头的CSDN主页 &#x1f4dd;Gitee主页&#xff1a;倔强的石头的gitee主页 ⏩ 文章专栏&#xff1a;《数据结构与算法》 期待您的关注 ​ 目录 一、引言 &#x1f343;队列的概念 &#x1f343;循环队列的概念 &#x1f343;为什…

DIY灯光特效:霓虹灯动画制作教程

下面我们根据这张霓虹灯案例,教大家如何用智能动物霓虹灯闪烁的效果,大家可以根据思路,实现自己想要的动效效果,一起动手来做吧。 即时设计-可实时协作的专业 UI 设计工具 设置背景 新建画板尺寸为:800PX^600PX,设置背景色#120527。 绘制主题 输入自己喜欢文案,轮廓化,具体…

网络基础-协议

一、ARP 通过IP得到Mac 首先会查看缓存的arp表中是否有相应的IP和Mac对应关系&#xff0c;如果有直接进行包封装。如果没有则进行广播当对应的地址就收到广播包后会根据arp中的源地址进行单播返回相应的IP和Mac对应关系。 arp -a 查看现有的arp缓存 二、RARP反向地址解析 通过…

好公司也需要在好的价格买入

在《战胜华尔街》的第七章&#xff0c;林奇先生还进一步支出在合适的价格买入的重要性。他指出“那些股价线上涨幅度超过了收益线的股票&#xff0c;一般要么是横盘整理&#xff0c;要么是股价回调到与其盈利水平比较相当的合理价位。”因此&#xff0c;“在大牛市中&#xff0…

酒店多商户版微信小程序源码

一站式预订新体验 一、引言&#xff1a;打破传统&#xff0c;开启智能预订新时代 在数字化浪潮的推动下&#xff0c;传统的酒店预订方式已经逐渐无法满足现代人的需求。为此&#xff0c;一款集众多酒店商户于一体的“酒店多商户版小程序”应运而生&#xff0c;以其便捷、智能…

江门电子行业实施MES系统前后对比

在江门电子行业实施MES系统之前和之后的对比可以涉及以下几个方面&#xff1a; 生产效率提升&#xff1a;实施MES系统后&#xff0c;江门电子行业可以实现生产过程的实时监控和优化&#xff0c;减少生产中的浪费和停机时间&#xff0c;提高生产效率。 质量控制改善&#xff1a;…

【机器学习】机器学习重要方法——深度学习:理论、算法与实践

文章目录 引言第一章 深度学习的基本概念1.1 什么是深度学习1.2 深度学习的历史发展1.3 深度学习的关键组成部分 第二章 深度学习的核心算法2.1 反向传播算法2.2 卷积神经网络&#xff08;CNN&#xff09;2.3 循环神经网络&#xff08;RNN&#xff09; 第三章 深度学习的应用实…

webworker 入门教程

参考&#xff08;阮一峰的网络日志&#xff09;&#xff1a;https://www.ruanyifeng.com/blog/2018/07/web-worker.html Web Worker 的作用&#xff1a; 就是为 JavaScript 创造多线程环境&#xff0c;允许主线程创建 Worker 子线程&#xff0c;将一些任务分配给后者运行。在主…

解释一下在React中,什么是“渲染Props”模式,以及它与使用Hooks之前的状态管理有何不同?

在React中&#xff0c;"渲染Props"模式是一种组件设计模式&#xff0c;它通过将一个函数作为prop传递给组件&#xff0c;允许父组件定义子组件的渲染逻辑。这种模式使得组件更加灵活和可复用&#xff0c;因为它们可以接受一个渲染函数来决定如何渲染自己。 渲染Prop…

简单分享Python语言(发现其实并不难)

一. Python基础 Python是一种解释型语言&#xff0c;这意味着开发者可以在代码被编写后立即执行它们&#xff0c;而无需编译。Python的基本语法简单明了&#xff0c;以下是一些基础知识点&#xff1a; 变量和数据类型&#xff1a;Python支持多种数据类型&#xff0c;包括整型&…

Python教程:深入理解Python中的__init__()方法

在Python中&#xff0c;__init__()方法是一个特殊的方法&#xff0c;它在创建类的实例时自动调用。这个方法通常用于初始化实例的状态。本文将详细介绍__init__()方法的工作原理、使用场景以及如何有效地使用它。 1. __init__()方法的基础 1.1 什么是__init__()方法&#xff1f…

视频监控解决方案:视频平台升级技术方案(下)

目录 1 项目概况 2 项目需求 2.1 视频感知资源扩充 2.2 视频支撑能力升级 2.3 视频应用能力升级 3 技术设计方案 3.1系统总体架构 3.2视频感知资源扩充设计 3.3 视频支撑能力升级设计 3.4 视频应用能力升级设计 3.4.1视频资源目录管理 3.4.2标签管理 3.4.3设备智能…

KEIL使用小工具

怎样把数组数据导出&#xff1a; KeiL 调试时保存watchwindow的参数变量到文件 KeiL 调试时保存watchwindow的参数变量到文件_keil持续记录变量值到文件-CSDN博客

MySQL----undo log回滚日志原理、流程以及与redo log比较

回滚日志 回滚日志&#xff0c;保存了事务发生之前的数据的一个版本&#xff0c;用于事务执行时的回滚操作&#xff0c;同时也是实现多版本并发控制&#xff08;MVCC&#xff09;下读操作的关键技术。 如何理解Undo Log 事务需要保证原子性&#xff0c;也就是事务中的操作要…

常用框架-Spring MVC

常用框架-Spring MVC 1、什么是Spring MVC?2、Spring MVC有哪些优点?3、Spring MVC的主要组件有哪些?4、DispatcherServlet是什么?5、Spring MVC框架的控制器是什么?6、Spring MVC的控制器是不是单例模式?7、控制器默认以单例模式创建会带来什么问题?怎么解决?8、描述下…

Nvidia Isaac Sim图编程OmniGraph 入门教程 2024(6)

Nvidia Isaac Sim 入门教程 2024 版权信息 Copyright 2023-2024 Herman YeAuromix. All rights reserved.This course and all of its associated content, including but not limited to text, images, videos, and any other materials, are protected by copyright law. …

知行合一与思行合一

“知行合一”和“思行合一”都是重要的哲学概念&#xff0c;强调了思维与实践的关系&#xff0c;但侧重点有所不同。以下是对这两个概念的详细解释、历史背景及具体实践示例。 知行合一 知行合一是由明代哲学家王阳明提出的一个重要思想&#xff0c;强调知识与行动的统一。 …

P7771 【模板】欧拉路径

网址如下&#xff1a; P7771 【模板】欧拉路径 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 忘掉了输出欧拉回路的方法&#xff0c;搞了我好久 关于欧拉回路的知识可以看我之前的博客&#xff1a; 一点关于欧拉回路的总结-CSDN博客 代码如下&#xff1a; #include<q…

学习笔记——动态路由——RIP(距离矢量协议)

一、距离矢量协议 1、距离矢量协议 矢量行为&#xff1a;协议收到一个路由之后&#xff0c;查看是否可以加入到本地的路由表中&#xff0c;如果可以加入&#xff0c;则可以传递&#xff0c;如果不可以加入&#xff0c;则无法传递。 距离矢量路由协议 RIP基于距离矢量算法(又…

记录外部EEPROM读写有问题排查过程

由于EEPROM的IIC驱动是用模拟IO写的 1.用示波器抓IIC的波形 2.将SDA和SCLK和GND引脚用线引出,探头连接 3.检查并确保探头衰减是X1而不是X10。 4.软件触发写EEPROM&#xff0c;示波器设置下降沿捕获 5.如果有波形&#xff0c;对波形进行Decode&#xff0c;看解码出来的数据是否…