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
1 line
13 KiB
{"remainingRequest":"D:\\code\\vue\\front\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\code\\vue\\front\\src\\pages\\login\\login.vue?vue&type=style&index=0&id=23b3be22&rel=stylesheet%2Fscss&lang=scss&scoped=true","dependencies":[{"path":"D:\\code\\vue\\front\\src\\pages\\login\\login.vue","mtime":1749055175349},{"path":"D:\\code\\vue\\front\\node_modules\\css-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\code\\vue\\front\\node_modules\\vue-loader\\lib\\loaders\\stylePostLoader.js","mtime":499162500000},{"path":"D:\\code\\vue\\front\\node_modules\\postcss-loader\\src\\index.js","mtime":499162500000},{"path":"D:\\code\\vue\\front\\node_modules\\sass-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\code\\vue\\front\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\code\\vue\\front\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ci5jb250YWluZXIgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJYmFja2dyb3VuZDogdXJsKGh0dHA6Ly9jb2RlZ2VuLmNhaWhvbmd5LmNuLzIwMjMwOTE4L2U0YzNkZTQ1ZTg0NTRiZTA4NDY4YmEzMmFjYzkxMDhmLmpwZyk7CgkKCS5lbC1mb3JtLWl0ZW0gewoJICAmIC9kZWVwLyAuZWwtZm9ybS1pdGVtX19jb250ZW50IHsKCSAgICB3aWR0aDogMTAwJTsKCSAgfQoJfQoJCgkubGlzdC1pdGVtIC9kZWVwLyAuZWwtZm9ybS1pdGVtX19jb250ZW50IHsKCQlkaXNwbGF5OiBibG9jazsKCX0KCgkubGlzdC1jb2RlIC9kZWVwLyAuZWwtZm9ybS1pdGVtX19jb250ZW50IHsKCQlkaXNwbGF5OiBibG9jazsKCX0KCgkubGlzdC10eXBlIC9kZWVwLyAuZWwtZm9ybS1pdGVtX19jb250ZW50IHsKCQltYXJnaW46IDEwcHggMCAwOwoJCWRpc3BsYXk6IGZsZXg7Cgl9CgoJLmxpc3QtYnRuIC9kZWVwLyAuZWwtZm9ybS1pdGVtX19jb250ZW50IHsKCQlkaXNwbGF5OiBmbGV4OwoJCWp1c3RpZnktY29udGVudDogY2VudGVyOwoJCWZsZXgtd3JhcDogd3JhcDsKCX0KCQoJLmxpc3QtaXRlbSAvZGVlcC8gLmVsLWlucHV0IC5lbC1pbnB1dF9faW5uZXIgewoJCWJvcmRlcjogMXB4IHNvbGlkICNkZGQ7CgkJYm9yZGVyLXJhZGl1czogNHB4OwoJCXBhZGRpbmc6IDAgMTBweDsKCQljb2xvcjogIzY2NjsKCQl3aWR0aDogMTAwJTsKCQlmb250LXNpemU6IDE0cHg7CgkJaGVpZ2h0OiA0MHB4OwoJfQoJCgkubGlzdC1jb2RlIC9kZWVwLyAuZWwtaW5wdXQgLmVsLWlucHV0X19pbm5lciB7CgkJYm9yZGVyOiAxcHggc29saWQgI2RkZDsKCQlib3JkZXItcmFkaXVzOiA0cHg7CgkJcGFkZGluZzogMCAxMHB4OwoJCW91dGxpbmU6IG5vbmU7CgkJY29sb3I6ICM2NjY7CgkJZGlzcGxheTogaW5saW5lLWJsb2NrOwoJCXZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CgkJd2lkdGg6IDE0NHB4OwoJCWZvbnQtc2l6ZTogMTRweDsKCQloZWlnaHQ6IDQwcHg7Cgl9CgoJLy8gc2VsZWN0CgkubGlzdC10eXBlLnNlbGVjdCAuZWwtc2VsZWN0IC9kZWVwLyAuZWwtaW5wdXRfX2lubmVyIHsKCQlib3JkZXI6IDFweCBzb2xpZCAjZGRkOwoJCWJvcmRlci1yYWRpdXM6IDRweDsKCQlwYWRkaW5nOiAwIDEwcHg7CgkJY29sb3I6ICM2NjY7CgkJd2lkdGg6IDI4OHB4OwoJCWZvbnQtc2l6ZTogMTRweDsKCQloZWlnaHQ6IDQwcHg7Cgl9Cn0KCg=="},{"version":3,"sources":["login.vue"],"names":[],"mappings":";AA6PA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"login.vue","sourceRoot":"src/pages/login","sourcesContent":["<template>\r\n<div>\r\n\t<div class=\"container\" :style='{\"minHeight\":\"100vh\",\"alignItems\":\"center\",\"background\":\"url(http://codegen.caihongy.cn/20230918/e4c3de45e8454be08468ba32acc9108f.jpg)\",\"display\":\"flex\",\"width\":\"100%\",\"backgroundSize\":\"cover\",\"backgroundPosition\":\"center center\",\"backgroundRepeat\":\"no-repeat\",\"justifyContent\":\"center\"}'>\r\n\t\t<el-form ref=\"loginForm\" :model=\"loginForm\" :style='{\"width\":\"30vw\",\"padding\":\"0px\",\"margin\":\"0 0 0 50vw\",\"borderRadius\":\"0px\",\"background\":\"#fff\",\"height\":\"auto\"}' :rules=\"rules\">\r\n\t\t\t<div v-if=\"false\" :style='{\"width\":\"100%\",\"margin\":\"0 0 10px 0\",\"lineHeight\":\"44px\",\"fontSize\":\"20px\",\"color\":\"rgba(64, 158, 255, 1)\",\"textAlign\":\"center\"}'>USER / LOGIN</div>\r\n\t\t\t<div v-if=\"true\" :style='{\"width\":\"80%\",\"margin\":\"0 auto 10px\",\"lineHeight\":\"44px\",\"fontSize\":\"28px\",\"color\":\"#333\",\"textAlign\":\"left\"}'>启熹LearnLume登录</div>\r\n\t\t\t<el-form-item v-if=\"loginType==1\" class=\"list-item\" :style='{\"width\":\"80%\",\"margin\":\"0 auto 10px\"}' prop=\"username\">\r\n\t\t\t\t<div v-if=\"true\" :style='{\"width\":\"100%\",\"lineHeight\":\"36px\",\"fontSize\":\"14px\",\"color\":\"#333\"}'>账号:</div>\r\n\t\t\t\t<input :style='{\"border\":\"1px solid #ddd\",\"padding\":\"0 10px\",\"color\":\"#666\",\"borderRadius\":\"4px\",\"width\":\"100%\",\"fontSize\":\"14px\",\"height\":\"40px\"}' v-model=\"loginForm.username\" placeholder=\"请输入账户\">\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item v-if=\"loginType==1\" class=\"list-item\" :style='{\"width\":\"80%\",\"margin\":\"0 auto 10px\"}' prop=\"password\">\r\n\t\t\t\t<div v-if=\"true\" :style='{\"width\":\"100%\",\"lineHeight\":\"36px\",\"fontSize\":\"14px\",\"color\":\"#333\"}'>密码:</div>\r\n\t\t\t\t<input :style='{\"border\":\"1px solid #ddd\",\"padding\":\"0 10px\",\"color\":\"#666\",\"borderRadius\":\"4px\",\"width\":\"100%\",\"fontSize\":\"14px\",\"height\":\"40px\"}' v-model=\"loginForm.password\" placeholder=\"请输入密码\" type=\"password\">\r\n\t\t\t</el-form-item>\r\n\r\n\t\t\t<el-form-item class=\"list-type select\" :style='{\"width\":\"80%\",\"margin\":\"0 auto 10px\"}' v-if=\"roles.length>1\">\r\n\t\t\t <el-select v-model=\"loginForm.tableName\" placeholder=\"请选择角色\" @change=\"selectChange\">\r\n\t\t\t\t<el-option v-for=\"item,index in roles\" :key=\"index\" :label=\"item.roleName\" :value=\"item.tableName\" />\r\n\t\t\t </el-select>\r\n\t\t\t</el-form-item>\r\n\r\n\t\t\t\r\n\t\t\t<el-form-item class=\"list-btn\" :style='{\"width\":\"80%\",\"margin\":\"20px auto\"}'>\r\n\t\t\t\t<el-button v-if=\"loginType==1\" :style='{\"border\":\"0\",\"cursor\":\"pointer\",\"padding\":\"0 24px\",\"margin\":\"0 5px\",\"outline\":\"none\",\"color\":\"#fff\",\"borderRadius\":\"4px\",\"background\":\"#ffc000\",\"width\":\"100%\",\"fontSize\":\"16px\",\"height\":\"44px\"}' @click=\"submitForm('loginForm')\">登录</el-button>\r\n\t\t\t\t<el-button v-if=\"loginType==1\" :style='{\"border\":\"0\",\"cursor\":\"pointer\",\"padding\":\"0 24px\",\"margin\":\"0 5px\",\"outline\":\"none\",\"color\":\"#666\",\"borderRadius\":\"4px\",\"textAlign\":\"right\",\"background\":\"none\",\"width\":\"100%\",\"fontSize\":\"14px\",\"height\":\"44px\"}' @click=\"resetForm('loginForm')\">重置</el-button>\r\n\t\t\t</el-form-item>\r\n\t\t\t<div :style='{\"width\":\"80%\",\"margin\":\"20px auto\"}'>\r\n\t\t\t<router-link :style='{\"cursor\":\"pointer\",\"margin\":\"0 5px\",\"fontSize\":\"14px\",\"textDecoration\":\"none\",\"color\":\"#F5BB00\",\"background\":\"#fff\"}' :to=\"{path: '/register', query: {role: item.tableName,pageFlag:'register'}}\" v-if=\"item.hasFrontRegister=='是'\" v-for=\"(item, index) in roles\" :key=\"index\">注册{{item.roleName.replace('注册','')}}</router-link>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"idea1\" :style='{\"width\":\"100%\",\"background\":\"red\",\"display\":\"none\",\"height\":\"40px\"}'></div>\r\n\t\t\t<div class=\"idea2\" :style='{\"width\":\"100%\",\"background\":\"blue\",\"display\":\"none\",\"height\":\"40px\"}'></div>\r\n\t\t</el-form>\r\n </div>\r\n</div>\r\n</template>\r\n\r\n<script>\r\nimport menu from '@/config/menu'\r\nexport default {\r\n\t//数据集合\r\n\tdata() {\r\n\t\treturn {\r\n baseUrl: this.$config.baseUrl,\r\n loginType: 1,\r\n\t\t\troleMenus: [],\r\n\t\t\tloginForm: {\r\n\t\t\t\tusername: '',\r\n\t\t\t\tpassword: '',\r\n\t\t\t\ttableName: '',\r\n\t\t\t\tcode: '',\r\n\t\t\t},\r\n\t\t\trole: '',\r\n roles: [],\r\n\t\t\trules: {\r\n\t\t\t\tusername: [\r\n\t\t\t\t\t{ required: true, message: '请输入账户', trigger: 'blur' }\r\n\t\t\t\t],\r\n\t\t\t\tpassword: [\r\n\t\t\t\t\t{ required: true, message: '请输入密码', trigger: 'blur' }\r\n\t\t\t\t]\r\n\t\t\t},\r\n\t\t\tcodes: [{\r\n\t\t\t\tnum: 1,\r\n\t\t\t\tcolor: '#000',\r\n\t\t\t\trotate: '10deg',\r\n\t\t\t\tsize: '16px'\r\n\t\t\t}, {\r\n\t\t\t\tnum: 2,\r\n\t\t\t\tcolor: '#000',\r\n\t\t\t\trotate: '10deg',\r\n\t\t\t\tsize: '16px'\r\n\t\t\t}, {\r\n\t\t\t\tnum: 3,\r\n\t\t\t\tcolor: '#000',\r\n\t\t\t\trotate: '10deg',\r\n\t\t\t\tsize: '16px'\r\n\t\t\t}, {\r\n\t\t\t\tnum: 4,\r\n\t\t\t\tcolor: '#000',\r\n\t\t\t\trotate: '10deg',\r\n\t\t\t\tsize: '16px'\r\n\t\t\t}],\r\n\t\t\tflag: false,\r\n\t\t\tverifyCheck2: false,\r\n\t\t}\r\n\t},\r\n components: {\r\n },\r\n\tcreated() {\r\n\t\tthis.roleMenus = menu.list()\r\n\t\tfor(let item in this.roleMenus) {\r\n\t\t if(this.roleMenus[item].hasFrontLogin=='是') {\r\n\t\t this.roles.push(this.roleMenus[item]);\r\n\t\t }\r\n\t\t}\r\n\t\t\r\n\t},\r\n\tmounted() {\r\n\t},\r\n //方法集合\r\n methods: {\r\n\t\trandomString() {\r\n\t\t\tvar len = 4;\r\n\t\t\tvar chars = [\r\n\t\t\t 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k',\r\n\t\t\t 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',\r\n\t\t\t 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G',\r\n\t\t\t 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',\r\n\t\t\t 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '0', '1', '2',\r\n\t\t\t '3', '4', '5', '6', '7', '8', '9'\r\n\t\t\t]\r\n\t\t\tvar colors = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f']\r\n\t\t\tvar sizes = ['14', '15', '16', '17', '18']\r\n\t\t\t\r\n\t\t\tvar output = []\r\n\t\t\tfor (var i = 0; i < len; i++) {\r\n\t\t\t // 随机验证码\r\n\t\t\t var key = Math.floor(Math.random() * chars.length)\r\n\t\t\t this.codes[i].num = chars[key]\r\n\t\t\t // 随机验证码颜色\r\n\t\t\t var code = '#'\r\n\t\t\t for (var j = 0; j < 6; j++) {\r\n\t\t\t var key = Math.floor(Math.random() * colors.length)\r\n\t\t\t code += colors[key]\r\n\t\t\t }\r\n\t\t\t this.codes[i].color = code\r\n\t\t\t // 随机验证码方向\r\n\t\t\t var rotate = Math.floor(Math.random() * 45)\r\n\t\t\t var plus = Math.floor(Math.random() * 2)\r\n\t\t\t if (plus == 1) rotate = '-' + rotate\r\n\t\t\t this.codes[i].rotate = 'rotate(' + rotate + 'deg)'\r\n\t\t\t // 随机验证码字体大小\r\n\t\t\t var size = Math.floor(Math.random() * sizes.length)\r\n\t\t\t this.codes[i].size = sizes[size] + 'px'\r\n\t\t\t}\r\n\t\t},\r\n\t selectChange(e){\r\n\t\t this.role = e\r\n\t },\r\n submitForm(formName) {\r\n if (this.roles.length!=1) {\r\n if (!this.role) {\r\n this.$message.error(\"请选择登录用户类型\");\r\n return false;\r\n }\r\n } else {\r\n this.role = this.roles[0].roleName;\r\n this.loginForm.tableName = this.roles[0].tableName;\r\n }\r\n\r\n\t\tthis.loginPost(formName)\r\n },\r\n resetForm(formName) {\r\n this.$refs[formName].resetFields();\r\n },\r\n\t loginPost(formName) {\r\n\t\tthis.$refs[formName].validate((valid) => {\r\n\t\t if (valid) {\r\n\t\t this.$http.get(`${this.loginForm.tableName}/login`, {params: this.loginForm}).then(res => {\r\n\t\t if (res.data.code === 0) {\r\n\t\t localStorage.setItem('frontToken', res.data.token);\r\n\t\t localStorage.setItem('UserTableName', this.loginForm.tableName);\r\n\t\t localStorage.setItem('username', this.loginForm.username);\r\n\t\t localStorage.setItem('adminName', this.loginForm.username);\r\n\t\t localStorage.setItem('frontSessionTable', this.loginForm.tableName);\r\n\t\t localStorage.setItem('frontRole', this.role);\r\n\t\t localStorage.setItem('keyPath', 0);\r\n\t\t this.$router.push('/');\r\n\t\t this.$message({\r\n\t\t message: '登录成功',\r\n\t\t type: 'success',\r\n\t\t duration: 1500,\r\n\t\t });\r\n\t\t } else {\r\n\t\t this.$message.error(res.data.msg);\r\n\t\t }\r\n\t\t });\r\n\t\t } else {\r\n\t\t return false;\r\n\t\t }\r\n\t\t});\r\n\t },\r\n }\r\n }\r\n</script>\r\n\r\n<style rel=\"stylesheet/scss\" lang=\"scss\" scoped>\r\n\t.container {\r\n\t\tposition: relative;\r\n\t\tbackground: url(http://codegen.caihongy.cn/20230918/e4c3de45e8454be08468ba32acc9108f.jpg);\r\n\t\t\r\n\t\t.el-form-item {\r\n\t\t & /deep/ .el-form-item__content {\r\n\t\t width: 100%;\r\n\t\t }\r\n\t\t}\r\n\t\t\r\n\t\t.list-item /deep/ .el-form-item__content {\r\n\t\t\tdisplay: block;\r\n\t\t}\r\n\r\n\t\t.list-code /deep/ .el-form-item__content {\r\n\t\t\tdisplay: block;\r\n\t\t}\r\n\r\n\t\t.list-type /deep/ .el-form-item__content {\r\n\t\t\tmargin: 10px 0 0;\r\n\t\t\tdisplay: flex;\r\n\t\t}\r\n\r\n\t\t.list-btn /deep/ .el-form-item__content {\r\n\t\t\tdisplay: flex;\r\n\t\t\tjustify-content: center;\r\n\t\t\tflex-wrap: wrap;\r\n\t\t}\r\n\t\t\r\n\t\t.list-item /deep/ .el-input .el-input__inner {\r\n\t\t\tborder: 1px solid #ddd;\r\n\t\t\tborder-radius: 4px;\r\n\t\t\tpadding: 0 10px;\r\n\t\t\tcolor: #666;\r\n\t\t\twidth: 100%;\r\n\t\t\tfont-size: 14px;\r\n\t\t\theight: 40px;\r\n\t\t}\r\n\t\t\r\n\t\t.list-code /deep/ .el-input .el-input__inner {\r\n\t\t\tborder: 1px solid #ddd;\r\n\t\t\tborder-radius: 4px;\r\n\t\t\tpadding: 0 10px;\r\n\t\t\toutline: none;\r\n\t\t\tcolor: #666;\r\n\t\t\tdisplay: inline-block;\r\n\t\t\tvertical-align: middle;\r\n\t\t\twidth: 144px;\r\n\t\t\tfont-size: 14px;\r\n\t\t\theight: 40px;\r\n\t\t}\r\n\r\n\t\t// select\r\n\t\t.list-type.select .el-select /deep/ .el-input__inner {\r\n\t\t\tborder: 1px solid #ddd;\r\n\t\t\tborder-radius: 4px;\r\n\t\t\tpadding: 0 10px;\r\n\t\t\tcolor: #666;\r\n\t\t\twidth: 288px;\r\n\t\t\tfont-size: 14px;\r\n\t\t\theight: 40px;\r\n\t\t}\r\n\t}\r\n\r\n</style>\r\n"]}]} |