You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
13 KiB

{"remainingRequest":"D:\\code\\vue\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\code\\vue\\admin\\src\\views\\login.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\code\\vue\\admin\\src\\views\\login.vue","mtime":1749055039500},{"path":"D:\\code\\vue\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\code\\vue\\admin\\node_modules\\babel-loader\\lib\\index.js","mtime":499162500000},{"path":"D:\\code\\vue\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\code\\vue\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgbWVudSBmcm9tICJAL3V0aWxzL21lbnUiOw0KZXhwb3J0IGRlZmF1bHQgew0KICBkYXRhKCkgew0KICAgIHJldHVybiB7DQoJCXZlcmlmeUNoZWNrMjogZmFsc2UsDQoJCWZsYWc6IGZhbHNlLA0KICAgICAgYmFzZVVybDp0aGlzLiRiYXNlLnVybCwNCiAgICAgIGxvZ2luVHlwZTogMSwNCiAgICAgIHJ1bGVzRm9ybTogew0KICAgICAgICB1c2VybmFtZTogIiIsDQogICAgICAgIHBhc3N3b3JkOiAiIiwNCiAgICAgICAgcm9sZTogIiIsDQogICAgICB9LA0KICAgICAgbWVudXM6IFtdLA0KICAgICAgcm9sZXM6IFtdLA0KICAgICAgdGFibGVOYW1lOiAiIiwNCiAgICB9Ow0KICB9LA0KICBtb3VudGVkKCkgew0KICAgIGxldCBtZW51cyA9IG1lbnUubGlzdCgpOw0KICAgIHRoaXMubWVudXMgPSBtZW51czsNCg0KICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5tZW51cy5sZW5ndGg7IGkrKykgew0KICAgICAgaWYgKHRoaXMubWVudXNbaV0uaGFzQmFja0xvZ2luPT0n5pivJykgew0KICAgICAgICB0aGlzLnJvbGVzLnB1c2godGhpcy5tZW51c1tpXSkNCiAgICAgIH0NCiAgICB9DQoNCiAgfSwNCiAgY3JlYXRlZCgpIHsNCg0KICB9LA0KICBkZXN0cm95ZWQoKSB7DQoJICAgIH0sDQogIGNvbXBvbmVudHM6IHsNCiAgfSwNCiAgbWV0aG9kczogew0KDQogICAgLy/ms6jlhowNCiAgICByZWdpc3Rlcih0YWJsZU5hbWUpew0KCQl0aGlzLiRzdG9yYWdlLnNldCgibG9naW5UYWJsZSIsIHRhYmxlTmFtZSk7DQoJCXRoaXMuJHJvdXRlci5wdXNoKHtwYXRoOicvcmVnaXN0ZXInLHF1ZXJ5OntwYWdlRmxhZzoncmVnaXN0ZXInfX0pDQogICAgfSwNCiAgICAvLyDnmbvpmYYNCiAgICBsb2dpbigpIHsNCg0KCQlpZiAoIXRoaXMucnVsZXNGb3JtLnVzZXJuYW1lKSB7DQoJCQl0aGlzLiRtZXNzYWdlLmVycm9yKCLor7fovpPlhaXnlKjmiLflkI0iKTsNCgkJCXJldHVybjsNCgkJfQ0KCQlpZiAoIXRoaXMucnVsZXNGb3JtLnBhc3N3b3JkKSB7DQoJCQl0aGlzLiRtZXNzYWdlLmVycm9yKCLor7fovpPlhaXlr4bnoIEiKTsNCgkJCXJldHVybjsNCgkJfQ0KCQlpZih0aGlzLnJvbGVzLmxlbmd0aD4xKSB7DQoJCQlpZiAoIXRoaXMucnVsZXNGb3JtLnJvbGUpIHsNCgkJCQl0aGlzLiRtZXNzYWdlLmVycm9yKCLor7fpgInmi6nop5LoibIiKTsNCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCWxldCBtZW51cyA9IHRoaXMubWVudXM7DQoJCQlmb3IgKGxldCBpID0gMDsgaSA8IG1lbnVzLmxlbmd0aDsgaSsrKSB7DQoJCQkJaWYgKG1lbnVzW2ldLnJvbGVOYW1lID09IHRoaXMucnVsZXNGb3JtLnJvbGUpIHsNCgkJCQkJdGhpcy50YWJsZU5hbWUgPSBtZW51c1tpXS50YWJsZU5hbWU7DQoJCQkJfQ0KCQkJfQ0KCQl9IGVsc2Ugew0KCQkJdGhpcy50YWJsZU5hbWUgPSB0aGlzLnJvbGVzWzBdLnRhYmxlTmFtZTsNCgkJCXRoaXMucnVsZXNGb3JtLnJvbGUgPSB0aGlzLnJvbGVzWzBdLnJvbGVOYW1lOw0KCQl9DQoJCQ0KCQl0aGlzLmxvZ2luUG9zdCgpDQogICAgfSwNCglsb2dpblBvc3QoKSB7DQoJCXRoaXMuJGh0dHAoew0KCQkJdXJsOiBgJHt0aGlzLnRhYmxlTmFtZX0vbG9naW4/dXNlcm5hbWU9JHt0aGlzLnJ1bGVzRm9ybS51c2VybmFtZX0mcGFzc3dvcmQ9JHt0aGlzLnJ1bGVzRm9ybS5wYXNzd29yZH1gLA0KCQkJbWV0aG9kOiAicG9zdCINCgkJfSkudGhlbigoeyBkYXRhIH0pID0+IHsNCgkJCWlmIChkYXRhICYmIGRhdGEuY29kZSA9PT0gMCkgew0KCQkJCXRoaXMuJHN0b3JhZ2Uuc2V0KCJUb2tlbiIsIGRhdGEudG9rZW4pOw0KCQkJCXRoaXMuJHN0b3JhZ2Uuc2V0KCJyb2xlIiwgdGhpcy5ydWxlc0Zvcm0ucm9sZSk7DQoJCQkJdGhpcy4kc3RvcmFnZS5zZXQoInNlc3Npb25UYWJsZSIsIHRoaXMudGFibGVOYW1lKTsNCgkJCQl0aGlzLiRzdG9yYWdlLnNldCgiYWRtaW5OYW1lIiwgdGhpcy5ydWxlc0Zvcm0udXNlcm5hbWUpOw0KCQkJCXRoaXMuJHJvdXRlci5yZXBsYWNlKHsgcGF0aDogIi8iIH0pOw0KCQkJfSBlbHNlIHsNCgkJCQl0aGlzLiRtZXNzYWdlLmVycm9yKGRhdGEubXNnKTsNCgkJCX0NCgkJfSk7DQoJfSwNCiAgfQ0KfQ0K"},{"version":3,"sources":["login.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"login.vue","sourceRoot":"src/views","sourcesContent":["<template>\r\n <div>\r\n <div class=\"container\" :style='{\"minHeight\":\"100vh\",\"alignItems\":\"center\",\"background\":\"url(http://codegen.caihongy.cn/20230930/02567f8bbf29475095a68adeb32aa995.jpg)\",\"display\":\"flex\",\"width\":\"100%\",\"backgroundSize\":\"100% 100%\",\"backgroundPosition\":\"center center\",\"backgroundRepeat\":\"no-repeat\",\"justifyContent\":\"center\"}'>\r\n <el-form :style='{\"border\":\"0px solid #f6f6f6\",\"minHeight\":\"620px\",\"padding\":\"30px 5% 30px 45%\",\"margin\":\"50px auto 50px\",\"borderRadius\":\"0px\",\"textAlign\":\"center\",\"flexWrap\":\"wrap\",\"background\":\"url(http://codegen.caihongy.cn/20230930/f52d5a109d7248d69a33749b059f901d.jpg) no-repeat left center / 50% 101%,#fff\",\"display\":\"flex\",\"width\":\"75%\",\"fontSize\":\"14px\",\"height\":\"auto\"}'>\r\n <div v-if=\"true\" :style='{\"padding\":\"0px\",\"margin\":\"0px auto 10px\",\"borderColor\":\"#ddd\",\"color\":\"#57759b\",\"textAlign\":\"center\",\"display\":\"inline-block\",\"background\":\"none\",\"borderWidth\":\"0px\",\"width\":\"100%\",\"lineHeight\":\"40px\",\"fontSize\":\"24px\",\"borderStyle\":\"solid\",\"fontWeight\":\"600\"}' class=\"title-container\">启熹LearnLume</div>\r\n <div v-if=\"loginType==1\" class=\"list-item\" :style='{\"width\":\"100%\",\"margin\":\"0 auto 20px\",\"position\":\"relative\",\"alignItems\":\"center\",\"flexWrap\":\"wrap\",\"display\":\"flex\"}'>\r\n <div v-if=\"true\" class=\"lable\" :style='{\"color\":\"#666\",\"textAlign\":\"right\",\"left\":\"-150px\",\"width\":\"150px\",\"lineHeight\":\"44px\",\"fontSize\":\"inherit\",\"position\":\"absolute\"}'>用户名:</div>\r\n <input :style='{\"padding\":\"0 10px\",\"boxShadow\":\"0 0 0px rgba(64, 158, 255, .3)\",\"borderColor\":\"#62779c\",\"color\":\"#666\",\"outline\":\"0px solid #eee\",\"outlineOffset\":\"0px\",\"borderRadius\":\"0px\",\"background\":\"#fff\",\"borderWidth\":\"0 0 2px\",\"width\":\"100%\",\"fontSize\":\"inherit\",\"borderStyle\":\"solid\",\"height\":\"50px\"}' placeholder=\"请输入用户名\" name=\"username\" type=\"text\" v-model=\"rulesForm.username\">\r\n </div>\r\n <div v-if=\"loginType==1\" class=\"list-item\" :style='{\"width\":\"100%\",\"margin\":\"0 auto 20px\",\"position\":\"relative\",\"alignItems\":\"center\",\"flexWrap\":\"wrap\",\"display\":\"flex\"}'>\r\n <div v-if=\"true\" class=\"lable\" :style='{\"color\":\"#666\",\"textAlign\":\"right\",\"left\":\"-150px\",\"width\":\"150px\",\"lineHeight\":\"44px\",\"fontSize\":\"inherit\",\"position\":\"absolute\"}'>密码:</div>\r\n <input :style='{\"padding\":\"0 10px\",\"boxShadow\":\"0 0 0px rgba(64, 158, 255, .3)\",\"borderColor\":\"#62779c\",\"color\":\"#666\",\"outline\":\"0px solid #eee\",\"outlineOffset\":\"0px\",\"borderRadius\":\"0px\",\"background\":\"#fff\",\"borderWidth\":\"0 0 2px\",\"width\":\"100%\",\"fontSize\":\"inherit\",\"borderStyle\":\"solid\",\"height\":\"50px\"}' placeholder=\"请输入密码\" name=\"password\" type=\"password\" v-model=\"rulesForm.password\">\r\n </div>\r\n\r\n <div :style='{\"width\":\"100%\",\"margin\":\"20px auto 0\",\"fontSize\":\"inherit\",\"textAlign\":\"left\"}' v-if=\"roles.length>1\" prop=\"loginInRole\" class=\"list-type\">\r\n <el-radio v-if=\"loginType==1||(loginType==2&&item.roleName!='管理员')\" v-for=\"item in roles\" v-bind:key=\"item.roleName\" v-model=\"rulesForm.role\" :label=\"item.roleName\">{{item.roleName}}</el-radio>\r\n </div>\r\n\r\n\t\t\r\n <div :style='{\"margin\":\"0px auto 0\",\"alignItems\":\"center\",\"flexWrap\":\"wrap\",\"display\":\"flex\",\"width\":\"100%\",\"fontSize\":\"16px\",\"position\":\"relative\",\"justifyContent\":\"flex-start\"}'>\r\n <el-button v-if=\"loginType==1\" :style='{\"border\":\"0\",\"cursor\":\"pointer\",\"padding\":\"0px\",\"margin\":\"0 auto 12px\",\"color\":\"#fff\",\"textAlign\":\"center\",\"outline\":\"none\",\"borderRadius\":\"0px\",\"background\":\"#62779c\",\"width\":\"100%\",\"fontSize\":\"16px\",\"fontWeight\":\"600\",\"height\":\"50px\",\"order\":\"2\"}' type=\"primary\" @click=\"login()\" class=\"loginInBt\">登录</el-button>\r\n </div>\r\n </el-form>\r\n\r\n </div>\r\n </div>\r\n</template>\r\n<script>\r\nimport menu from \"@/utils/menu\";\r\nexport default {\r\n data() {\r\n return {\r\n\t\tverifyCheck2: false,\r\n\t\tflag: false,\r\n baseUrl:this.$base.url,\r\n loginType: 1,\r\n rulesForm: {\r\n username: \"\",\r\n password: \"\",\r\n role: \"\",\r\n },\r\n menus: [],\r\n roles: [],\r\n tableName: \"\",\r\n };\r\n },\r\n mounted() {\r\n let menus = menu.list();\r\n this.menus = menus;\r\n\r\n for (let i = 0; i < this.menus.length; i++) {\r\n if (this.menus[i].hasBackLogin=='是') {\r\n this.roles.push(this.menus[i])\r\n }\r\n }\r\n\r\n },\r\n created() {\r\n\r\n },\r\n destroyed() {\r\n\t },\r\n components: {\r\n },\r\n methods: {\r\n\r\n //注册\r\n register(tableName){\r\n\t\tthis.$storage.set(\"loginTable\", tableName);\r\n\t\tthis.$router.push({path:'/register',query:{pageFlag:'register'}})\r\n },\r\n // 登陆\r\n login() {\r\n\r\n\t\tif (!this.rulesForm.username) {\r\n\t\t\tthis.$message.error(\"请输入用户名\");\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (!this.rulesForm.password) {\r\n\t\t\tthis.$message.error(\"请输入密码\");\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif(this.roles.length>1) {\r\n\t\t\tif (!this.rulesForm.role) {\r\n\t\t\t\tthis.$message.error(\"请选择角色\");\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tlet menus = this.menus;\r\n\t\t\tfor (let i = 0; i < menus.length; i++) {\r\n\t\t\t\tif (menus[i].roleName == this.rulesForm.role) {\r\n\t\t\t\t\tthis.tableName = menus[i].tableName;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.tableName = this.roles[0].tableName;\r\n\t\t\tthis.rulesForm.role = this.roles[0].roleName;\r\n\t\t}\r\n\t\t\r\n\t\tthis.loginPost()\r\n },\r\n\tloginPost() {\r\n\t\tthis.$http({\r\n\t\t\turl: `${this.tableName}/login?username=${this.rulesForm.username}&password=${this.rulesForm.password}`,\r\n\t\t\tmethod: \"post\"\r\n\t\t}).then(({ data }) => {\r\n\t\t\tif (data && data.code === 0) {\r\n\t\t\t\tthis.$storage.set(\"Token\", data.token);\r\n\t\t\t\tthis.$storage.set(\"role\", this.rulesForm.role);\r\n\t\t\t\tthis.$storage.set(\"sessionTable\", this.tableName);\r\n\t\t\t\tthis.$storage.set(\"adminName\", this.rulesForm.username);\r\n\t\t\t\tthis.$router.replace({ path: \"/\" });\r\n\t\t\t} else {\r\n\t\t\t\tthis.$message.error(data.msg);\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.container {\r\n min-height: 100vh;\r\n position: relative;\r\n background-repeat: no-repeat;\r\n background-position: center center;\r\n background-size: cover;\r\n background: url(http://codegen.caihongy.cn/20230930/02567f8bbf29475095a68adeb32aa995.jpg);\r\n \r\n .list-item /deep/ .el-input .el-input__inner {\r\n\t\tpadding: 0 10px;\r\n\t\tcolor: #666;\r\n\t\tfont-size: inherit;\r\n\t\tborder-color: #62779c;\r\n\t\toutline-offset: 0px;\r\n\t\tborder-radius: 0px;\r\n\t\tbox-shadow: 0 0 0px rgba(64, 158, 255, .3);\r\n\t\toutline: 0px solid #eee;\r\n\t\tbackground: #fff;\r\n\t\twidth: 100%;\r\n\t\tborder-width: 0 0 2px;\r\n\t\tborder-style: solid;\r\n\t\theight: 50px;\r\n\t }\r\n \r\n .list-item.select /deep/ .el-select .el-input__inner {\r\n\t\tborder: 1px solid #eee;\r\n\t\tborder-radius: 0px;\r\n\t\tpadding: 0 10px;\r\n\t\tcolor: #666;\r\n\t\twidth: 276px;\r\n\t\tfont-size: 14px;\r\n\t\theight: 40px;\r\n\t }\r\n \r\n .list-code /deep/ .el-input .el-input__inner {\r\n \t \tborder: 2px solid #002052;\r\n \t \tborder-radius: 0px 0 0 0px;\r\n \t \tpadding: 0 10px;\r\n \t \toutline: none;\r\n \t \tcolor: #666;\r\n \t \tbackground: #fff;\r\n \t \twidth: calc(100% - 100px);\r\n \t \tfont-size: inherit;\r\n \t \tborder-color: #62779c;\r\n \t \tborder-width: 0 0 2px;\r\n \t \tborder-style: solid;\r\n \t \theight: 40px;\r\n \t }\r\n\r\n .list-type /deep/ .el-radio__input .el-radio__inner {\r\n\t\tborder-radius: 0;\r\n\t\tbackground: rgba(53, 53, 53, 0);\r\n\t\tborder-color: #666666;\r\n\t }\r\n .list-type /deep/ .el-radio__input.is-checked .el-radio__inner {\r\n border-radius: 0;\r\n background: #62779c;\r\n border-color: #62779c;\r\n }\r\n .list-type /deep/ .el-radio__label {\r\n\t\tcolor: #666666;\r\n\t\tfont-size: 16px;\r\n\t }\r\n .list-type /deep/ .el-radio__input.is-checked+.el-radio__label {\r\n color: #62779c;\r\n font-size: 16px;\r\n }\r\n}\r\n\r\n</style>\r\n"]}]}