fuliqi
2024-03-04 2af1fbd254995a0240afbd9bef3022e5bbbc603f
src/views/system/user/profile/resetPwd.vue
@@ -28,6 +28,17 @@
        callback();
      }
    };
    const validatePassword = (rule, value, callback) => {
      var regex = /(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[\W_])/;
          if (value.length < 8 || value.length > 10) {
            callback(new Error('请输入8-10位大写字母+小写字母+数字+特殊字符'));
          }
          else if (!regex.test(value)) {
            callback(new Error("请输入8-10位大写字母+小写字母+数字+特殊字符"));
          } else {
            callback();
          }
        };
    return {
      user: {
        oldPassword: undefined,
@@ -41,7 +52,7 @@
        ],
        newPassword: [
          { required: true, message: "新密码不能为空", trigger: "blur" },
          { min: 6, max: 20, message: "长度在 6 到 20 个字符", trigger: "blur" }
          { required: true, validator: validatePassword, trigger: "blur" }
        ],
        confirmPassword: [
          { required: true, message: "确认密码不能为空", trigger: "blur" },
@@ -54,8 +65,10 @@
    submit() {
      this.$refs["form"].validate(valid => {
        if (valid) {
          updateUserPwd(this.user.oldPassword, this.user.newPassword).then(response => {
            this.$modal.msgSuccess("修改成功");
        // 修改updateUserPwd方法的入参
        // firstLogin值为0时不校验旧密码,传入1校验,不影响功能
        updateUserPwd(this.user.oldPassword, this.user.newPassword, 1).then(response => {
        this.$modal.msgSuccess("修改成功");
          });
        }
      });