{"remainingRequest":"D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\src\\views\\login.vue?vue&type=style&index=0&id=7589b93f&rel=stylesheet%2Fscss&lang=scss&","dependencies":[{"path":"D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\src\\views\\login.vue","mtime":1679726301957},{"path":"D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\node_modules\\css-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\node_modules\\vue-loader\\lib\\loaders\\stylePostLoader.js","mtime":499162500000},{"path":"D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\node_modules\\postcss-loader\\src\\index.js","mtime":499162500000},{"path":"D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\node_modules\\sass-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCi5Hcm91cF8xMzJ7CiAgLy8gYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlci80MCUgdXJsKCIuLi9hc3NldHMvaW1hZ2VzL0dyb3VwIDEzMi5wbmciKTsKICBoZWlnaHQ6IDEwMCU7CiAgd2lkdGg6ICAxMDAlOwogIGJhY2tncm91bmQtY29sb3I6ICNGRUY3RkM7CiAgLy9iYWNrZ3JvdW5kLXBvc2l0aW9uOiA0OS41JSAxNi4yJSA7CiAgLy8gYmFja2dyb3VuZC1wb3NpdGlvbjogODEuN3B4IDcxLjNweDsKICAvL2JhY2tncm91bmQtc2l6ZTogYXV0bzsKCn0KCi5sb2dpbiB7CiAgZGlzcGxheTogZmxleDsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgaGVpZ2h0OiAxMDAlOwogIHdpZHRoOiAgMTAwJTsKICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyLzQwJSB1cmwoIi4uL2Fzc2V0cy9pbWFnZXMvR3JvdXAgMTMyLnBuZyIpOwogIGJhY2tncm91bmQtY29sb3I6ICNGRUY3RkM7CgogIC8vIGJhY2tncm91bmQtc2l6ZTogOTU1cHggOTA1cHg7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTgzcHggMTQ1cHg7CiAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoIi4uL2Fzc2V0cy9pbWFnZXMvbG9naW4tYmFja2dyb3VuZC5qcGciKTsKICAvL2JhY2tncm91bmQtc2l6ZTogY292ZXI7Cn0KLnRpdGxlIHsKICBtYXJnaW46IDEwOXB4IDAgMTA4cHggMCA7CiAgd2lkdGg6MzU1cHg7CiAgaGVpZ2h0OiA1OHB4OwogIGZvbnQtc2l6ZTogNDRweDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgZm9udC1mYW1pbHk6IE1pY3Jvc29mdCBZYUhlaS1Cb2xkLCBNaWNyb3NvZnQgWWFIZWk7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgY29sb3I6ICMwMDAwMDA7Cgp9Ci5zZWNvbmQtYm94IHsKICB3aWR0aDogMzg2cHg7CiAgaGVpZ2h0OiAxMDBweDsKICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHg7CiAgb3BhY2l0eTogMTsKfQoubGl0dGxlLXRpdGxlIHsKd2lkdGg6IDI5MXB4OwpoZWlnaHQ6IDcycHg7CmZvbnQtc2l6ZTogMThweDsKZm9udC1mYW1pbHk6IE1pY3Jvc29mdCBZYUhlaS1SZWd1bGFyLCBNaWNyb3NvZnQgWWFIZWk7CmZvbnQtd2VpZ2h0OiA0MDA7CmNvbG9yOiAjNEQ0RDREOwpsaW5lLWhlaWdodDogMjFweDsKdGV4dC1hbGlnbjpjZW50ZXI7Ci8vIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OwovLyAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KCi55b25naHVtaW5nIHsKICAgIHdpZHRoOiA0OHB4OwogIGhlaWdodDogMjJweDsKICBmb250LXNpemU6IDE2cHg7CiAgZm9udC1mYW1pbHk6IEhpbmQgTWFkdXJhaS1SZWd1bGFyLCBIaW5kIE1hZHVyYWk7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBjb2xvcjogIzFEMjEyOTsKICBsaW5lLWhlaWdodDogMTlweDsKCiAgLy8gLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7CiAgLy8gLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50OwogIH0KICAKICAubWltYXsKICB3aWR0aDogMzJweDsKICBoZWlnaHQ6IDIwcHg7CiAgZm9udC1zaXplOiAxNnB4OwogIGZvbnQtZmFtaWx5OiBBYmVsLVJlZ3VsYXIsIEFiZWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBjb2xvcjogIzFEMjEyOTsKICBsaW5lLWhlaWdodDogMTlweDsKCiAgLy8gLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7CiAgLy8gLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50OwogIH0KICAKICAueWFuemhlbmdtYSB7CiAgd2lkdGg6IDQ4cHg7CiAgaGVpZ2h0OiAyMHB4OwogIGZvbnQtc2l6ZTogMTZweDsKICBmb250LWZhbWlseTogQWJlbC1SZWd1bGFyLCBBYmVsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgY29sb3I6ICMxRDIxMjk7CiAgbGluZS1oZWlnaHQ6IDE5cHg7CiAKICAvLyAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDsKICAvLyAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgfQoKCi5sb2dpbi1mb3JtIHsKICBib3JkZXItcmFkaXVzOiA2cHg7CiAgYmFja2dyb3VuZDogI0ZFRjdGQzsKICB3aWR0aDogNTcycHg7CiAgcGFkZGluZzogMjVweCAyNXB4IDVweCAyNXB4OwogIG1hcmdpbjogMjExcHggMTQycHggMjM3cHggMTIwNnB4OwogIC5lbC1pbnB1dCB7CiAgICBoZWlnaHQ6IDQ4cHg7CiAgICBpbnB1dCB7CiAgICAgIGhlaWdodDogNDhweDsKICAgIH0KICB9CiAgLmlucHV0LWljb24gewogICAgaGVpZ2h0OiAzOXB4OwogICAgd2lkdGg6IDE0cHg7CiAgICBtYXJnaW4tbGVmdDogMnB4OwogIH0KfQoubG9naW4tdGlwIHsKICBmb250LXNpemU6IDEzcHg7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIGNvbG9yOiAjYmZiZmJmOwp9Ci5sb2dpbi1jb2RlIHsKICB3aWR0aDogMTA4cHg7CiAgaGVpZ2h0OiA0OHB4OwogIGZsb2F0OiByaWdodDsKICBtYXJnaW4tcmlnaHQ6IDQ2cHg7CiAgCgogIGltZyB7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgCiAgICBib3JkZXI6IDFweCBzb2xpZCAjRDlEOUQ5OwogIH0KfQouZWwtbG9naW4tZm9vdGVyIHsKICBoZWlnaHQ6IDQwcHg7CiAgbGluZS1oZWlnaHQ6IDQwcHg7CiAgcG9zaXRpb246IGZpeGVkOwogIGJvdHRvbTogMDsKICB3aWR0aDogMTAwJTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgY29sb3I6ICNmZmY7CiAgZm9udC1mYW1pbHk6IEFyaWFsOwogIGZvbnQtc2l6ZTogMTJweDsKICBsZXR0ZXItc3BhY2luZzogMXB4Owp9Ci5sb2dpbi1jb2RlLWltZyB7CiAgaGVpZ2h0OiA0OHB4OwogIHdpZHRoOiAxMTBweDsKfQoKLmNvZGUgewogIG1hcmdpbi1sZWZ0OiA0NTJweDsKfQo="},{"version":3,"sources":["login.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA","file":"login.vue","sourceRoot":"src/views","sourcesContent":["<template>\n <div class=\"login Group_132\">\n <el-form ref=\"loginForm\" :model=\"loginForm\" :rules=\"loginRules\" class=\"login-form\">\n <h3 class=\"title\" style=\"margin-top: 111px;margin-right: 108px;margin-bottom: 0;margin-left: 109px;\">欢迎来到张氏APP</h3>\n <div class=\"second-box\" style=\" margin-top: 25px;\n margin-left: 140px;\n margin-right: 141px;\n\">\n <div class=\"little-title\" style=\" margin-top: 20px;\">\n <h5 >登录可查看更多信息</h5>\n <h5 >未注册的账号登录成功后会自动注册</h5></div></div>\n <div class=\"yonghuming\" style=\"margin-left: 99px;margin-right: 425px;\">用户名</div>\n\n <el-form-item prop=\"username\" style=\"\n width: 380px;\n height: 48px;\n margin-left: 96px;\n margin-right: 96px;\n\">\n \n <el-input\n v-model=\"loginForm.username\"\n type=\"text\"\n auto-complete=\"off\"\n placeholder=\"请输入用户名\"\n style=\"height: 50px\"\n >\n <!-- <svg-icon slot=\"prefix\" icon-class=\"user\" class=\"el-input__icon input-icon\" /> -->\n </el-input>\n </el-form-item>\n\n <div class=\"mima\" style=\"\n margin-left: 99px;\n margin-right: 441px;\">密码</div>\n <el-form-item prop=\"password\" style=\"\n margin-left: 96px;\n margin-right: 96px;\n width: 380px;\n height: 48px;\">\n <el-input\n v-model=\"loginForm.password\"\n type=\"password\"\n auto-complete=\"off\"\n placeholder=\"密码\"\n @keyup.enter.native=\"handleLogin\"\n style=\"height: 50px\"\n show-password\n >\n <!-- <svg-icon slot=\"suffix\" icon-class=\"eye\" class=\"el-input_icon input-icon\" onclick=\"show()\"></svg-icon> -->\n\n <!-- <el-input type=\"password\" prefix-icon=\"el-icon-lock\" v-model=\"loginForm.passWord\" show-password></el-input> -->\n\n \n <!-- <el-input :type=\"showPass ? 'text' : 'password'\"\n prefix-icon=\"el-icon-lock\" \n v-model=\"loginForm.password\"\n @keyup.enter.native=\"handleLogin\" \n placeholder=\"密码\"\n style=\"height: 50px\"> -->\n\n \n \n\n\n\n <!-- <svg-icon slot=\"prefix\" icon-class=\"password\" class=\"el-input__icon input-icon\" /> -->\n </el-input>\n </el-form-item>\n\n\n <div class=\"验证码\" style=\"margin-left: 99px;margin-right: 425px;width: 48px;height: 20px;\">验证码</div>\n <el-form-item prop=\"code\" v-if=\"captchaEnabled\" style=\"margin-bottom: 76px;width: 264;\" >\n <el-input\n v-model=\"loginForm.code\"\n auto-complete=\"off\"\n placeholder=\"请输入验证码\"\n style=\"width: 258px ;\n margin-left: 96px \"\n \n \n \n @keyup.enter.native=\"handleLogin\"\n >\n\n <!-- <svg-icon slot=\"prefix\" icon-class=\"validCode\" class=\"el-input__icon input-icon\" /> -->\n \n </el-input>\n <div class=\"login-code\" >\n <img :src=\"codeUrl\" @click=\"getCode\" class=\"login-code-img\"/>\n </div>\n\n <div class=\"code\" @click=\"getCode\" style=\"width: 24px;\n margin-left: 452px;\n height: 16px;\n font-size: 12px;\n font-family: Microsoft YaHei-Regular, Microsoft YaHei;\n font-weight: 400;\n color: #37AADB;\n line-height: 14px;\" >刷新</div> \n\n </el-form-item>\n \n\n\n <!-- <el-checkbox v-model=\"loginForms.rememberMe\" style=\"margin:0px 0px 25px 0px;\">记住密码</el-checkbox> -->\n <el-form-item s style=\"width: 572px;height: 72px;margin-bottom: 75px;background: rgba(239,113,155,0.8);\"> \n\n\n <el-button\n :loading=\"loading\"\n style=\"width: 572px;height: 72px; background: rgba(239,113,155,0.8);\"\n size=\"medium\"\n type=\"primary\"\n @click.native.prevent=\"handleLogin\"\n >\n <span v-if=\"!loading\" style=\"width: 97px;height: 62px;\">登录</span>\n <span v-else>登 录 中...</span>\n </el-button>\n <div style=\"float: right\n height:94px;\" v-if=\"register\">\n <router-link class=\"link-type\" :to=\"'/register'\">立即注册</router-link>\n </div>\n </el-form-item>\n </el-form>\n <!-- 底部 -->\n <div class=\"el-login-footer\">\n <span>Copyright © GDUT All Rights Reserved.</span>\n </div>\n </div>\n</template>\n\n<script>\nimport { getCodeImg } from \"@/api/login\";\nimport Cookies from \"js-cookie\";\nimport { encrypt, decrypt } from '@/utils/jsencrypt'\n\nexport default {\n name: \"Login\",\n data() {\n return {\n codeUrl: \"http://47.93.189.255:8080/captchaImage\",\n loginForm: {\n username: \"admin\",\n password: \"admin123\",\n rememberMe: false,\n code: \"\",\n uuid: \"\"\n },\n loginRules: {\n username: [\n { required: true, trigger: \"blur\", message: \"请输入您的账号\" }\n ],\n password: [\n { required: true, trigger: \"blur\", message: \"请输入您的密码\" }\n ],\n code: [{ required: true, trigger: \"change\", message: \"用户名不存在或密码错误(验证码错误)\" , style:\"margin-left=100px\"}]\n },\n loading: false,\n // 验证码开关\n captchaEnabled: true,\n // 注册开关\n register: false,\n redirect: undefined\n };\n },\n watch: {\n $route: {\n handler: function(route) {\n this.redirect = route.query && route.query.redirect;\n },\n immediate: true\n }\n },\n created() {\n this.getCode();\n this.getCookie();\n },\n methods: {\n getCode() {\n getCodeImg().then(res => {\n this.captchaEnabled = res.data.captchaEnabled === undefined ? true : res.captchaEnabled;\n if (this.captchaEnabled) {\n this.codeUrl = \"data:image/gif;base64,\" + res.data.img;\n this.loginForm.uuid = res.data.uuid;\n }\n });\n },\n getCookie() {\n const username = Cookies.get(\"username\");\n const password = Cookies.get(\"password\");\n const rememberMe = Cookies.get('rememberMe')\n this.loginForm = {\n username: username === undefined ? this.loginForm.username : username,\n password: password === undefined ? this.loginForm.password : decrypt(password),\n rememberMe: rememberMe === undefined ? false : Boolean(rememberMe)\n };\n },\n handleLogin() {\n this.$refs.loginForm.validate(valid => {\n if (valid) {\n this.loading = true;\n if (this.loginForm.rememberMe) {\n Cookies.set(\"username\", this.loginForm.username, { expires: 30 });\n Cookies.set(\"password\", encrypt(this.loginForm.password), { expires: 30 });\n Cookies.set('rememberMe', this.loginForm.rememberMe, { expires: 30 });\n } else {\n Cookies.remove(\"username\");\n Cookies.remove(\"password\");\n Cookies.remove('rememberMe');\n }\n this.$store.dispatch(\"Login\", this.loginForm).then(() => {\n this.$router.push({ path: this.redirect || \"/\" }).catch(()=>{});\n }).catch(() => {\n this.loading = false;\n if (this.captchaEnabled) {\n this.getCode();\n }\n });\n }\n });\n }\n }\n};\n</script>\n\n<style rel=\"stylesheet/scss\" lang=\"scss\">\n.Group_132{\n // background: no-repeat center/40% url(\"../assets/images/Group 132.png\");\n height: 100%;\n width: 100%;\n background-color: #FEF7FC;\n //background-position: 49.5% 16.2% ;\n // background-position: 81.7px 71.3px;\n //background-size: auto;\n\n}\n\n.login {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n height: 100%;\n width: 100%;\n background: no-repeat center/40% url(\"../assets/images/Group 132.png\");\n background-color: #FEF7FC;\n\n // background-size: 955px 905px;\n background-position: 183px 145px;\n //background-image: url(\"../assets/images/login-background.jpg\");\n //background-size: cover;\n}\n.title {\n margin: 109px 0 108px 0 ;\n width:355px;\n height: 58px;\n font-size: 44px;\n text-align: center;\n font-family: Microsoft YaHei-Bold, Microsoft YaHei;\n font-weight: bold;\n color: #000000;\n\n}\n.second-box {\n width: 386px;\n height: 100px;\n border-radius: 0px 0px 0px 0px;\n opacity: 1;\n}\n.little-title {\nwidth: 291px;\nheight: 72px;\nfont-size: 18px;\nfont-family: Microsoft YaHei-Regular, Microsoft YaHei;\nfont-weight: 400;\ncolor: #4D4D4D;\nline-height: 21px;\ntext-align:center;\n// -webkit-background-clip: text;\n// -webkit-text-fill-color: transparent;\n}\n\n.yonghuming {\n width: 48px;\n height: 22px;\n font-size: 16px;\n font-family: Hind Madurai-Regular, Hind Madurai;\n font-weight: 400;\n color: #1D2129;\n line-height: 19px;\n\n // -webkit-background-clip: text;\n // -webkit-text-fill-color: transparent;\n }\n \n .mima{\n width: 32px;\n height: 20px;\n font-size: 16px;\n font-family: Abel-Regular, Abel;\n font-weight: 400;\n color: #1D2129;\n line-height: 19px;\n\n // -webkit-background-clip: text;\n // -webkit-text-fill-color: transparent;\n }\n \n .yanzhengma {\n width: 48px;\n height: 20px;\n font-size: 16px;\n font-family: Abel-Regular, Abel;\n font-weight: 400;\n color: #1D2129;\n line-height: 19px;\n \n // -webkit-background-clip: text;\n // -webkit-text-fill-color: transparent;\n }\n\n\n.login-form {\n border-radius: 6px;\n background: #FEF7FC;\n width: 572px;\n padding: 25px 25px 5px 25px;\n margin: 211px 142px 237px 1206px;\n .el-input {\n height: 48px;\n input {\n height: 48px;\n }\n }\n .input-icon {\n height: 39px;\n width: 14px;\n margin-left: 2px;\n }\n}\n.login-tip {\n font-size: 13px;\n text-align: center;\n color: #bfbfbf;\n}\n.login-code {\n width: 108px;\n height: 48px;\n float: right;\n margin-right: 46px;\n \n\n img {\n cursor: pointer;\n vertical-align: middle;\n \n border: 1px solid #D9D9D9;\n }\n}\n.el-login-footer {\n height: 40px;\n line-height: 40px;\n position: fixed;\n bottom: 0;\n width: 100%;\n text-align: center;\n color: #fff;\n font-family: Arial;\n font-size: 12px;\n letter-spacing: 1px;\n}\n.login-code-img {\n height: 48px;\n width: 110px;\n}\n\n.code {\n margin-left: 452px;\n}\n</style>\n"]}]}
|