| 1 |
- {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\pages\\notify\\smsConfig\\components\\forgetPassword.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\pages\\notify\\smsConfig\\components\\forgetPassword.vue","mtime":1761614939042},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\babel-loader\\lib\\index.js","mtime":1761614927320},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js","mtime":1761614937402}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:DQppbXBvcnQgeyBjYXB0Y2hhQXBpLCBjb25maWdBcGksIHNlcnZlTW9kaWZ5QXBpLCBjaGVja0NhcHRjaGFBcGkgfSBmcm9tICdAL2FwaS9zZXR0aW5nJzsNCg0KaW1wb3J0IHN0ZXBzIGZyb20gJ0AvY29tcG9uZW50cy9zdGVwcy9pbmRleCc7DQoNCmV4cG9ydCBkZWZhdWx0IHsNCiAgbmFtZTogJ2ZvcmdldFBhc3N3b3JkJywNCiAgY29tcG9uZW50czogeyBzdGVwcyB9LA0KICBkYXRhKCkgew0KICAgIGNvbnN0IHZhbGlkYXRlUGhvbmUgPSAocnVsZSwgdmFsdWUsIGNhbGxiYWNrKSA9PiB7DQogICAgICBpZiAoIXZhbHVlKSB7DQogICAgICAgIHJldHVybiBjYWxsYmFjayhuZXcgRXJyb3IoJ+ivt+Whq+WGmeaJi+acuuWPtycpKTsNCiAgICAgIH0gZWxzZSBpZiAoIS9eMVszNDU2Nzg5XVxkezl9JC8udGVzdCh2YWx1ZSkpIHsNCiAgICAgICAgY2FsbGJhY2sobmV3IEVycm9yKCfmiYvmnLrlj7fmoLzlvI/kuI3mraPnoa4hJykpOw0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgY2FsbGJhY2soKTsNCiAgICAgIH0NCiAgICB9Ow0KICAgIHZhciB2YWxpZGF0ZVBhc3MgPSAocnVsZSwgdmFsdWUsIGNhbGxiYWNrKSA9PiB7DQogICAgICBpZiAodmFsdWUgPT09ICcnKSB7DQogICAgICAgIGNhbGxiYWNrKG5ldyBFcnJvcign6K+36L6T5YWl5a+G56CBJykpOw0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgaWYgKHRoaXMuY3VycmVudCA9PT0gMSkgew0KICAgICAgICAgIGlmICh0aGlzLmZvcm1JbmxpbmUuY2hlY2tQYXNzICE9PSAnJykgew0KICAgICAgICAgICAgdGhpcy4kcmVmcy5mb3JtSW5saW5lLnZhbGlkYXRlRmllbGQoJ2NoZWNrUGFzcycpOw0KICAgICAgICAgIH0NCiAgICAgICAgICBjYWxsYmFjaygpOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5mb3JtSW5saW5lLmNoZWNrUGFzcykgew0KICAgICAgICAgICAgY2FsbGJhY2sobmV3IEVycm9yKCfor7fovpPlhaXmraPnoa7lr4bnoIEhJykpOw0KICAgICAgICAgIH0NCiAgICAgICAgICBjYWxsYmFjaygpOw0KICAgICAgICB9DQogICAgICB9DQogICAgfTsNCiAgICB2YXIgdmFsaWRhdGVQYXNzMiA9IChydWxlLCB2YWx1ZSwgY2FsbGJhY2spID0+IHsNCiAgICAgIGlmICh2YWx1ZSA9PT0gJycpIHsNCiAgICAgICAgY2FsbGJhY2sobmV3IEVycm9yKCfor7flho3mrKHovpPlhaXlr4bnoIEnKSk7DQogICAgICB9IGVsc2UgaWYgKHZhbHVlICE9PSB0aGlzLmZvcm1JbmxpbmUucGFzc3dvcmQpIHsNCiAgICAgICAgY2FsbGJhY2sobmV3IEVycm9yKCfkuKTmrKHovpPlhaXlr4bnoIHkuI3kuIDoh7QhJykpOw0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgY2FsbGJhY2soKTsNCiAgICAgIH0NCiAgICB9Ow0KICAgIHJldHVybiB7DQogICAgICBjdXROVW06ICfojrflj5bpqozor4HnoIEnLA0KICAgICAgY2FuQ2xpY2s6IHRydWUsDQogICAgICBjdXJyZW50OiAwLA0KICAgICAgZm9ybUlubGluZTogew0KICAgICAgICBhY2NvdW50OiAnJywNCiAgICAgICAgcGhvbmU6ICcnLA0KICAgICAgICB2ZXJpZnlfY29kZTogJycsDQogICAgICAgIHBhc3N3b3JkOiAnJywNCiAgICAgICAgY2hlY2tQYXNzOiAnJywNCiAgICAgIH0sDQogICAgICBydWxlSW5saW5lOiB7DQogICAgICAgIHBob25lOiBbeyByZXF1aXJlZDogdHJ1ZSwgdmFsaWRhdG9yOiB2YWxpZGF0ZVBob25lLCB0cmlnZ2VyOiAnYmx1cicgfV0sDQogICAgICAgIHZlcmlmeV9jb2RlOiBbeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogJ+ivt+i+k+WFpemqjOivgeeggScsIHRyaWdnZXI6ICdibHVyJyB9XSwNCiAgICAgICAgcGFzc3dvcmQ6IFt7IHZhbGlkYXRvcjogdmFsaWRhdGVQYXNzLCB0cmlnZ2VyOiAnYmx1cicgfV0sDQogICAgICAgIGNoZWNrUGFzczogW3sgdmFsaWRhdG9yOiB2YWxpZGF0ZVBhc3MyLCB0cmlnZ2VyOiAnYmx1cicgfV0sDQogICAgICB9LA0KICAgICAgc3RlcExpc3Q6IFsn6aqM6K+B6LSm5Y+35L+h5oGvJywgJ+S/ruaUuei0puaIt+WvhueggScsICfnmbvlvZUnXSwNCiAgICB9Ow0KICB9LA0KICBtZXRob2RzOiB7DQogICAgLy8g55+t5L+h6aqM6K+B56CBDQogICAgY3V0RG93bigpIHsNCiAgICAgIGlmICh0aGlzLmZvcm1JbmxpbmUucGhvbmUpIHsNCiAgICAgICAgaWYgKCF0aGlzLmNhbkNsaWNrKSByZXR1cm47DQogICAgICAgIHRoaXMuY2FuQ2xpY2sgPSBmYWxzZTsNCiAgICAgICAgdGhpcy5jdXROVW0gPSA2MDsNCiAgICAgICAgbGV0IGRhdGEgPSB7DQogICAgICAgICAgcGhvbmU6IHRoaXMuZm9ybUlubGluZS5waG9uZSwNCiAgICAgICAgfTsNCiAgICAgICAgY2FwdGNoYUFwaShkYXRhKQ0KICAgICAgICAgIC50aGVuKGFzeW5jIChyZXMpID0+IHsNCiAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2VzcyhyZXMubXNnKTsNCiAgICAgICAgICB9KQ0KICAgICAgICAgIC5jYXRjaCgocmVzKSA9PiB7DQogICAgICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKHJlcy5tc2cpOw0KICAgICAgICAgIH0pOw0KICAgICAgICBsZXQgdGltZSA9IHNldEludGVydmFsKCgpID0+IHsNCiAgICAgICAgICB0aGlzLmN1dE5VbS0tOw0KICAgICAgICAgIGlmICh0aGlzLmN1dE5VbSA9PT0gMCkgew0KICAgICAgICAgICAgdGhpcy5jdXROVW0gPSAn6I635Y+W6aqM6K+B56CBJzsNCiAgICAgICAgICAgIHRoaXMuY2FuQ2xpY2sgPSB0cnVlOw0KICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aW1lKTsNCiAgICAgICAgICB9DQogICAgICAgIH0sIDEwMDApOw0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCfor7floavlhpnmiYvmnLrlj7chJyk7DQogICAgICB9DQogICAgfSwNCiAgICBoYW5kbGVTdWJtaXQxKG5hbWUsIGN1cnJlbnQpIHsNCiAgICAgIHRoaXMuJHJlZnNbbmFtZV0udmFsaWRhdGUoKHZhbGlkKSA9PiB7DQogICAgICAgIGlmICh2YWxpZCkgew0KICAgICAgICAgIGNoZWNrQ2FwdGNoYUFwaSh0aGlzLmZvcm1JbmxpbmUpDQogICAgICAgICAgICAudGhlbihhc3luYyAocmVzKSA9PiB7DQogICAgICAgICAgICAgIHRoaXMuY3VycmVudCA9IDE7DQogICAgICAgICAgICB9KQ0KICAgICAgICAgICAgLmNhdGNoKChyZXMpID0+IHsNCiAgICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcihyZXMubXNnKTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgICAgfSk7DQogICAgfSwNCiAgICBoYW5kbGVTdWJtaXQyKG5hbWUpIHsNCiAgICAgIHRoaXMuZm9ybUlubGluZS5hY2NvdW50ID0gdGhpcy5mb3JtSW5saW5lLnBob25lOw0KICAgICAgdGhpcy4kcmVmc1tuYW1lXS52YWxpZGF0ZSgodmFsaWQpID0+IHsNCiAgICAgICAgaWYgKHZhbGlkKSB7DQogICAgICAgICAgc2VydmVNb2RpZnlBcGkodGhpcy5mb3JtSW5saW5lKQ0KICAgICAgICAgICAgLnRoZW4oYXN5bmMgKHJlcykgPT4gew0KICAgICAgICAgICAgICB0aGlzLiRtZXNzYWdlLnN1Y2Nlc3MocmVzLm1zZyk7DQogICAgICAgICAgICAgIHRoaXMuY3VycmVudCA9IDI7DQogICAgICAgICAgICB9KQ0KICAgICAgICAgICAgLmNhdGNoKChyZXMpID0+IHsNCiAgICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcihyZXMubXNnKTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgICAgfSk7DQogICAgfSwNCiAgICAvL+eZu+W9lQ0KICAgIGhhbmRsZVN1Ym1pdChuYW1lKSB7DQogICAgICB0aGlzLiRyZWZzW25hbWVdLnZhbGlkYXRlKCh2YWxpZCkgPT4gew0KICAgICAgICBpZiAodmFsaWQpIHsNCiAgICAgICAgICBjb25maWdBcGkoew0KICAgICAgICAgICAgYWNjb3VudDogdGhpcy5mb3JtSW5saW5lLmFjY291bnQsDQogICAgICAgICAgICBwYXNzd29yZDogdGhpcy5mb3JtSW5saW5lLnBhc3N3b3JkLA0KICAgICAgICAgIH0pDQogICAgICAgICAgICAudGhlbihhc3luYyAocmVzKSA9PiB7DQogICAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2Vzcygn55m75b2V5oiQ5YqfIScpOw0KICAgICAgICAgICAgICB0aGlzLiRlbWl0KCdvbi1Mb2dpbicpOw0KICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIC5jYXRjaCgocmVzKSA9PiB7DQogICAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICAgIH0pOw0KICAgIH0sDQogICAgcmV0dXJucygpIHsNCiAgICAgIHRoaXMuY3VycmVudCA9PT0gMCA/IHRoaXMuJGVtaXQoJ2dvYmFjaycpIDogKHRoaXMuY3VycmVudCA9IDApOw0KICAgIH0sDQogIH0sDQp9Ow0K"},{"version":3,"sources":["forgetPassword.vue"],"names":[],"mappings":";AA6GA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"forgetPassword.vue","sourceRoot":"src/pages/notify/smsConfig/components","sourcesContent":["<template>\r\n <el-row justify=\"center\" align=\"middle\">\r\n <el-col :span=\"20\" style=\"margin-top: 70px\" class=\"mb50\">\r\n <steps :stepList=\"stepList\" :isActive=\"current\"></steps>\r\n </el-col>\r\n <el-col :span=\"24\">\r\n <div class=\"index_from page-account-container\">\r\n <el-form ref=\"formInline\" :model=\"formInline\" :rules=\"ruleInline\" @submit.native.prevent>\r\n <template v-if=\"current === 0\">\r\n <el-form-item prop=\"phone\" class=\"maxInpt\">\r\n <el-input\r\n type=\"text\"\r\n v-model=\"formInline.phone\"\r\n prefix=\"ios-contact-outline\"\r\n placeholder=\"请输入手机号\"\r\n size=\"large\"\r\n />\r\n </el-form-item>\r\n <el-form-item prop=\"verify_code\" class=\"maxInpt\">\r\n <div class=\"code\">\r\n <el-input\r\n type=\"text\"\r\n v-model=\"formInline.verify_code\"\r\n prefix=\"ios-keypad-outline\"\r\n placeholder=\"请输入验证码\"\r\n size=\"large\"\r\n />\r\n <el-button :disabled=\"!this.canClick\" v-db-click @click=\"cutDown\" size=\"large\">{{ cutNUm }}</el-button>\r\n </div>\r\n </el-form-item>\r\n </template>\r\n <template v-if=\"current === 1\">\r\n <el-form-item prop=\"password\" class=\"maxInpt\">\r\n <el-input\r\n type=\"password\"\r\n v-model=\"formInline.password\"\r\n prefix=\"ios-lock-outline\"\r\n placeholder=\"请输入新密码\"\r\n size=\"large\"\r\n />\r\n </el-form-item>\r\n <el-form-item prop=\"checkPass\" class=\"maxInpt\">\r\n <el-input\r\n type=\"password\"\r\n v-model=\"formInline.checkPass\"\r\n prefix=\"ios-lock-outline\"\r\n placeholder=\"请验证新密码\"\r\n size=\"large\"\r\n />\r\n </el-form-item>\r\n </template>\r\n <template v-if=\"current === 2\">\r\n <el-form-item prop=\"phone\" class=\"maxInpt\">\r\n <el-input\r\n type=\"text\"\r\n v-model=\"formInline.phone\"\r\n prefix=\"ios-contact-outline\"\r\n placeholder=\"请输入手机号\"\r\n />\r\n </el-form-item>\r\n <el-form-item prop=\"password\" class=\"maxInpt\">\r\n <el-input\r\n type=\"password\"\r\n v-model=\"formInline.password\"\r\n prefix=\"ios-lock-outline\"\r\n placeholder=\"请输入密码\"\r\n />\r\n </el-form-item>\r\n </template>\r\n <el-form-item class=\"maxInpt\">\r\n <el-button\r\n v-if=\"current === 0\"\r\n type=\"primary\"\r\n long\r\n size=\"large\"\r\n v-db-click\r\n @click=\"handleSubmit1('formInline', current)\"\r\n class=\"mb20\"\r\n >下一步</el-button\r\n >\r\n <el-button\r\n v-if=\"current === 1\"\r\n type=\"primary\"\r\n long\r\n size=\"large\"\r\n v-db-click\r\n @click=\"handleSubmit2('formInline', current)\"\r\n class=\"mb20\"\r\n >提交</el-button\r\n >\r\n <el-button\r\n v-if=\"current === 2\"\r\n type=\"primary\"\r\n long\r\n size=\"large\"\r\n v-db-click\r\n @click=\"handleSubmit('formInline', current)\"\r\n class=\"mb20\"\r\n >登录</el-button\r\n >\r\n <el-button long size=\"large\" v-db-click @click=\"returns('formInline')\" class=\"btn\">返回 </el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n </el-col>\r\n </el-row>\r\n</template>\r\n\r\n<script>\r\nimport { captchaApi, configApi, serveModifyApi, checkCaptchaApi } from '@/api/setting';\r\n\r\nimport steps from '@/components/steps/index';\r\n\r\nexport default {\r\n name: 'forgetPassword',\r\n components: { steps },\r\n data() {\r\n const validatePhone = (rule, value, callback) => {\r\n if (!value) {\r\n return callback(new Error('请填写手机号'));\r\n } else if (!/^1[3456789]\\d{9}$/.test(value)) {\r\n callback(new Error('手机号格式不正确!'));\r\n } else {\r\n callback();\r\n }\r\n };\r\n var validatePass = (rule, value, callback) => {\r\n if (value === '') {\r\n callback(new Error('请输入密码'));\r\n } else {\r\n if (this.current === 1) {\r\n if (this.formInline.checkPass !== '') {\r\n this.$refs.formInline.validateField('checkPass');\r\n }\r\n callback();\r\n } else {\r\n if (value !== this.formInline.checkPass) {\r\n callback(new Error('请输入正确密码!'));\r\n }\r\n callback();\r\n }\r\n }\r\n };\r\n var validatePass2 = (rule, value, callback) => {\r\n if (value === '') {\r\n callback(new Error('请再次输入密码'));\r\n } else if (value !== this.formInline.password) {\r\n callback(new Error('两次输入密码不一致!'));\r\n } else {\r\n callback();\r\n }\r\n };\r\n return {\r\n cutNUm: '获取验证码',\r\n canClick: true,\r\n current: 0,\r\n formInline: {\r\n account: '',\r\n phone: '',\r\n verify_code: '',\r\n password: '',\r\n checkPass: '',\r\n },\r\n ruleInline: {\r\n phone: [{ required: true, validator: validatePhone, trigger: 'blur' }],\r\n verify_code: [{ required: true, message: '请输入验证码', trigger: 'blur' }],\r\n password: [{ validator: validatePass, trigger: 'blur' }],\r\n checkPass: [{ validator: validatePass2, trigger: 'blur' }],\r\n },\r\n stepList: ['验证账号信息', '修改账户密码', '登录'],\r\n };\r\n },\r\n methods: {\r\n // 短信验证码\r\n cutDown() {\r\n if (this.formInline.phone) {\r\n if (!this.canClick) return;\r\n this.canClick = false;\r\n this.cutNUm = 60;\r\n let data = {\r\n phone: this.formInline.phone,\r\n };\r\n captchaApi(data)\r\n .then(async (res) => {\r\n this.$message.success(res.msg);\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n let time = setInterval(() => {\r\n this.cutNUm--;\r\n if (this.cutNUm === 0) {\r\n this.cutNUm = '获取验证码';\r\n this.canClick = true;\r\n clearInterval(time);\r\n }\r\n }, 1000);\r\n } else {\r\n this.$message.warning('请填写手机号!');\r\n }\r\n },\r\n handleSubmit1(name, current) {\r\n this.$refs[name].validate((valid) => {\r\n if (valid) {\r\n checkCaptchaApi(this.formInline)\r\n .then(async (res) => {\r\n this.current = 1;\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n } else {\r\n return false;\r\n }\r\n });\r\n },\r\n handleSubmit2(name) {\r\n this.formInline.account = this.formInline.phone;\r\n this.$refs[name].validate((valid) => {\r\n if (valid) {\r\n serveModifyApi(this.formInline)\r\n .then(async (res) => {\r\n this.$message.success(res.msg);\r\n this.current = 2;\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n } else {\r\n return false;\r\n }\r\n });\r\n },\r\n //登录\r\n handleSubmit(name) {\r\n this.$refs[name].validate((valid) => {\r\n if (valid) {\r\n configApi({\r\n account: this.formInline.account,\r\n password: this.formInline.password,\r\n })\r\n .then(async (res) => {\r\n this.$message.success('登录成功!');\r\n this.$emit('on-Login');\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n } else {\r\n return false;\r\n }\r\n });\r\n },\r\n returns() {\r\n this.current === 0 ? this.$emit('goback') : (this.current = 0);\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.maxInpt {\r\n max-width: 400px;\r\n margin-left: auto;\r\n margin-right: auto;\r\n}\r\n.code {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n.ivu-steps-item:last-child {\r\n width: unset !important;\r\n}\r\n</style>\r\n"]}]}
|