470f4f337df3308d8a5c34ac2f095d52.json 11 KB

1
  1. {"remainingRequest":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/vue-loader/lib/index.js??vue-loader-options!/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/src/views/login/forget.vue?vue&type=script&lang=js&","dependencies":[{"path":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/src/views/login/forget.vue","mtime":1616484200000},{"path":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/babel-loader/lib/index.js","mtime":499162500000},{"path":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQpleHBvcnQgZGVmYXVsdCB7DQogIG5hbWU6ICJGb3JnZXQiLA0KICBkYXRhKCkgew0KICAgIGxldCBwYXNzd29yZDJWYWxpZGF0b3IgPSAocnVsZSwgdmFsdWUsIGNhbGxiYWNrKSA9PiB7DQogICAgICBpZiAoIXZhbHVlKSByZXR1cm4gY2FsbGJhY2sobmV3IEVycm9yKCfor7flho3mrKHovpPlhaXnmbvlvZXlr4bnoIEnKSk7DQogICAgICBpZiAodmFsdWUgIT09IHRoaXMuZm9ybS5wYXNzd29yZCkgcmV0dXJuIGNhbGxiYWNrKG5ldyBFcnJvcign5Lik5qyh5a+G56CB6L6T5YWl5LiN5LiA6Ie0JykpOw0KICAgICAgY2FsbGJhY2soKTsNCiAgICB9Ow0KICAgIHJldHVybiB7DQogICAgICBsb2FkaW5nOiBmYWxzZSwgIC8vIOS/neWtmOaMiemSrmxvYWRpbmcNCiAgICAgIGZvcm06IHtwaG9uZTogJzEyMzQ1Njc4OTAnLCBwYXNzd29yZDogJycsIHBhc3N3b3JkMjogJycsIGNvZGU6ICcnfSwgIC8vIOihqOWNleaVsOaNrg0KICAgICAgcnVsZXM6IHsgIC8vIOihqOWNlemqjOivgeinhOWImQ0KICAgICAgICBwaG9uZTogWw0KICAgICAgICAgIHtyZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogJ+ivt+i+k+WFpee7keWumuaJi+acuuWPtycsIHRyaWdnZXI6ICdibHVyJ30NCiAgICAgICAgXSwNCiAgICAgICAgcGFzc3dvcmQ6IFsNCiAgICAgICAgICB7cmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6ICfor7fovpPlhaXmlrDnmoTnmbvlvZXlr4bnoIEnLCB0cmlnZ2VyOiAnYmx1cid9DQogICAgICAgIF0sDQogICAgICAgIHBhc3N3b3JkMjogWw0KICAgICAgICAgIHt2YWxpZGF0b3I6IHBhc3N3b3JkMlZhbGlkYXRvciwgdHJpZ2dlcjogJ2JsdXInfQ0KICAgICAgICBdLA0KICAgICAgICBjb2RlOiBbDQogICAgICAgICAge3JlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAn6K+36L6T5YWl6aqM6K+B56CBJywgdHJpZ2dlcjogJ2JsdXInfQ0KICAgICAgICBdDQogICAgICB9LA0KICAgICAgdjogbmV3IERhdGUoKS5nZXRUaW1lKCksDQogICAgICBzaG93SW1nQ29kZTogZmFsc2UsICAvLyDmmK/lkKbmmL7npLrlm77lvaLpqozor4HnoIHlvLnnqpcNCiAgICAgIGltZ0NvZGU6ICcnLCAgLy8g5Zu+5b2i6aqM6K+B56CBDQogICAgICBjb2RlTG9hZGluZzogZmFsc2UgIC8vIOWPkemAgemqjOivgeeggeaMiemSrmxvYWRpbmcNCiAgICB9DQogIH0sDQogIGNvbXB1dGVkOiB7DQogICAgLyog5Zu+5b2i6aqM6K+B56CB5Zyw5Z2AICovDQogICAgY2FwdGNoYSgpIHsNCiAgICAgIHJldHVybiAnaHR0cDovL3NoaXJvLmVhc3l3ZWIudmlwL2Fzc2V0cy9jYXB0Y2hhP3Y9JyArIHRoaXMudg0KICAgIH0NCiAgfSwNCiAgbWV0aG9kczogew0KICAgIC8qIOaPkOS6pCAqLw0KICAgIGRvU3VibWl0KCkgew0KICAgICAgdGhpcy4kcmVmc1sncmVnRm9ybSddLnZhbGlkYXRlKCh2YWxpZCkgPT4gew0KICAgICAgICBpZiAoIXZhbGlkKSByZXR1cm4gZmFsc2U7DQogICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7DQogICAgICAgIHNldFRpbWVvdXQoKCkgPT4gew0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uoe3R5cGU6ICdzdWNjZXNzJywgbWVzc2FnZTogJ+WvhueggeS/ruaUueaIkOWKnyd9KTsNCiAgICAgICAgICB0aGlzLiRyb3V0ZXIucHVzaCgnL2xvZ2luJyk7DQogICAgICAgIH0sIDEwMDApOw0KICAgICAgfSk7DQogICAgfSwNCiAgICAvKiDmm7TmjaLlm77lvaLpqozor4HnoIEgKi8NCiAgICBjaGFuZ2VJbWdDb2RlKCkgew0KICAgICAgdGhpcy52ID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7DQogICAgfSwNCiAgICAvKiDmmL7npLrlj5HpgIHnn63kv6Hpqozor4HnoIHlvLnnqpcgKi8NCiAgICBzaG93SW1nQ29kZUNoZWNrKCkgew0KICAgICAgaWYgKCF0aGlzLmZvcm0ucGhvbmUpIHJldHVybiB0aGlzLiRtZXNzYWdlLmVycm9yKCfor7fovpPlhaXmiYvmnLrlj7fnoIEnKTsNCiAgICAgIHRoaXMuaW1nQ29kZSA9ICcnOw0KICAgICAgdGhpcy5jaGFuZ2VJbWdDb2RlKCk7DQogICAgICB0aGlzLnNob3dJbWdDb2RlID0gdHJ1ZTsNCiAgICB9LA0KICAgIC8qIOWPkemAgeefreS/oemqjOivgeeggSAqLw0KICAgIHNlbmRDb2RlKCkgew0KICAgICAgaWYgKCF0aGlzLmltZ0NvZGUpIHJldHVybiB0aGlzLiRtZXNzYWdlLmVycm9yKCfor7fovpPlhaXlm77lvaLpqozor4HnoIEnKTsNCiAgICAgIHRoaXMuY29kZUxvYWRpbmcgPSB0cnVlOw0KICAgICAgc2V0VGltZW91dCgoKSA9PiB7DQogICAgICAgIHRoaXMuJG1lc3NhZ2Uoe3R5cGU6ICdzdWNjZXNzJywgbWVzc2FnZTogJ+efreS/oemqjOivgeeggeWPkemAgeaIkOWKnywg6K+35rOo5oSP5p+l5pS2ISd9KTsNCiAgICAgICAgdGhpcy5zaG93SW1nQ29kZSA9IGZhbHNlOw0KICAgICAgICB0aGlzLmNvZGVMb2FkaW5nID0gZmFsc2U7DQogICAgICB9LCAxMDAwKTsNCiAgICB9DQogIH0NCn0NCg=="},{"version":3,"sources":["forget.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA;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":"forget.vue","sourceRoot":"src/views/login","sourcesContent":["<template>\r\n <div class=\"login-wrapper\">\r\n <el-form ref=\"regForm\" :model=\"form\" :rules=\"rules\" class=\"login-form ele-bg-white\" size=\"large\"\r\n @keyup.enter.native=\"doSubmit\">\r\n <h4>忘记密码</h4>\r\n <el-form-item prop=\"phone\">\r\n <el-input placeholder=\"请输入绑定手机号\" v-model=\"form.phone\" prefix-icon=\"el-icon-mobile-phone\" clearable/>\r\n </el-form-item>\r\n <el-form-item prop=\"password\">\r\n <el-input placeholder=\"请输入新的登录密码\" v-model=\"form.password\" prefix-icon=\"el-icon-lock\" show-password/>\r\n </el-form-item>\r\n <el-form-item prop=\"password2\">\r\n <el-input placeholder=\"请再次输入登录密码\" v-model=\"form.password2\" prefix-icon=\"el-icon-key\" show-password/>\r\n </el-form-item>\r\n <el-form-item prop=\"code\">\r\n <div class=\"login-input-group\">\r\n <el-input placeholder=\"请输入验证码\" v-model=\"form.code\" prefix-icon=\"el-icon-_vercode\"/>\r\n <div @click=\"showImgCodeCheck\" class=\"login-captcha\">发送验证码</div>\r\n </div>\r\n </el-form-item>\r\n <div class=\"el-form-item\">\r\n <el-link @click=\"$router.push('/login')\" type=\"primary\" class=\"ele-pull-right\" :underline=\"false\">返回登录</el-link>\r\n </div>\r\n <div class=\"el-form-item\">\r\n <el-button @click=\"doSubmit\" :loading=\"loading\" type=\"primary\" class=\"login-btn\" size=\"large\">修改密码</el-button>\r\n </div>\r\n </el-form>\r\n <div class=\"login-copyright\">copyright © 2017~2021 rxthink.cn all rights reserved.</div>\r\n <!-- 图形验证码弹窗 -->\r\n <el-dialog title=\"发送验证码\" :visible.sync=\"showImgCode\" width=\"320px\">\r\n <div class=\"login-input-group\" style=\"margin-bottom: 15px;\">\r\n <el-input placeholder=\"输入图形验证码\" v-model=\"imgCode\" size=\"large\" @keyup.enter.native=\"sendCode\"/>\r\n <img :src=\"captcha\" @click=\"changeImgCode\" class=\"login-captcha\" alt=\"\"/>\r\n </div>\r\n <el-button @click=\"sendCode\" :loading=\"codeLoading\" type=\"primary\" class=\"login-btn\" size=\"large\">立即发送</el-button>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: \"Forget\",\r\n data() {\r\n let password2Validator = (rule, value, callback) => {\r\n if (!value) return callback(new Error('请再次输入登录密码'));\r\n if (value !== this.form.password) return callback(new Error('两次密码输入不一致'));\r\n callback();\r\n };\r\n return {\r\n loading: false, // 保存按钮loading\r\n form: {phone: '1234567890', password: '', password2: '', code: ''}, // 表单数据\r\n rules: { // 表单验证规则\r\n phone: [\r\n {required: true, message: '请输入绑定手机号', trigger: 'blur'}\r\n ],\r\n password: [\r\n {required: true, message: '请输入新的登录密码', trigger: 'blur'}\r\n ],\r\n password2: [\r\n {validator: password2Validator, trigger: 'blur'}\r\n ],\r\n code: [\r\n {required: true, message: '请输入验证码', trigger: 'blur'}\r\n ]\r\n },\r\n v: new Date().getTime(),\r\n showImgCode: false, // 是否显示图形验证码弹窗\r\n imgCode: '', // 图形验证码\r\n codeLoading: false // 发送验证码按钮loading\r\n }\r\n },\r\n computed: {\r\n /* 图形验证码地址 */\r\n captcha() {\r\n return 'http://shiro.easyweb.vip/assets/captcha?v=' + this.v\r\n }\r\n },\r\n methods: {\r\n /* 提交 */\r\n doSubmit() {\r\n this.$refs['regForm'].validate((valid) => {\r\n if (!valid) return false;\r\n this.loading = true;\r\n setTimeout(() => {\r\n this.$message({type: 'success', message: '密码修改成功'});\r\n this.$router.push('/login');\r\n }, 1000);\r\n });\r\n },\r\n /* 更换图形验证码 */\r\n changeImgCode() {\r\n this.v = new Date().getTime();\r\n },\r\n /* 显示发送短信验证码弹窗 */\r\n showImgCodeCheck() {\r\n if (!this.form.phone) return this.$message.error('请输入手机号码');\r\n this.imgCode = '';\r\n this.changeImgCode();\r\n this.showImgCode = true;\r\n },\r\n /* 发送短信验证码 */\r\n sendCode() {\r\n if (!this.imgCode) return this.$message.error('请输入图形验证码');\r\n this.codeLoading = true;\r\n setTimeout(() => {\r\n this.$message({type: 'success', message: '短信验证码发送成功, 请注意查收!'});\r\n this.showImgCode = false;\r\n this.codeLoading = false;\r\n }, 1000);\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n.login-wrapper {\r\n padding: 50px 20px;\r\n position: relative;\r\n box-sizing: border-box;\r\n background-image: url(\"~@/assets/bg-login.png\");\r\n background-repeat: no-repeat;\r\n background-size: cover;\r\n min-height: 100vh;\r\n}\r\n\r\n.login-wrapper:before {\r\n content: \"\";\r\n background-color: rgba(0, 0, 0, .2);\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n}\r\n\r\n.login-form {\r\n margin: 0 auto;\r\n width: 360px;\r\n max-width: 100%;\r\n padding: 25px 30px;\r\n position: relative;\r\n box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);\r\n box-sizing: border-box;\r\n border-radius: 4px;\r\n z-index: 2;\r\n}\r\n\r\n.login-form h4 {\r\n text-align: center;\r\n margin: 0 0 25px 0;\r\n}\r\n\r\n.login-form > .el-form-item {\r\n margin-bottom: 25px;\r\n}\r\n\r\n.login-input-group {\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.login-input-group >>> .el-input {\r\n flex: 1;\r\n}\r\n\r\n.login-captcha {\r\n height: 38px;\r\n width: 102px;\r\n margin-left: 10px;\r\n border-radius: 4px;\r\n border: 1px solid #DCDFE6;\r\n text-align: center;\r\n cursor: pointer;\r\n}\r\n\r\n.login-captcha:hover {\r\n opacity: .75;\r\n}\r\n\r\n.login-btn {\r\n display: block;\r\n width: 100%;\r\n}\r\n\r\n.login-oauth-icon {\r\n color: #FFF;\r\n padding: 5px;\r\n margin: 0 10px;\r\n font-size: 20px;\r\n border-radius: 50%;\r\n cursor: pointer;\r\n}\r\n\r\n.login-copyright {\r\n color: #eee;\r\n padding-top: 20px;\r\n text-align: center;\r\n position: relative;\r\n z-index: 1;\r\n}\r\n\r\n@media screen and (min-height: 550px) {\r\n .login-form {\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n margin-top: -250px;\r\n }\r\n\r\n .login-copyright {\r\n position: absolute;\r\n bottom: 20px;\r\n right: 0;\r\n left: 0;\r\n }\r\n}\r\n</style>"]}]}