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/password
    public Result password(@RequestBody UserPasswordDto userPasswordDto){
        userService.updatePassword(userPasswordDto);
        return Result.success();
    }

UserService

void updatePassword(UserPasswordDto userPasswordDto);

UserServiceImpl

@Override
    public 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);

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Spring Boot是一种用于构建Java应用程序的开发框架,而Vue.js是一个用于构建用户界面的JavaScript框架。Spring Boot和Vue.js的结合使用可以实现前后端分离的项目开发,其中包括实战pdf的生成和展示功能。 首先,我们可以使用Spring Boot来搭建后端接口服务。通过使用Spring Boot的Web模块,我们可以很方便地创建RESTful API,用于接收前端请求并处理数据。在这个项目中,我们可以设计一个用于生成pdf的API,在接收到相关请求时,利用Java的pdf生成库(如iText)来生成pdf文档,并将生成的pdf保存到服务器或返回给前端。 接下来,我们需要利用Vue.js来创建前端界面,并与后端的API进行交互。我们可以使用Vue.js的组件化和路由功能,创建多个页面来展示pdf文档。对于pdf的展示,可以使用Vue.js的插件或引入第三方pdf阅读器库(如pdf.js),来实现在前端浏览器中展示pdf文档的功能。 在前端界面中,我们可以设计一个上传pdf的功能,用户可以选择本地的pdf文件进行上传,并通过调用后端的API来将pdf保存到服务器,然后在页面中展示出来。 除了生成和展示pdf文档的功能之外,我们还可以通过Spring Boot和Vue.js的结合来实现其他的功能,比如用户登录、权限控制、pdf搜索和标注等等。通过使用Spring Boot和Vue.js这样的前后端分离的开发方式,我们可以更好地实现项目的模块化、可扩展性和易维护性。 总结来说,通过结合使用Spring Boot和Vue.js,我们可以实现一个具有pdf生成和展示功能的项目。使用Spring Boot来搭建后端接口服务,并利用Java的pdf生成库来生成pdf文档;使用Vue.js来创建前端界面,并通过调用后端的API来展示和处理pdf文档。这样的开发方式可以更好地满足项目的需求,同时提高开发效率和用户体验。 ### 回答2: Spring Boot 是一个 Java 开发框架,用于简化和加速 Spring 应用程序的开发。Vue 是一个流行的 JavaScript 框架,用于构建用户界面。Spring Boot 和 Vue 可以一起使用,实现全栈开发。 PDF 是一种常见的文件格式,用于在不同平台上展示、共享和打印文档。在一个实践项目中使用 Spring Boot 3 和 Vue 3 来处理 PDF 文件是可行的。 首先,可以使用 Spring Boot 来创建一个 RESTful API,用于处理 PDF 文件的上传、下载和其他操作。Spring Boot 提供了丰富的库和功能,可以轻松处理文件上传和下载的逻辑。 然后,可以使用 Vue 3 来构建一个用户界面,用于展示 PDF 文件的列表和操作。Vue 3 提供了许多强大的工具和组件,可以方便地处理用户界面的交互和数据传输。 在实际项目中,可以使用 Spring Boot 来处理用户上传的 PDF 文件,并将其保存到服务器上的指定位置。同时,可以使用 Vue 3 构建一个界面,展示已上传的 PDF 文件列表,并提供下载和删除等功能。 为了实现这个功能,可以使用 Spring Boot 的文件上传功能来处理用户上传的 PDF 文件,并将其保存到指定的目录。然后,可以使用 Vue 3 的组件和路由来构建一个用户界面,用于展示和操作已上传的 PDF 文件。 总结来说,Spring Boot 3 和 Vue 3 可以一起使用,实现一个实战项目,用于处理 PDF 文件的上传、下载和其他操作。使用 Spring Boot 来处理文件上传和下载的逻辑,使用 Vue 3 来构建用户界面,展示和操作已上传的 PDF 文件。这样可以实现一个功能完善的 PDF 文件处理项目。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值