zxl
2025-06-12 9f16b5c553b479ea12fe368a7ecc748872ea8b98
web_src/src/components/dialog/changePassword.vue
old mode 100644 new mode 100755
@@ -35,6 +35,7 @@
<script>
import crypto from 'crypto'
import userService from "../service/UserService";
export default {
  name: "changePassword",
  props: {},
@@ -75,7 +76,10 @@
      isLoging: false,
      rules: {
        oldPassword: [{ required: true, validator: validatePass0, trigger: "blur" }],
        newPassword: [{ required: true, validator: validatePass1, trigger: "blur" }],
        newPassword: [{ required: true, validator: validatePass1, trigger: "blur" }, {
            pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,.\/]).{8,20}$/,
            message: "密码长度在8-20位之间,由字母+数字+特殊字符组成",
          },],
        confirmPassword: [{ required: true, validator: validatePass2, trigger: "blur" }],
      },
    };
@@ -89,11 +93,11 @@
        method: 'post',
        url:"/api/user/changePassword",
        params: {
          oldpassword: crypto.createHash('md5').update(this.oldPassword, "utf8").digest('hex'),
          oldPassword: crypto.createHash('md5').update(this.oldPassword, "utf8").digest('hex'),
          password: this.newPassword
        }
      }).then((res)=> {
        if (res.data === "success"){
        if (res.data.code === 0) {
          this.$message({
            showClose: true,
            message: '修改成功,请重新登录',
@@ -102,10 +106,16 @@
          this.showDialog = false;
          setTimeout(()=>{
            // 删除cookie,回到登录页面
            this.$cookies.remove("session");
            userService.clearUserInfo();
            this.$router.push('/login');
            this.sseSource.close();
          },800)
        }else {
          this.$message({
            showClose: true,
            message: '修改密码失败,是否已登录(接口鉴权关闭无法修改密码)',
            type: 'error'
          });
        }
      }).catch((error)=> {
        console.error(error)