a8fcfd3d1d966b653cfbdb936c8af39e.json 21 KB

1
  1. {"remainingRequest":"D:\\test\\ssi-satoken\\ui\\node_modules\\thread-loader\\dist\\cjs.js!D:\\test\\ssi-satoken\\ui\\node_modules\\babel-loader\\lib\\index.js!D:\\test\\ssi-satoken\\ui\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\test\\ssi-satoken\\ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\test\\ssi-satoken\\ui\\src\\views\\login\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\test\\ssi-satoken\\ui\\src\\views\\login\\index.vue","mtime":1697441561764},{"path":"D:\\test\\ssi-satoken\\ui\\babel.config.js","mtime":1696909835000},{"path":"D:\\test\\ssi-satoken\\ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1697005520931},{"path":"D:\\test\\ssi-satoken\\ui\\node_modules\\thread-loader\\dist\\cjs.js","mtime":1697005520930},{"path":"D:\\test\\ssi-satoken\\ui\\node_modules\\babel-loader\\lib\\index.js","mtime":1697005523218},{"path":"D:\\test\\ssi-satoken\\ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1697005520931},{"path":"D:\\test\\ssi-satoken\\ui\\node_modules\\vue-loader\\lib\\index.js","mtime":1697005524089}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9yZWdlbmVyYXRvclJ1bnRpbWUgZnJvbSAiRDovdGVzdC9zc2ktc2F0b2tlbi91aS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vcmVnZW5lcmF0b3JSdW50aW1lLmpzIjsKaW1wb3J0IF9hc3luY1RvR2VuZXJhdG9yIGZyb20gIkQ6L3Rlc3Qvc3NpLXNhdG9rZW4vdWkvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2FzeW5jVG9HZW5lcmF0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucHVzaC5qcyI7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCgppbXBvcnQgc3RvcmUgZnJvbSAiQC9zdG9yZSI7CmltcG9ydCB7IGRvRW5jcnlwdCwgZG9TaWduIH0gZnJvbSAiQC91dGlscy9zbXV0aWwiOwppbXBvcnQgeyBkZWJvdW5jZSB9IGZyb20gImxvZGFzaCI7CmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAnTG9naW4nLAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICBsb2dpbkZvcm06IHsKICAgICAgICAvLyDnlKjmiLflkI0KICAgICAgICB1c2VybmFtZTogJycsCiAgICAgICAgLy8g5a+G56CBCiAgICAgICAgcGFzc3dvcmQ6ICcnLAogICAgICAgIC8vIOmqjOivgeeggQogICAgICAgIHZlcmlmeUNvZGU6ICcnCiAgICAgIH0sCiAgICAgIG11cm11cjogJycsCiAgICAgIHZlcmlmeXV1aWQ6ICcnLAogICAgICAvLyDorqHml7blmajlr7nosaEKICAgICAgdGltZXI6IG51bGwsCiAgICAgIC8vIOWAkuaVsDYw56eSCiAgICAgIGNvdW50ZXI6IDYwLAogICAgICBjYXB0Y2hhVXJsOiB0aGlzLmdldENhcHRjaGEsCiAgICAgIGNhcHRjaGFUZXh0OiAnJywKICAgICAgbG9naW5SdWxlczogewogICAgICAgIC8qICB1c2VybmFtZTogW3sgcmVxdWlyZWQ6IHRydWUsIHRyaWdnZXI6ICdibHVyJywgdmFsaWRhdG9yOiB2YWxpZGF0ZVVzZXJuYW1lIH1dLA0KICAgICAgICAgIHBhc3N3b3JkOiBbeyByZXF1aXJlZDogdHJ1ZSwgdHJpZ2dlcjogJ2JsdXInLCB2YWxpZGF0b3I6IHZhbGlkYXRlUGFzc3dvcmQgfV0qLwogICAgICAgIHVzZXJuYW1lOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICB0cmlnZ2VyOiAnYmx1cicsCiAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWl55So5oi35ZCNJwogICAgICAgIH1dLAogICAgICAgIHBhc3N3b3JkOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICB0cmlnZ2VyOiAnYmx1cicsCiAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWl5a+G56CBJwogICAgICAgIH1dLAogICAgICAgIHZlcmlmeUNvZGU6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIHRyaWdnZXI6ICdibHVyJywKICAgICAgICAgIG1lc3NhZ2U6ICfor7fovpPlhaXpqozor4HnoIEnCiAgICAgICAgfSwgewogICAgICAgICAgbWluOiA0LAogICAgICAgICAgbWF4OiA0LAogICAgICAgICAgbWVzc2FnZTogJ+ivt+i+k+WFpTTkvY3pqozor4HnoIEnLAogICAgICAgICAgdHJpZ2dlcjogJ2JsdXInCiAgICAgICAgfV0KICAgICAgfSwKICAgICAgbG9hZGluZzogZmFsc2UsCiAgICAgIHJlZGlyZWN0OiB1bmRlZmluZWQKICAgIH07CiAgfSwKICB3YXRjaDogewogICAgJHJvdXRlOiB7CiAgICAgIGhhbmRsZXI6IGZ1bmN0aW9uIGhhbmRsZXIocm91dGUpIHsKICAgICAgICB0aGlzLnJlZGlyZWN0ID0gcm91dGUucXVlcnkgJiYgcm91dGUucXVlcnkucmVkaXJlY3Q7CiAgICAgIH0sCiAgICAgIGltbWVkaWF0ZTogdHJ1ZQogICAgfQogIH0sCiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHsKICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICBfYXN5bmNUb0dlbmVyYXRvciggLyojX19QVVJFX18qL19yZWdlbmVyYXRvclJ1bnRpbWUoKS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUoKSB7CiAgICAgIHZhciBmOwogICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZSQoX2NvbnRleHQpIHsKICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dC5wcmV2ID0gX2NvbnRleHQubmV4dCkgewogICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMjsKICAgICAgICAgICAgcmV0dXJuIF90aGlzLmdldEZpbmdlcigpOwogICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICBmID0gX2NvbnRleHQuc2VudDsKICAgICAgICAgICAgLy8g5oyH57q5CiAgICAgICAgICAgIF90aGlzLm11cm11ciA9IGY7CiAgICAgICAgICAgIC8vIOWKoOi9vemqjOivgeeggQogICAgICAgICAgICBfdGhpcy5nZXRDYXB0Y2hhKCk7CiAgICAgICAgICBjYXNlIDU6CiAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuc3RvcCgpOwogICAgICAgIH0KICAgICAgfSwgX2NhbGxlZSk7CiAgICB9KSkoKTsKICB9LAogIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7fSwKICBtZXRob2RzOiB7CiAgICBnZXRGaW5nZXI6IGZ1bmN0aW9uIGdldEZpbmdlcigpIHsKICAgICAgdmFyIEZpbmdlcnByaW50MiA9IHJlcXVpcmUoJ2ZpbmdlcnByaW50anMyJyk7CiAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSkgewogICAgICAgIGlmICh3aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjaykgewogICAgICAgICAgcmVxdWVzdElkbGVDYWxsYmFjayhmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIEZpbmdlcnByaW50Mi5nZXRWMTgoZnVuY3Rpb24gKHJlc3VsdCkgewogICAgICAgICAgICAgIHJlc29sdmUocmVzdWx0KTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIEZpbmdlcnByaW50Mi5nZXRWMTgoZnVuY3Rpb24gKHJlc3VsdCkgewogICAgICAgICAgICAgIHJlc29sdmUocmVzdWx0KTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9LCA1MDApOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgLy8g6I635Y+W6aqM6K+B56CBCiAgICBnZXRDYXB0Y2hhOiBkZWJvdW5jZShmdW5jdGlvbiAoKSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwogICAgICB2YXIgc2VhcmNoUGFyYW1zID0gewogICAgICAgIG11cm11cjogdGhpcy5tdXJtdXIKICAgICAgfTsKICAgICAgdGhpcy4kYXhpb3MuZ2V0KCcvZ2V0VmVyaWZ5Q29kZScsIHsKICAgICAgICBwYXJhbXM6IHNlYXJjaFBhcmFtcwogICAgICB9KS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBjb25zb2xlLmxvZyhyZXMpOwogICAgICAgIF90aGlzMi52ZXJpZnl1dWlkID0gcmVzLmRhdGEudXVpZDsKICAgICAgICBfdGhpczIuY2FwdGNoYVVybCA9ICdkYXRhOmltYWdlL2dpZjtiYXNlNjQsJyArIHJlcy5kYXRhLmltZ0Jhc2U2NDsKICAgICAgICBfdGhpczIuY2FwdGNoYVRleHQgPSByZXMuZGF0YS5jYXB0Y2hhVGV4dDsKICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycm9yKSB7CiAgICAgICAgY29uc29sZS5sb2coJ+eZu+mZhumhteW8guW4uCcgKyBlcnJvcik7CiAgICAgIH0pOwogICAgfSwgMTAwMCksCiAgICB1cGRhdGVDYXB0Y2hhOiBmdW5jdGlvbiB1cGRhdGVDYXB0Y2hhKCkgewogICAgICAvLyDmm7TmlrDpqozor4HnoIEKICAgICAgdGhpcy5nZXRDYXB0Y2hhKCk7CiAgICB9LAogICAgaGFuZGxlTG9naW46IGRlYm91bmNlKGZ1bmN0aW9uICgpIHsKICAgICAgdmFyIF90aGlzMyA9IHRoaXM7CiAgICAgIHRoaXMuJHJlZnMubG9naW5Gb3JtLnZhbGlkYXRlKGZ1bmN0aW9uICh2YWxpZCkgewogICAgICAgIGlmICh2YWxpZCkgewogICAgICAgICAgX3RoaXMzLmxvYWRpbmcgPSB0cnVlOwogICAgICAgICAgdmFyIHZlcmlmeWNvZGV0ZW1wID0gX3RoaXMzLmxvZ2luRm9ybS52ZXJpZnlDb2RlOwogICAgICAgICAgaWYgKF90aGlzMy5jYXB0Y2hhVGV4dC50b0xvd2VyQ2FzZSgpICE9IHZlcmlmeWNvZGV0ZW1wLnRvTG93ZXJDYXNlKCkpIHsKICAgICAgICAgICAgX3RoaXMzLiRtZXNzYWdlLmVycm9yKCfpqozor4HnoIHlvZXlhaXplJnor68hJyk7CiAgICAgICAgICAgIF90aGlzMy51cGRhdGVDYXB0Y2hhKCk7CiAgICAgICAgICAgIF90aGlzMy5sb2FkaW5nID0gZmFsc2U7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgIH0KICAgICAgICAgIC8vIGNvbnN0IHBhcmFtID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpCiAgICAgICAgICAvLyBwYXJhbS5hcHBlbmQoJ3VzZXJuYW1lJywgdGhpcy5sb2dpbkZvcm0udXNlcm5hbWUpCiAgICAgICAgICAvLyBwYXJhbS5hcHBlbmQoJ3Bhc3N3b3JkJywgdGhpcy5sb2dpbkZvcm0ucGFzc3dvcmQpCiAgICAgICAgICAvLyBwYXJhbS5hcHBlbmQoJ2NvZGUnLCB0aGlzLmxvZ2luRm9ybS52ZXJpZnlDb2RlKQogICAgICAgICAgLy8gcGFyYW0uYXBwZW5kKCd2ZXJpZnl1dWlkJywgdGhpcy52ZXJpZnl1dWlkKQogICAgICAgICAgLy8gcGFyYW0uYXBwZW5kKCdtdXJtdXInLCB0aGlzLm11cm11cikKICAgICAgICAgIHZhciBwYXJhbSA9IHsKICAgICAgICAgICAgdXNlcm5hbWU6IF90aGlzMy5sb2dpbkZvcm0udXNlcm5hbWUsCiAgICAgICAgICAgIHBhc3N3b3JkOiBfdGhpczMubG9naW5Gb3JtLnBhc3N3b3JkLAogICAgICAgICAgICBjb2RlOiBfdGhpczMubG9naW5Gb3JtLnZlcmlmeUNvZGUsCiAgICAgICAgICAgIHZlcmlmeXV1aWQ6IF90aGlzMy52ZXJpZnl1dWlkLAogICAgICAgICAgICBtdXJtdXI6IF90aGlzMy5tdXJtdXIKICAgICAgICAgIH07CiAgICAgICAgICBfdGhpczMuJGF4aW9zLnBvc3QoJy91c2VyL2xvZ2luJywgX3RoaXMzLiRxcy5zdHJpbmdpZnkocGFyYW0pKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2p5JywgcmVzLmRhdGEudG9rZW4pOwogICAgICAgICAgICAvLyDmuIXnqbrot6/nlLHoj5zljZUKICAgICAgICAgICAgc3RvcmUuY29tbWl0KCdTRVRfUicsIFtdKTsKICAgICAgICAgICAgX3RoaXMzLiRyb3V0ZXIucHVzaCgnL2Rhc2hib2FyZCcpOwogICAgICAgICAgICBfdGhpczMubG9hZGluZyA9IGZhbHNlOwogICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycm9yKSB7CiAgICAgICAgICAgIC8vIOeZu+W9leWksei0peWIt+aWsOmqjOivgeeggQogICAgICAgICAgICBfdGhpczMudXBkYXRlQ2FwdGNoYSgpOwogICAgICAgICAgICBfdGhpczMubG9naW5Gb3JtLnZlcmlmeUNvZGUgPSAnJzsKICAgICAgICAgICAgX3RoaXMzLmxvYWRpbmcgPSBmYWxzZTsKICAgICAgICAgIH0pOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBjb25zb2xlLmxvZygnZXJyb3Igc3VibWl0ISEnKTsKICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwgMTAwMCkKICB9Cn07"},{"version":3,"names":["store","doEncrypt","doSign","debounce","name","data","loginForm","username","password","verifyCode","murmur","verifyuuid","timer","counter","captchaUrl","getCaptcha","captchaText","loginRules","required","trigger","message","min","max","loading","redirect","undefined","watch","$route","handler","route","query","immediate","created","_this","_asyncToGenerator","_regeneratorRuntime","mark","_callee","f","wrap","_callee$","_context","prev","next","getFinger","sent","stop","mounted","methods","Fingerprint2","require","Promise","resolve","window","requestIdleCallback","getV18","result","setTimeout","_this2","searchParams","$axios","get","params","then","res","console","log","uuid","imgBase64","catch","error","updateCaptcha","handleLogin","_this3","$refs","validate","valid","verifycodetemp","toLowerCase","$message","param","code","post","$qs","stringify","localStorage","setItem","token","commit","$router","push"],"sources":["src/views/login/index.vue"],"sourcesContent":["<template>\r\n <div class=\"login\">\r\n <el-form ref=\"loginForm\" :model=\"loginForm\" :rules=\"loginRules\" class=\"login-form\">\r\n <el-form-item prop=\"username\" label-width=\"80px\" label=\"账号\">\r\n <el-input\r\n v-model=\"loginForm.username\"\r\n type=\"text\"\r\n name=\"username\"\r\n auto-complete=\"off\"\r\n tabindex=\"1\"\r\n maxlength=\"20\"\r\n >\r\n <svg-icon slot=\"prefix\" icon-class=\"user\" class=\"el-input__icon input-icon\"/>\r\n </el-input>\r\n </el-form-item>\r\n <el-form-item prop=\"password\" label-width=\"80px\" label=\"密码\">\r\n <el-input\r\n v-model=\"loginForm.password\"\r\n type=\"password\"\r\n auto-complete=\"off\"\r\n tabindex=\"2\"\r\n maxlength=\"20\"\r\n >\r\n <svg-icon slot=\"prefix\" icon-class=\"password\" class=\"el-input__icon input-icon\"/>\r\n </el-input>\r\n </el-form-item>\r\n\r\n <el-form-item prop=\"verifyCode\" label-width=\"80px\" label=\"验证码\">\r\n <el-input\r\n v-model=\"loginForm.verifyCode\"\r\n auto-complete=\"off\"\r\n style=\"width: 58%\"\r\n tabindex=\"3\"\r\n maxlength=\"4\"\r\n >\r\n <svg-icon slot=\"prefix\" icon-class=\"verifyCode\" class=\"el-input__icon input-icon\"/>\r\n </el-input>\r\n <div class=\"login-code\">\r\n <img :src=\"captchaUrl\" @click=\"updateCaptcha\" class=\"login-code-img\"/>\r\n </div>\r\n </el-form-item>\r\n\r\n <el-form-item style=\"width:100%;\">\r\n <el-button\r\n :loading=\"loading\"\r\n size=\"medium\"\r\n type=\"primary\"\r\n style=\"width:100%;\"\r\n @click.native.prevent=\"handleLogin\"\r\n >\r\n <span v-if=\"!loading\">登 录</span>\r\n <span v-else>登 录 中...</span>\r\n </el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n\r\nimport store from \"@/store\";\r\nimport {doEncrypt, doSign} from \"@/utils/smutil\";\r\nimport {debounce} from \"lodash\";\r\n\r\nexport default {\r\n name: 'Login',\r\n data() {\r\n return {\r\n loginForm: {\r\n // 用户名\r\n username: '',\r\n // 密码\r\n password: '',\r\n // 验证码\r\n verifyCode: ''\r\n },\r\n murmur: '',\r\n verifyuuid: '',\r\n // 计时器对象\r\n timer: null,\r\n // 倒数60秒\r\n counter: 60,\r\n captchaUrl: this.getCaptcha,\r\n captchaText: '',\r\n loginRules: {\r\n /* username: [{ required: true, trigger: 'blur', validator: validateUsername }],\r\n password: [{ required: true, trigger: 'blur', validator: validatePassword }]*/\r\n username: [{required: true, trigger: 'blur', message: '请输入用户名'}],\r\n password: [{required: true, trigger: 'blur', message: '请输入密码'}],\r\n verifyCode: [{required: true, trigger: 'blur', message: '请输入验证码'}, {\r\n min: 4,\r\n max: 4,\r\n message: '请输入4位验证码',\r\n trigger: 'blur'\r\n }]\r\n },\r\n loading: false,\r\n redirect: undefined\r\n }\r\n },\r\n watch: {\r\n $route: {\r\n handler: function (route) {\r\n this.redirect = route.query && route.query.redirect\r\n },\r\n immediate: true\r\n }\r\n },\r\n created() {\r\n (async () => {\r\n const f = await this.getFinger()\r\n // 指纹\r\n this.murmur = f\r\n // 加载验证码\r\n this.getCaptcha()\r\n })();\r\n },\r\n mounted() {\r\n\r\n },\r\n methods: {\r\n getFinger() {\r\n const Fingerprint2 = require('fingerprintjs2')\r\n return new Promise(resolve => {\r\n if (window.requestIdleCallback) {\r\n requestIdleCallback(function () {\r\n Fingerprint2.getV18(function (result) {\r\n resolve(result)\r\n })\r\n })\r\n } else {\r\n setTimeout(function () {\r\n Fingerprint2.getV18(function (result) {\r\n resolve(result)\r\n })\r\n }, 500)\r\n }\r\n })\r\n },\r\n // 获取验证码\r\n getCaptcha: debounce(function () {\r\n var searchParams = {\r\n murmur: this.murmur\r\n }\r\n this.$axios.get('/getVerifyCode',\r\n {params: searchParams}).then((res) => {\r\n console.log(res)\r\n this.verifyuuid = res.data.uuid\r\n this.captchaUrl = 'data:image/gif;base64,' + res.data.imgBase64;\r\n this.captchaText = res.data.captchaText\r\n }).catch((error) => {\r\n console.log('登陆页异常'+error)\r\n })\r\n }, 1000),\r\n updateCaptcha() {\r\n // 更新验证码\r\n this.getCaptcha()\r\n },\r\n handleLogin: debounce(function () {\r\n this.$refs.loginForm.validate(valid => {\r\n if (valid) {\r\n this.loading = true\r\n let verifycodetemp = this.loginForm.verifyCode\r\n if (this.captchaText.toLowerCase() != verifycodetemp.toLowerCase()) {\r\n this.$message.error('验证码录入错误!')\r\n this.updateCaptcha()\r\n this.loading = false\r\n return\r\n }\r\n // const param = new URLSearchParams()\r\n // param.append('username', this.loginForm.username)\r\n // param.append('password', this.loginForm.password)\r\n // param.append('code', this.loginForm.verifyCode)\r\n // param.append('verifyuuid', this.verifyuuid)\r\n // param.append('murmur', this.murmur)\r\n const param = {\r\n username: this.loginForm.username,\r\n password: this.loginForm.password,\r\n code: this.loginForm.verifyCode,\r\n verifyuuid: this.verifyuuid,\r\n murmur: this.murmur\r\n }\r\n this.$axios.post('/user/login', this.$qs.stringify(param)).then((res) => {\r\n localStorage.setItem('jy', res.data.token)\r\n // 清空路由菜单\r\n store.commit('SET_R', [])\r\n this.$router.push('/dashboard')\r\n this.loading = false\r\n }).catch((error) => {\r\n // 登录失败刷新验证码\r\n this.updateCaptcha()\r\n this.loginForm.verifyCode = ''\r\n this.loading = false\r\n })\r\n } else {\r\n console.log('error submit!!')\r\n return false\r\n }\r\n })\r\n }, 1000)\r\n }\r\n}\r\n</script>\r\n\r\n<style rel=\"stylesheet/scss\" lang=\"scss\">\r\n.login {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n height: 100%;\r\n background-image: url(\"../../assets/login.jpg\");\r\n background-size: cover;\r\n\r\n\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n z-index: 10;\r\n zoom: 1;\r\n\r\n background-position: bottom;\r\n\r\n}\r\n\r\n.title {\r\n margin: 0px auto 30px auto;\r\n text-align: center;\r\n color: #707070;\r\n}\r\n\r\n.login-form {\r\n border-radius: 6px;\r\n background: #ffffff;\r\n width: 400px;\r\n padding: 25px 25px 5px 25px;\r\n\r\n .el-input {\r\n height: 38px;\r\n\r\n input {\r\n height: 38px;\r\n }\r\n }\r\n\r\n .input-icon {\r\n height: 39px;\r\n width: 14px;\r\n margin-left: 2px;\r\n }\r\n}\r\n\r\n.login-tip {\r\n font-size: 13px;\r\n text-align: center;\r\n color: #bfbfbf;\r\n}\r\n\r\n.login-code {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 33%;\r\n height: 38px;\r\n float: right;\r\n\r\n img {\r\n cursor: pointer;\r\n vertical-align: middle;\r\n }\r\n}\r\n\r\n.el-login-footer {\r\n height: 40px;\r\n line-height: 40px;\r\n position: fixed;\r\n bottom: 0;\r\n width: 100%;\r\n text-align: center;\r\n color: #fff;\r\n font-family: Arial;\r\n font-size: 12px;\r\n letter-spacing: 1px;\r\n}\r\n\r\n.login-code-img {\r\n height: 38px;\r\n width: 105px;\r\n}\r\n\r\n.mail-box {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 36%;\r\n height: 38px;\r\n float: right;\r\n\r\n img {\r\n cursor: pointer;\r\n vertical-align: middle;\r\n }\r\n}\r\n\r\n</style>\r\n\r\n<!--<style rel=\"stylesheet/scss\" lang=\"scss\" scoped>-->\r\n<!--.no-autofill-pwd{-->\r\n<!-- text-security:disc!important;-->\r\n<!-- -webkit-text-security:disc!important;-->\r\n\r\n<!--}-->\r\n<!--</style>-->\r\n\r\n"],"mappings":"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"}]}