{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-fvue\\src\\views\\ResetPwdView.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\src\\views\\ResetPwdView.vue","mtime":1667327529872},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport uc from \"@/api/uc.js\";\r\n\r\nexport default {\r\n  name: \"reset-pwd-view\",\r\n  data() {\r\n    var validateNew = (rule, value, callback) => {\r\n      if (value === \"\") {\r\n        callback(new Error(\"请输入新密码\"));\r\n      }\r\n      let config = this.pwdStrategy;\r\n      if(config.enable){\r\n        let pwdRule = config.pwdRule;\r\n        let pwdLength = config.pwdLength;\r\n        if(pwdRule){\r\n          if(value.length < pwdLength){\r\n            callback(new Error(\"新密码长度至少为\" + pwdLength));\r\n          }\r\n          if(pwdRule == 1){\r\n              callback();\r\n          }else if(pwdRule == 2){\r\n            var re = new RegExp('(?=.*[0-9])(?=.*[a-zA-Z])');\r\n            if(!re.test(value)){\r\n              callback(new Error(\"新密码必须包含数字、字母\"));\r\n            }else{\r\n              callback();\r\n            }\r\n          }else if(pwdRule == 3){\r\n            var re = new RegExp('(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9])');\r\n            if(!re.test(value)){\r\n              callback(new Error(\"新密码必须包含数字、字母、特殊字符\"));\r\n            }else{\r\n              callback();\r\n            }\r\n          }else if(pwdRule == 4){\r\n            var re = new RegExp('(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[^a-zA-Z0-9])');\r\n            if(!re.test(value)){\r\n              callback(new Error(\"新密码必须包含数字、大小写字母、特殊字符\"));\r\n            }else{\r\n              callback();\r\n            }\r\n          }else{\r\n            callback();\r\n          }\r\n        }\r\n      }else{\r\n        if(value.length < 6){\r\n          callback(new Error(\"新密码长度至少为6\"));\r\n        }else{\r\n          callback();\r\n        }\r\n      }\r\n    };\r\n    var validateold = (rule, value, callback) => {\r\n      if (value === \"\") {\r\n        callback(new Error(\"请输入旧密码\"));\r\n      } else {\r\n        callback();\r\n      }\r\n    };\r\n    var validateNewReapeat = (rule, value, callback) => {\r\n      if (value === \"\") {\r\n        callback(new Error(\"请再次输入新密码\"));\r\n      } else if (value !== this.pwdForm.new) {\r\n        callback(new Error(\"两次输入的密码不一致！\"));\r\n      } else {\r\n        callback();\r\n      }\r\n    };\r\n    return {\r\n      pwdForm: {\r\n        old: \"\",\r\n        new: \"\",\r\n        newRepeat: \"\"\r\n      },\r\n      pwdRules: {\r\n        old: [{ validator: validateold, trigger: \"blur\" }],\r\n        new: [{ validator: validateNew, trigger: \"blur\" }],\r\n        newRepeat: [{ validator: validateNewReapeat, trigger: \"blur\" }]\r\n      },\r\n      pwdStrategy:{},\r\n      account:\"\",\r\n      confirm: false\r\n    };\r\n  },\r\n  mounted(){\r\n    if(this.$route.params.account){\r\n      this.account = this.$route.params.account;\r\n    }\r\n    uc.getDefaultPwdStrategy().then(\r\n      data => {\r\n        if(data){\r\n          let form = data;\r\n          if(form.enable == 1){\r\n            form.enable = true;\r\n          }else{\r\n            form.enable = false;\r\n          }\r\n          this.pwdStrategy = form;\r\n        }\r\n      }\r\n    );\r\n  },\r\n  methods: {\r\n    submitForm() {\r\n      this.$refs[\"pwdForm\"].validate(valid => {\r\n        if (valid) {\r\n          if(this.account == \"\"){\r\n            this.$message.warning(\"请返回重新登录\");\r\n            return;\r\n          }\r\n          this.confirm = true;\r\n          this.$http\r\n            .post(\"${uc}/api/user/v1/user/modifiUserPsd\", {\r\n              account: this.account,\r\n              oldPwd: this.pwdForm.old,\r\n              newPwd: this.pwdForm.new\r\n            })\r\n            .then(resp => {\r\n              let data = resp.data;\r\n              if (data && data.state) {\r\n                this.$message.success(\"修改密码成功\");\r\n                this.confirm = false;\r\n                this.$router.push({\r\n                  path: this.$route.query.redirect\r\n                    ? this.$route.query.redirect\r\n                    : \"/\"\r\n                });\r\n              }else{\r\n                this.confirm = false;\r\n              }\r\n            });\r\n        }else{\r\n          this.$message.warning(\"表单校验失败，请检查表单\");\r\n        }\r\n      });\r\n    },\r\n    back() {\r\n      this.$store.dispatch(\"login/logoutAndCleanUp\").then(() => {\r\n        this.$router.push({\r\n          path: \"/login\"\r\n        });\r\n      });\r\n    },\r\n    warning() {\r\n      this.$notify({\r\n        title: '警告',\r\n        message: '该密码不符合密码策略，请重置密码',\r\n        type: 'warning'\r\n      });\r\n    },\r\n  },\r\n  created() {\r\n    this.warning();\r\n  }\r\n};\r\n",null]}