SpringBoot2+Vue2实战(十八)修改密码

一、修改密码:

Header.vue

<el-dropdown-item style="font-size: 14px; padding: 5px 0"><router-link to="/password" style="text-decoration: none">修改密码</router-link></el-dropdown-item>

router/index.js

//拼装动态路由const manageRoute = {path: '/',name: 'Manage',component: () => import('../views/Manage.vue'),redirect: "/home",children: [{path: '/person',name: '个人信息',component: () => import('../views/Person.vue'),},{path: '/password',name: '修改密码',component: () => import('../views/Password.vue'),},]}

Password.vue

<template><el-card style="width: 500px"><el-form label-width="120px" size="small" :model="form" :rules="rules" ref="pass"><el-form-item label="原密码" prop="password"><el-input v-model="form.password" autocomplate="off" show-password></el-input></el-form-item><el-form-item label="新密码" prop="newPassword"><el-input v-model="form.newPassword" autocomplate="off" show-password></el-input></el-form-item><el-form-item label="新密码" prop="confirmPassword"><el-input v-model="form.confirmPassword" autocomplate="off" show-password></el-input></el-form-item><el-form-item><el-button type="primary" @click="save">确认</el-button></el-form-item></el-form></el-card>
</template><script>
export default {name: "Password",data(){return{form:{},//username,password,newPassword,confirmNewPassword这四个属性user:localStorage.getItem("user")?JSON.parse(localStorage.getItem("user")):{},rules:{password:[{required:true,message:'请输入原密码',trigger:'blur'},{min:3,message: '长度不少于3位',trigger: 'blur'}],newPassword:[{required:true,message:'请输入新密码',trigger:'blur'},{min:3,message: '长度不少于3位',trigger: 'blur'}],confirmPassword:[{required:true,message:'请输入密码',trigger:'blur'},{min:3,message: '长度不少于3位',trigger: 'blur'}],}}},created() {this.form.username = this.user.username},methods:{save(){this.$refs.pass.validate((valid) =>{//如果合法if (valid){if (this.form.newPassword !== this.form.confirmPassword){this.$message.error("2次新输入密码不相同")return false}this.request.post("/user/password",this.form).then(res =>{if (res.code ==='200'){this.$message.success("修改成功")this.$store.commit("logout")}else {this.$message.error(res.msg)}})}})},}
}
</script><style></style>

UserController

@PostMapping("/password")//   /user/passwordpublic Result password(@RequestBody UserPasswordDto userPasswordDto){userService.updatePassword(userPasswordDto);return Result.success();}

UserService

void updatePassword(UserPasswordDto userPasswordDto);

UserServiceImpl

@Overridepublic void updatePassword(UserPasswordDto userPasswordDto) {int update = userMapper.updatePassword(userPasswordDto);if (update < 1) {throw new ServiceException(Constants.CODE_600, "密码错误");}}

UserMapper

@Update("update sys_user set password = #{newPassword} where username = #{username} and password = #{password}")int updatePassword(UserPasswordDto userPasswordDto);

 

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

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

相关文章

公专混合通信,高效协同调度山区突发事故

我国地形环境复杂、山区分布较多&#xff0c;存在难以预估的地质灾害隐患。近年来&#xff0c;随着台风、强降雨等异常天气频繁出现&#xff0c;引发地震、滑坡、泥石流、坍塌等多种地质灾害&#xff0c;城市应急救援工作十分严峻。事故发生时&#xff0c;应急指挥通信保障对灾…

【网络】socket——预备知识 | 套接字 | UDP网络通信

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《网络》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 在前面本喵对网络的整体轮廓做了一个大概的介绍&#xff0c;比如分层&#xff0c;协议等等内容&#x…

Unity 之 超级详细的隐私问题解决方案

Unity 之 助力游戏增长 -- 解决隐私问题 一&#xff0c;平台测试隐私问题二&#xff0c;解决方式一2.1 勾选自定义Mainifest2.2 修改自定义Mainifest2.3 隐私协议弹窗逻辑 三&#xff0c;解决方式二3.1 导出安卓工程3.2 创建上层Activity3.3 配置AndroidManifest 四&#xff0…

第一百零六天学习记录:数据结构与算法基础:单链表(王卓教学视频)

线性表的链式表示和实现 结点在存储器中的位置是任意的&#xff0c;即逻辑上相邻的数据元素在物理上不一定相邻 线性表的链式表示又称为非顺序映像或链式映像。 用一组物理位置任意的存储单元来存放线性表的数据元素。 这组存储单元既可以是连续的&#xff0c;也可以是不连续的…

论文笔记--Goat: Fine-tuned LLaMA Outperforms GPT-4 on Arithmetic Tasks

论文笔记--Goat: Fine-tuned LLaMA Outperforms GPT-4 on Arithmetic Tasks 1. 文章简介2. 文章概括3 文章重点技术3.1 LLM的选择3.2 算数任务的可学习性(learnability)3.3 大模型的加减乘除 4. 数值实验结果5. 文章亮点6. 原文传送门7. References 1. 文章简介 标题&#xff…

java中使用HttpRequest发送请求调用自己的接口

(539条消息) java中使用HttpRequest发送请求_java httprequest_thankful_chn的博客-CSDN博客 <dependency><groupId>com.github.kevinsawicki</groupId><artifactId>http-request</artifactId><version>5.6</version></dependenc…

网络的构成要素【图解TCP/IP(笔记七)】

文章目录 网络的构成要素通信媒介与数据链路网卡中继器网桥/2层交换机路由器/3层交换机4&#xff5e;7层交换机网关各种设备及其对应网络分层概览 网络的构成要素 通信媒介与数据链路 计算机之间通过电缆相互连接。电缆可以分为很多种&#xff0c;包括双绞线电缆、光纤电缆、同…

Java基础之算术运算符

加油&#xff0c;新时代打工人&#xff01; 在工作场景中&#xff0c;由于浮点类型丢失精度问题&#xff0c;计算价格是用Bigdecimal进行计算。 package demo;import java.math.BigDecimal; import java.util.Scanner;/*** author wenhao* date 2023/07/15 15:16* description…

Java InetAddress类

【InetAddress类】 【相关方法】 【使用方法实例】 【代码结果】

创新涌动于先,PingCAP 用户峰会 2023 成功举办

2023 年 7 月 13 日&#xff0c;企业级开源分布式数据库厂商 PingCAP 在京成功举办 PingCAP 用户峰会 2023。本届峰会以“创新涌动于先”为主题&#xff0c;PingCAP 全面解析了 AI 时代 TiDB 的演进方向&#xff0c;宣布 TiDB Serverless 正式商用。会上&#xff0c;PingCAP 携…

SNK施努卡- 非标视觉检测系统 非标自动化视觉检测

非标视觉检测设备&#xff0c;主要是根据客户需求定制专门为提高生产、效率的检测全自动检测设备&#xff0c;该设备是为客户单独设计&#xff0c;通用型不高。主要针对产量大的产品进行非标定制。 随着工业4.0智能设备快速发展。目前国内机器视觉行业在五金、塑胶制药、印刷、…

​python接口自动化(二十八)--html测试 报告——下(详解) ​

简介 五一小长假已经结束了&#xff0c;想必大家都吃饱喝足玩好了&#xff0c;那就继续学习吧。一天不学习&#xff0c;自己知道&#xff1b;两天不学习&#xff0c;对手知道&#xff1b;三天不学习&#xff0c;大家知道&#xff1b;一周不学习&#xff0c;智商输给猪。好了开个…

解决 git 不能自动添加 index.tsx 的问题

最近在写 React Native 项目&#xff0c;发现 index.tsx 总是无法添加到 git 中&#xff0c;需要根据路径强制 add&#xff0c;经过一番搜索&#xff0c;终于解决了这个问题&#xff0c;原来是因为 git 的全局 config 文件中自动添加了 index.tsx 文件。 环境&#xff1a; Mac…

静态路由介绍

目录 静态路由配置方法&#xff08;基本配置&#xff09;&#xff1a; 静态路由的拓展配置 负载均衡 1.环回接口——测试 2.手工汇总——子网汇总 3.路由黑洞&#xff08;黑洞路由) 4.缺省路由 5.空接口——NULL 0 6.浮动静态路由 静态路由配置方法&#xff08;基本配置&#x…

DHorse v1.2.1 发布,基于k8s的发布平台

综述 DHorse是一个简单易用、以应用为中心的云原生DevOps系统&#xff0c;具有持续集成、持续部署、微服务治理等功能&#xff0c;无需安装依赖Docker、Maven、Node等环境即可发布Java、Vue、React应用&#xff0c;主要特点&#xff1a;部署简单、操作简洁、功能快速。 优化内…

「深度学习之优化算法」(十三)蝙蝠算法

1. 蝙蝠算法简介 (以下描述,均不是学术用语,仅供大家快乐的阅读)   蝙蝠算法(Bat Algorithm)是受蝙蝠回声定位的特性启发而提出的新兴算法,提出时间是2010年,虽然距今(2020)有近10年,但与其它的经典算法相比仍算一个新算法。算法也已有一定规模的研究和应用,但仍…

Android 14适配

Google I/O 2023 发布的 Android beta2 &#xff0c;Android 14 将在2023年第三季度发布。Google Play 已经开始强制要求targetSdkVersion 33适配&#xff0c;所以 targetSdkVersion 34适配也是非常有必要的。 前台服务类型&#xff08;Foreground service types are required&…

PyTorch: 池化-线性-激活函数层

文章和代码已经归档至【Github仓库&#xff1a;https://github.com/timerring/dive-into-AI 】或者公众号【AIShareLab】回复 pytorch教程 也可获取。 文章目录 nn网络层-池化-线性-激活函数层池化层最大池化&#xff1a;nn.MaxPool2d()nn.AvgPool2d()nn.MaxUnpool2d()线性层激…

HTML案例:全屏切换滚动效果

一个父级div包裹4个子级div&#xff0c;4个子盒子的宽高占满当前屏幕&#xff0c;滚动导航条自动切换到下一页/上一页 1、HTML代码 <style>* {margin: 0;padding: 0;}.container {height: 100vh;overflow-y: scroll;}.container div {width: 100%;height: 100vh;}</s…

Java设计模式之结构型-桥接模式(UML类图+案例分析)

目录 一、基础概念 二、UML类图 三、角色设计 四、案例分析 1、支付方式 2、支付渠道 五、总结 一、基础概念 桥接模式&#xff08;Bridge Pattern&#xff09;是一种结构型设计模式&#xff0c;其主要目的是“将抽象部分与实现部分分离&#xff0c;使它们都可以独立地…