forked from liweijie/education
1 line
14 KiB
JSON
1 line
14 KiB
JSON
{"remainingRequest":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\babel-loader\\lib\\index.js!C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\views\\login.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\views\\login.vue","mtime":1787567871617},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\babel-loader\\lib\\index.js","mtime":1787309793142},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js","mtime":1787309793790},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\babel.config.js","mtime":1787567871334},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\babel-loader\\lib\\index.js","mtime":1787309793142},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js","mtime":1787309793790}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKCJDOi9Vc2Vycy9BZG1pbi9EZXNrdG9wL2VkdWNhdGlvbi9mcm9udGVuZC9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHQuanMiKS5kZWZhdWx0OwpPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgIl9fZXNNb2R1bGUiLCB7CiAgdmFsdWU6IHRydWUKfSk7CmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnB1c2guanMiKTsKdmFyIF9qc0Nvb2tpZSA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZSgianMtY29va2llIikpOwp2YXIgX2pzZW5jcnlwdCA9IHJlcXVpcmUoIkAvdXRpbHMvanNlbmNyeXB0Iik7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCnZhciBfZGVmYXVsdCA9IGV4cG9ydHMuZGVmYXVsdCA9IHsKICBuYW1lOiAiTG9naW4iLAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICB0aXRsZTogcHJvY2Vzcy5lbnYuVlVFX0FQUF9USVRMRSwKICAgICAgZm9vdGVyQ29udGVudDogIkNvcHlyaWdodCDCqSAyMDE4LTIwMjYgcm9vbXJvb3QuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuIiwKICAgICAgbG9naW5Gb3JtOiB7CiAgICAgICAgdXNlcm5hbWU6ICJhZG1pbiIsCiAgICAgICAgcGFzc3dvcmQ6ICJhZG1pbjEyMyIsCiAgICAgICAgcmVtZW1iZXJNZTogZmFsc2UKICAgICAgfSwKICAgICAgbG9naW5SdWxlczogewogICAgICAgIHVzZXJuYW1lOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICB0cmlnZ2VyOiAiYmx1ciIsCiAgICAgICAgICBtZXNzYWdlOiAi6K+36L6T5YWl5oKo55qE6LSm5Y+3IgogICAgICAgIH1dLAogICAgICAgIHBhc3N3b3JkOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICB0cmlnZ2VyOiAiYmx1ciIsCiAgICAgICAgICBtZXNzYWdlOiAi6K+36L6T5YWl5oKo55qE5a+G56CBIgogICAgICAgIH1dCiAgICAgIH0sCiAgICAgIGxvYWRpbmc6IGZhbHNlLAogICAgICAvLyDms6jlhozlvIDlhbMKICAgICAgcmVnaXN0ZXI6IGZhbHNlLAogICAgICByZWRpcmVjdDogdW5kZWZpbmVkCiAgICB9OwogIH0sCiAgd2F0Y2g6IHsKICAgICRyb3V0ZTogewogICAgICBoYW5kbGVyOiBmdW5jdGlvbiBoYW5kbGVyKHJvdXRlKSB7CiAgICAgICAgdGhpcy5yZWRpcmVjdCA9IHJvdXRlLnF1ZXJ5ICYmIHJvdXRlLnF1ZXJ5LnJlZGlyZWN0OwogICAgICB9LAogICAgICBpbW1lZGlhdGU6IHRydWUKICAgIH0KICB9LAogIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQoKSB7CiAgICB0aGlzLmdldENvb2tpZSgpOwogIH0sCiAgbWV0aG9kczogewogICAgZ2V0Q29va2llOiBmdW5jdGlvbiBnZXRDb29raWUoKSB7CiAgICAgIHZhciB1c2VybmFtZSA9IF9qc0Nvb2tpZS5kZWZhdWx0LmdldCgidXNlcm5hbWUiKTsKICAgICAgdmFyIHBhc3N3b3JkID0gX2pzQ29va2llLmRlZmF1bHQuZ2V0KCJwYXNzd29yZCIpOwogICAgICB2YXIgcmVtZW1iZXJNZSA9IF9qc0Nvb2tpZS5kZWZhdWx0LmdldCgncmVtZW1iZXJNZScpOwogICAgICB0aGlzLmxvZ2luRm9ybSA9IHsKICAgICAgICB1c2VybmFtZTogdXNlcm5hbWUgPT09IHVuZGVmaW5lZCA/IHRoaXMubG9naW5Gb3JtLnVzZXJuYW1lIDogdXNlcm5hbWUsCiAgICAgICAgcGFzc3dvcmQ6IHBhc3N3b3JkID09PSB1bmRlZmluZWQgPyB0aGlzLmxvZ2luRm9ybS5wYXNzd29yZCA6ICgwLCBfanNlbmNyeXB0LmRlY3J5cHQpKHBhc3N3b3JkKSwKICAgICAgICByZW1lbWJlck1lOiByZW1lbWJlck1lID09PSB1bmRlZmluZWQgPyBmYWxzZSA6IEJvb2xlYW4ocmVtZW1iZXJNZSkKICAgICAgfTsKICAgIH0sCiAgICBoYW5kbGVMb2dpbjogZnVuY3Rpb24gaGFuZGxlTG9naW4oKSB7CiAgICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICAgIHRoaXMuJHJlZnMubG9naW5Gb3JtLnZhbGlkYXRlKGZ1bmN0aW9uICh2YWxpZCkgewogICAgICAgIGlmICh2YWxpZCkgewogICAgICAgICAgX3RoaXMubG9hZGluZyA9IHRydWU7CiAgICAgICAgICBpZiAoX3RoaXMubG9naW5Gb3JtLnJlbWVtYmVyTWUpIHsKICAgICAgICAgICAgX2pzQ29va2llLmRlZmF1bHQuc2V0KCJ1c2VybmFtZSIsIF90aGlzLmxvZ2luRm9ybS51c2VybmFtZSwgewogICAgICAgICAgICAgIGV4cGlyZXM6IDMwCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBfanNDb29raWUuZGVmYXVsdC5zZXQoInBhc3N3b3JkIiwgKDAsIF9qc2VuY3J5cHQuZW5jcnlwdCkoX3RoaXMubG9naW5Gb3JtLnBhc3N3b3JkKSwgewogICAgICAgICAgICAgIGV4cGlyZXM6IDMwCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBfanNDb29raWUuZGVmYXVsdC5zZXQoJ3JlbWVtYmVyTWUnLCBfdGhpcy5sb2dpbkZvcm0ucmVtZW1iZXJNZSwgewogICAgICAgICAgICAgIGV4cGlyZXM6IDMwCiAgICAgICAgICAgIH0pOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgX2pzQ29va2llLmRlZmF1bHQucmVtb3ZlKCJ1c2VybmFtZSIpOwogICAgICAgICAgICBfanNDb29raWUuZGVmYXVsdC5yZW1vdmUoInBhc3N3b3JkIik7CiAgICAgICAgICAgIF9qc0Nvb2tpZS5kZWZhdWx0LnJlbW92ZSgncmVtZW1iZXJNZScpOwogICAgICAgICAgfQogICAgICAgICAgdmFyIGxvZ2luRGF0YSA9IHsKICAgICAgICAgICAgdXNlcm5hbWU6IF90aGlzLmxvZ2luRm9ybS51c2VybmFtZSwKICAgICAgICAgICAgcGFzc3dvcmQ6IF90aGlzLmxvZ2luRm9ybS5wYXNzd29yZAogICAgICAgICAgfTsKICAgICAgICAgIF90aGlzLiRzdG9yZS5kaXNwYXRjaCgiTG9naW4iLCBsb2dpbkRhdGEpLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgICBfdGhpcy4kcm91dGVyLnB1c2goewogICAgICAgICAgICAgIHBhdGg6IF90aGlzLnJlZGlyZWN0IHx8ICIvIgogICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7fSk7CiAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIF90aGlzLmxvYWRpbmcgPSBmYWxzZTsKICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9CiAgfQp9Ow=="},{"version":3,"names":["_jsCookie","_interopRequireDefault","require","_jsencrypt","name","data","title","process","env","VUE_APP_TITLE","footerContent","loginForm","username","password","rememberMe","loginRules","required","trigger","message","loading","register","redirect","undefined","watch","$route","handler","route","query","immediate","created","getCookie","methods","Cookies","get","decrypt","Boolean","handleLogin","_this","$refs","validate","valid","set","expires","encrypt","remove","loginData","$store","dispatch","then","$router","push","path","catch"],"sources":["src/views/login.vue"],"sourcesContent":["<template>\r\n <div class=\"login\">\r\n <el-form ref=\"loginForm\" :model=\"loginForm\" :rules=\"loginRules\" class=\"login-form\">\r\n <h3 class=\"title\">{{title}}</h3>\r\n <el-form-item prop=\"username\">\r\n <el-input\r\n v-model=\"loginForm.username\"\r\n type=\"text\"\r\n auto-complete=\"off\"\r\n placeholder=\"账号\"\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\">\r\n <el-input\r\n v-model=\"loginForm.password\"\r\n type=\"password\"\r\n auto-complete=\"off\"\r\n placeholder=\"密码\"\r\n @keyup.enter.native=\"handleLogin\"\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 <el-checkbox v-model=\"loginForm.rememberMe\" style=\"margin:0px 0px 25px 0px;\">记住密码</el-checkbox>\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 <div style=\"float: right;\" v-if=\"register\">\r\n <router-link class=\"link-type\" :to=\"'/register'\">立即注册</router-link>\r\n </div>\r\n </el-form-item>\r\n </el-form>\r\n <!-- 底部 -->\r\n <div class=\"el-login-footer\">\r\n <span>{{ footerContent }}</span>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport Cookies from \"js-cookie\"\r\nimport { encrypt, decrypt } from '@/utils/jsencrypt'\r\n\r\nexport default {\r\n name: \"Login\",\r\n data() {\r\n return {\r\n title: process.env.VUE_APP_TITLE,\r\n footerContent: \"Copyright © 2018-2026 roomroot. All Rights Reserved.\",\r\n loginForm: {\r\n username: \"admin\",\r\n password: \"admin123\",\r\n rememberMe: false\r\n },\r\n loginRules: {\r\n username: [\r\n { required: true, trigger: \"blur\", message: \"请输入您的账号\" }\r\n ],\r\n password: [\r\n { required: true, trigger: \"blur\", message: \"请输入您的密码\" }\r\n ]\r\n },\r\n loading: false,\r\n // 注册开关\r\n register: 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 this.getCookie()\r\n },\r\n methods: {\r\n getCookie() {\r\n const username = Cookies.get(\"username\")\r\n const password = Cookies.get(\"password\")\r\n const rememberMe = Cookies.get('rememberMe')\r\n this.loginForm = {\r\n username: username === undefined ? this.loginForm.username : username,\r\n password: password === undefined ? this.loginForm.password : decrypt(password),\r\n rememberMe: rememberMe === undefined ? false : Boolean(rememberMe)\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 if (this.loginForm.rememberMe) {\r\n Cookies.set(\"username\", this.loginForm.username, { expires: 30 })\r\n Cookies.set(\"password\", encrypt(this.loginForm.password), { expires: 30 })\r\n Cookies.set('rememberMe', this.loginForm.rememberMe, { expires: 30 })\r\n } else {\r\n Cookies.remove(\"username\")\r\n Cookies.remove(\"password\")\r\n Cookies.remove('rememberMe')\r\n }\r\n const loginData = {\r\n username: this.loginForm.username,\r\n password: this.loginForm.password\r\n }\r\n this.$store.dispatch(\"Login\", loginData).then(() => {\r\n this.$router.push({ path: this.redirect || \"/\" }).catch(()=>{})\r\n }).catch(() => {\r\n this.loading = false\r\n })\r\n }\r\n })\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style rel=\"stylesheet/scss\" lang=\"scss\" scoped>\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/images/login-background.jpg\");\r\n background-size: cover;\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 z-index: 1;\r\n .el-input {\r\n height: 38px;\r\n input {\r\n height: 38px;\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.login-tip {\r\n font-size: 13px;\r\n text-align: center;\r\n color: #bfbfbf;\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</style>\r\n"],"mappings":";;;;;;;;AAkDA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAEA;EACAE,IAAA;EACAC,IAAA,WAAAA,KAAA;IACA;MACAC,KAAA,EAAAC,OAAA,CAAAC,GAAA,CAAAC,aAAA;MACAC,aAAA;MACAC,SAAA;QACAC,QAAA;QACAC,QAAA;QACAC,UAAA;MACA;MACAC,UAAA;QACAH,QAAA,GACA;UAAAI,QAAA;UAAAC,OAAA;UAAAC,OAAA;QAAA,EACA;QACAL,QAAA,GACA;UAAAG,QAAA;UAAAC,OAAA;UAAAC,OAAA;QAAA;MAEA;MACAC,OAAA;MACA;MACAC,QAAA;MACAC,QAAA,EAAAC;IACA;EACA;EACAC,KAAA;IACAC,MAAA;MACAC,OAAA,WAAAA,QAAAC,KAAA;QACA,KAAAL,QAAA,GAAAK,KAAA,CAAAC,KAAA,IAAAD,KAAA,CAAAC,KAAA,CAAAN,QAAA;MACA;MACAO,SAAA;IACA;EACA;EACAC,OAAA,WAAAA,QAAA;IACA,KAAAC,SAAA;EACA;EACAC,OAAA;IACAD,SAAA,WAAAA,UAAA;MACA,IAAAlB,QAAA,GAAAoB,iBAAA,CAAAC,GAAA;MACA,IAAApB,QAAA,GAAAmB,iBAAA,CAAAC,GAAA;MACA,IAAAnB,UAAA,GAAAkB,iBAAA,CAAAC,GAAA;MACA,KAAAtB,SAAA;QACAC,QAAA,EAAAA,QAAA,KAAAU,SAAA,QAAAX,SAAA,CAAAC,QAAA,GAAAA,QAAA;QACAC,QAAA,EAAAA,QAAA,KAAAS,SAAA,QAAAX,SAAA,CAAAE,QAAA,OAAAqB,kBAAA,EAAArB,QAAA;QACAC,UAAA,EAAAA,UAAA,KAAAQ,SAAA,WAAAa,OAAA,CAAArB,UAAA;MACA;IACA;IACAsB,WAAA,WAAAA,YAAA;MAAA,IAAAC,KAAA;MACA,KAAAC,KAAA,CAAA3B,SAAA,CAAA4B,QAAA,WAAAC,KAAA;QACA,IAAAA,KAAA;UACAH,KAAA,CAAAlB,OAAA;UACA,IAAAkB,KAAA,CAAA1B,SAAA,CAAAG,UAAA;YACAkB,iBAAA,CAAAS,GAAA,aAAAJ,KAAA,CAAA1B,SAAA,CAAAC,QAAA;cAAA8B,OAAA;YAAA;YACAV,iBAAA,CAAAS,GAAA,iBAAAE,kBAAA,EAAAN,KAAA,CAAA1B,SAAA,CAAAE,QAAA;cAAA6B,OAAA;YAAA;YACAV,iBAAA,CAAAS,GAAA,eAAAJ,KAAA,CAAA1B,SAAA,CAAAG,UAAA;cAAA4B,OAAA;YAAA;UACA;YACAV,iBAAA,CAAAY,MAAA;YACAZ,iBAAA,CAAAY,MAAA;YACAZ,iBAAA,CAAAY,MAAA;UACA;UACA,IAAAC,SAAA;YACAjC,QAAA,EAAAyB,KAAA,CAAA1B,SAAA,CAAAC,QAAA;YACAC,QAAA,EAAAwB,KAAA,CAAA1B,SAAA,CAAAE;UACA;UACAwB,KAAA,CAAAS,MAAA,CAAAC,QAAA,UAAAF,SAAA,EAAAG,IAAA;YACAX,KAAA,CAAAY,OAAA,CAAAC,IAAA;cAAAC,IAAA,EAAAd,KAAA,CAAAhB,QAAA;YAAA,GAAA+B,KAAA;UACA,GAAAA,KAAA;YACAf,KAAA,CAAAlB,OAAA;UACA;QACA;MACA;IACA;EACA;AACA","ignoreList":[]}]} |