1 line
17 KiB
JSON
1 line
17 KiB
JSON
{"remainingRequest":"D:\\phpstudy_pro\\WWW\\travel\\admin\\node_modules\\babel-loader\\lib\\index.js!D:\\phpstudy_pro\\WWW\\travel\\admin\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\phpstudy_pro\\WWW\\travel\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\phpstudy_pro\\WWW\\travel\\admin\\src\\views\\login\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\phpstudy_pro\\WWW\\travel\\admin\\src\\views\\login\\index.vue","mtime":1718070786056},{"path":"D:\\phpstudy_pro\\WWW\\travel\\admin\\babel.config.js","mtime":1718070785981},{"path":"D:\\phpstudy_pro\\WWW\\travel\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1718764957200},{"path":"D:\\phpstudy_pro\\WWW\\travel\\admin\\node_modules\\babel-loader\\lib\\index.js","mtime":1718764959024},{"path":"D:\\phpstudy_pro\\WWW\\travel\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1718764957200},{"path":"D:\\phpstudy_pro\\WWW\\travel\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":1718764959862}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucmVkdWNlLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LmtleXMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nLmpzIjsKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCB7IHZhbGlkVXNlcm5hbWUgfSBmcm9tICdAL3V0aWxzL3ZhbGlkYXRlJzsKaW1wb3J0IFNvY2lhbFNpZ24gZnJvbSAnLi9jb21wb25lbnRzL1NvY2lhbFNpZ25pbic7CmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAnTG9naW4nLAogIGNvbXBvbmVudHM6IHsKICAgIFNvY2lhbFNpZ246IFNvY2lhbFNpZ24KICB9LAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICB2YXIgdmFsaWRhdGVVc2VybmFtZSA9IGZ1bmN0aW9uIHZhbGlkYXRlVXNlcm5hbWUocnVsZSwgdmFsdWUsIGNhbGxiYWNrKSB7CiAgICAgIGlmICghdmFsaWRVc2VybmFtZSh2YWx1ZSkpIHsKICAgICAgICBjYWxsYmFjayhuZXcgRXJyb3IoJ+ivt+i+k+WFpeeUqOaIt+WQjScpKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjYWxsYmFjaygpOwogICAgICB9CiAgICB9OwogICAgdmFyIHZhbGlkYXRlUGFzc3dvcmQgPSBmdW5jdGlvbiB2YWxpZGF0ZVBhc3N3b3JkKHJ1bGUsIHZhbHVlLCBjYWxsYmFjaykgewogICAgICBpZiAodmFsdWUubGVuZ3RoIDwgNikgewogICAgICAgIGNhbGxiYWNrKG5ldyBFcnJvcign6K+36L6T5YWl5a+G56CBJykpOwogICAgICB9IGVsc2UgewogICAgICAgIGNhbGxiYWNrKCk7CiAgICAgIH0KICAgIH07CiAgICByZXR1cm4gewogICAgICBsb2dpbkZvcm06IHt9LAogICAgICBsb2dpblJ1bGVzOiB7CiAgICAgICAgdXNlcm5hbWU6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIHRyaWdnZXI6ICdibHVyJywKICAgICAgICAgIHZhbGlkYXRvcjogdmFsaWRhdGVVc2VybmFtZQogICAgICAgIH1dLAogICAgICAgIHBhc3N3b3JkOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICB0cmlnZ2VyOiAnYmx1cicsCiAgICAgICAgICB2YWxpZGF0b3I6IHZhbGlkYXRlUGFzc3dvcmQKICAgICAgICB9XQogICAgICB9LAogICAgICBwYXNzd29yZFR5cGU6ICdwYXNzd29yZCcsCiAgICAgIGNhcHNUb29sdGlwOiBmYWxzZSwKICAgICAgbG9hZGluZzogZmFsc2UsCiAgICAgIHJlZGlyZWN0OiB1bmRlZmluZWQsCiAgICAgIG90aGVyUXVlcnk6IHt9CiAgICB9OwogIH0sCiAgd2F0Y2g6IHsKICAgICRyb3V0ZTogewogICAgICBoYW5kbGVyOiBmdW5jdGlvbiBoYW5kbGVyKHJvdXRlKSB7CiAgICAgICAgdmFyIHF1ZXJ5ID0gcm91dGUucXVlcnk7CiAgICAgICAgaWYgKHF1ZXJ5KSB7CiAgICAgICAgICB0aGlzLnJlZGlyZWN0ID0gcXVlcnkucmVkaXJlY3Q7CiAgICAgICAgICB0aGlzLm90aGVyUXVlcnkgPSB0aGlzLmdldE90aGVyUXVlcnkocXVlcnkpOwogICAgICAgIH0KICAgICAgfSwKICAgICAgaW1tZWRpYXRlOiB0cnVlCiAgICB9CiAgfSwKICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkgewogICAgLy8gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3N0b3JhZ2UnLCB0aGlzLmFmdGVyUVJTY2FuKQogIH0sCiAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHsKICAgIGlmICh0aGlzLmxvZ2luRm9ybS51c2VybmFtZSA9PT0gJycpIHsKICAgICAgdGhpcy4kcmVmcy51c2VybmFtZS5mb2N1cygpOwogICAgfSBlbHNlIGlmICh0aGlzLmxvZ2luRm9ybS5wYXNzd29yZCA9PT0gJycpIHsKICAgICAgdGhpcy4kcmVmcy5wYXNzd29yZC5mb2N1cygpOwogICAgfQogIH0sCiAgZGVzdHJveWVkOiBmdW5jdGlvbiBkZXN0cm95ZWQoKSB7CiAgICAvLyB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc3RvcmFnZScsIHRoaXMuYWZ0ZXJRUlNjYW4pCiAgfSwKICBtZXRob2RzOiB7CiAgICBjaGVja0NhcHNsb2NrOiBmdW5jdGlvbiBjaGVja0NhcHNsb2NrKGUpIHsKICAgICAgdmFyIGtleSA9IGUua2V5OwogICAgICB0aGlzLmNhcHNUb29sdGlwID0ga2V5ICYmIGtleS5sZW5ndGggPT09IDEgJiYga2V5ID49ICdBJyAmJiBrZXkgPD0gJ1onOwogICAgfSwKICAgIHNob3dQd2Q6IGZ1bmN0aW9uIHNob3dQd2QoKSB7CiAgICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICAgIGlmICh0aGlzLnBhc3N3b3JkVHlwZSA9PT0gJ3Bhc3N3b3JkJykgewogICAgICAgIHRoaXMucGFzc3dvcmRUeXBlID0gJyc7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5wYXNzd29yZFR5cGUgPSAncGFzc3dvcmQnOwogICAgICB9CiAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHsKICAgICAgICBfdGhpcy4kcmVmcy5wYXNzd29yZC5mb2N1cygpOwogICAgICB9KTsKICAgIH0sCiAgICBoYW5kbGVMb2dpbjogZnVuY3Rpb24gaGFuZGxlTG9naW4oKSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwogICAgICB0aGlzLiRyZWZzLmxvZ2luRm9ybS52YWxpZGF0ZShmdW5jdGlvbiAodmFsaWQpIHsKICAgICAgICBpZiAodmFsaWQpIHsKICAgICAgICAgIF90aGlzMi5sb2FkaW5nID0gdHJ1ZTsKICAgICAgICAgIF90aGlzMi4kc3RvcmUuZGlzcGF0Y2goJ3VzZXIvbG9naW4nLCBfdGhpczIubG9naW5Gb3JtKS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgX3RoaXMyLiRyb3V0ZXIucHVzaCh7CiAgICAgICAgICAgICAgcGF0aDogX3RoaXMyLnJlZGlyZWN0IHx8ICcvJywKICAgICAgICAgICAgICBxdWVyeTogX3RoaXMyLm90aGVyUXVlcnkKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIF90aGlzMi5sb2FkaW5nID0gZmFsc2U7CiAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIF90aGlzMi5sb2FkaW5nID0gZmFsc2U7CiAgICAgICAgICB9KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgY29uc29sZS5sb2coJ2Vycm9yIHN1Ym1pdCEhJyk7CiAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICBnZXRPdGhlclF1ZXJ5OiBmdW5jdGlvbiBnZXRPdGhlclF1ZXJ5KHF1ZXJ5KSB7CiAgICAgIHJldHVybiBPYmplY3Qua2V5cyhxdWVyeSkucmVkdWNlKGZ1bmN0aW9uIChhY2MsIGN1cikgewogICAgICAgIGlmIChjdXIgIT09ICdyZWRpcmVjdCcpIHsKICAgICAgICAgIGFjY1tjdXJdID0gcXVlcnlbY3VyXTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGFjYzsKICAgICAgfSwge30pOwogICAgfSAvLyBhZnRlclFSU2NhbigpIHsKICAgIC8vICAgaWYgKGUua2V5ID09PSAneC1hZG1pbi1vYXV0aC1jb2RlJykgewogICAgLy8gICAgIGNvbnN0IGNvZGUgPSBnZXRRdWVyeU9iamVjdChlLm5ld1ZhbHVlKQogICAgLy8gICAgIGNvbnN0IGNvZGVNYXAgPSB7CiAgICAvLyAgICAgICB3ZWNoYXQ6ICdjb2RlJywKICAgIC8vICAgICAgIHRlbmNlbnQ6ICdjb2RlJwogICAgLy8gICAgIH0KICAgIC8vICAgICBjb25zdCB0eXBlID0gY29kZU1hcFt0aGlzLmF1dGhfdHlwZV0KICAgIC8vICAgICBjb25zdCBjb2RlTmFtZSA9IGNvZGVbdHlwZV0KICAgIC8vICAgICBpZiAoY29kZU5hbWUpIHsKICAgIC8vICAgICAgIHRoaXMuJHN0b3JlLmRpc3BhdGNoKCdMb2dpbkJ5VGhpcmRwYXJ0eScsIGNvZGVOYW1lKS50aGVuKCgpID0+IHsKICAgIC8vICAgICAgICAgdGhpcy4kcm91dGVyLnB1c2goeyBwYXRoOiB0aGlzLnJlZGlyZWN0IHx8ICcvJyB9KQogICAgLy8gICAgICAgfSkKICAgIC8vICAgICB9IGVsc2UgewogICAgLy8gICAgICAgYWxlcnQoJ+esrOS4ieaWueeZu+W9leWksei0pScpCiAgICAvLyAgICAgfQogICAgLy8gICB9CiAgICAvLyB9CiAgfQp9Ow=="},{"version":3,"names":["validUsername","SocialSign","name","components","data","validateUsername","rule","value","callback","Error","validatePassword","length","loginForm","loginRules","username","required","trigger","validator","password","passwordType","capsTooltip","loading","redirect","undefined","otherQuery","watch","$route","handler","route","query","getOtherQuery","immediate","created","mounted","$refs","focus","destroyed","methods","checkCapslock","e","key","showPwd","_this","$nextTick","handleLogin","_this2","validate","valid","$store","dispatch","then","$router","push","path","catch","console","log","Object","keys","reduce","acc","cur"],"sources":["src/views/login/index.vue"],"sourcesContent":["<template>\r\n <div class=\"login-container\">\r\n <el-form ref=\"loginForm\" :model=\"loginForm\" :rules=\"loginRules\" class=\"login-form\" autocomplete=\"on\" label-position=\"left\">\r\n\r\n <div class=\"title-container\">\r\n <h3 class=\"title\">登陆订单中心</h3>\r\n </div>\r\n\r\n <el-form-item prop=\"username\">\r\n <span class=\"svg-container\">\r\n <svg-icon icon-class=\"user\" />\r\n </span>\r\n <el-input\r\n ref=\"username\"\r\n v-model=\"loginForm.username\"\r\n placeholder=\"Username\"\r\n name=\"username\"\r\n type=\"text\"\r\n tabindex=\"1\"\r\n autocomplete=\"on\"\r\n />\r\n </el-form-item>\r\n\r\n <el-tooltip v-model=\"capsTooltip\" content=\"Caps lock is On\" placement=\"right\" manual>\r\n <el-form-item prop=\"password\">\r\n <span class=\"svg-container\">\r\n <svg-icon icon-class=\"password\" />\r\n </span>\r\n <el-input\r\n :key=\"passwordType\"\r\n ref=\"password\"\r\n v-model=\"loginForm.password\"\r\n :type=\"passwordType\"\r\n placeholder=\"Password\"\r\n name=\"password\"\r\n tabindex=\"2\"\r\n autocomplete=\"on\"\r\n @keyup.native=\"checkCapslock\"\r\n @blur=\"capsTooltip = false\"\r\n @keyup.enter.native=\"handleLogin\"\r\n />\r\n <span class=\"show-pwd\" @click=\"showPwd\">\r\n <svg-icon :icon-class=\"passwordType === 'password' ? 'eye' : 'eye-open'\" />\r\n </span>\r\n </el-form-item>\r\n </el-tooltip>\r\n\r\n <el-button :loading=\"loading\" type=\"primary\" style=\"width:100%;margin-bottom:30px;\" @click.native.prevent=\"handleLogin\">登录</el-button>\r\n </el-form>\r\n\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { validUsername } from '@/utils/validate'\r\nimport SocialSign from './components/SocialSignin'\r\n\r\nexport default {\r\n name: 'Login',\r\n components: { SocialSign },\r\n data() {\r\n const validateUsername = (rule, value, callback) => {\r\n if (!validUsername(value)) {\r\n callback(new Error('请输入用户名'))\r\n } else {\r\n callback()\r\n }\r\n }\r\n const validatePassword = (rule, value, callback) => {\r\n if (value.length < 6) {\r\n callback(new Error('请输入密码'))\r\n } else {\r\n callback()\r\n }\r\n }\r\n return {\r\n loginForm: {\r\n },\r\n loginRules: {\r\n username: [{ required: true, trigger: 'blur', validator: validateUsername }],\r\n password: [{ required: true, trigger: 'blur', validator: validatePassword }]\r\n },\r\n passwordType: 'password',\r\n capsTooltip: false,\r\n loading: false,\r\n redirect: undefined,\r\n otherQuery: {}\r\n }\r\n },\r\n watch: {\r\n $route: {\r\n handler: function(route) {\r\n const query = route.query\r\n if (query) {\r\n this.redirect = query.redirect\r\n this.otherQuery = this.getOtherQuery(query)\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n created() {\r\n // window.addEventListener('storage', this.afterQRScan)\r\n },\r\n mounted() {\r\n if (this.loginForm.username === '') {\r\n this.$refs.username.focus()\r\n } else if (this.loginForm.password === '') {\r\n this.$refs.password.focus()\r\n }\r\n },\r\n destroyed() {\r\n // window.removeEventListener('storage', this.afterQRScan)\r\n },\r\n methods: {\r\n checkCapslock(e) {\r\n const { key } = e\r\n this.capsTooltip = key && key.length === 1 && (key >= 'A' && key <= 'Z')\r\n },\r\n showPwd() {\r\n if (this.passwordType === 'password') {\r\n this.passwordType = ''\r\n } else {\r\n this.passwordType = 'password'\r\n }\r\n this.$nextTick(() => {\r\n this.$refs.password.focus()\r\n })\r\n },\r\n handleLogin() {\r\n this.$refs.loginForm.validate(valid => {\r\n if (valid) {\r\n this.loading = true\r\n this.$store.dispatch('user/login', this.loginForm)\r\n .then(() => {\r\n this.$router.push({ path: this.redirect || '/', query: this.otherQuery })\r\n this.loading = false\r\n })\r\n .catch(() => {\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 },\r\n getOtherQuery(query) {\r\n return Object.keys(query).reduce((acc, cur) => {\r\n if (cur !== 'redirect') {\r\n acc[cur] = query[cur]\r\n }\r\n return acc\r\n }, {})\r\n }\r\n // afterQRScan() {\r\n // if (e.key === 'x-admin-oauth-code') {\r\n // const code = getQueryObject(e.newValue)\r\n // const codeMap = {\r\n // wechat: 'code',\r\n // tencent: 'code'\r\n // }\r\n // const type = codeMap[this.auth_type]\r\n // const codeName = code[type]\r\n // if (codeName) {\r\n // this.$store.dispatch('LoginByThirdparty', codeName).then(() => {\r\n // this.$router.push({ path: this.redirect || '/' })\r\n // })\r\n // } else {\r\n // alert('第三方登录失败')\r\n // }\r\n // }\r\n // }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n/* 修复input 背景不协调 和光标变色 */\r\n/* Detail see https://github.com/PanJiaChen/vue-element-admin/pull/927 */\r\n\r\n$bg:#283443;\r\n$light_gray:#fff;\r\n$cursor: #fff;\r\n\r\n@supports (-webkit-mask: none) and (not (cater-color: $cursor)) {\r\n .login-container .el-input input {\r\n color: $cursor;\r\n }\r\n}\r\n\r\n/* reset element-ui css */\r\n.login-container {\r\n .el-input {\r\n display: inline-block;\r\n height: 47px;\r\n width: 85%;\r\n\r\n input {\r\n background: transparent;\r\n border: 0px;\r\n -webkit-appearance: none;\r\n border-radius: 0px;\r\n padding: 12px 5px 12px 15px;\r\n color: $light_gray;\r\n height: 47px;\r\n caret-color: $cursor;\r\n\r\n &:-webkit-autofill {\r\n box-shadow: 0 0 0px 1000px $bg inset !important;\r\n -webkit-text-fill-color: $cursor !important;\r\n }\r\n }\r\n }\r\n\r\n .el-form-item {\r\n border: 1px solid rgba(255, 255, 255, 0.1);\r\n background: rgba(0, 0, 0, 0.1);\r\n border-radius: 5px;\r\n color: #454545;\r\n }\r\n}\r\n</style>\r\n\r\n<style lang=\"scss\" scoped>\r\n$bg:#2d3a4b;\r\n$dark_gray:#889aa4;\r\n$light_gray:#eee;\r\n\r\n.login-container {\r\n min-height: 100%;\r\n width: 100%;\r\n background-color: $bg;\r\n overflow: hidden;\r\n\r\n .login-form {\r\n position: relative;\r\n width: 520px;\r\n max-width: 100%;\r\n padding: 160px 35px 0;\r\n margin: 0 auto;\r\n overflow: hidden;\r\n }\r\n\r\n .tips {\r\n font-size: 14px;\r\n color: #fff;\r\n margin-bottom: 10px;\r\n\r\n span {\r\n &:first-of-type {\r\n margin-right: 16px;\r\n }\r\n }\r\n }\r\n\r\n .svg-container {\r\n padding: 6px 5px 6px 15px;\r\n color: $dark_gray;\r\n vertical-align: middle;\r\n width: 30px;\r\n display: inline-block;\r\n }\r\n\r\n .title-container {\r\n position: relative;\r\n\r\n .title {\r\n font-size: 26px;\r\n color: $light_gray;\r\n margin: 0px auto 40px auto;\r\n text-align: center;\r\n font-weight: bold;\r\n }\r\n }\r\n\r\n .show-pwd {\r\n position: absolute;\r\n right: 10px;\r\n top: 7px;\r\n font-size: 16px;\r\n color: $dark_gray;\r\n cursor: pointer;\r\n user-select: none;\r\n }\r\n\r\n .thirdparty-button {\r\n position: absolute;\r\n right: 0;\r\n bottom: 6px;\r\n }\r\n\r\n @media only screen and (max-width: 470px) {\r\n .thirdparty-button {\r\n display: none;\r\n }\r\n }\r\n}\r\n</style>\r\n"],"mappings":"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","ignoreList":[]}]} |