e94845ea54ce20b84fcf9931d0c332c9.json 12 KB

1
  1. {"remainingRequest":"/usr/local/develop/php/www/waibao/NN2024071001/NN2024071001/addons/admin/node_modules/vue-loader/lib/index.js??vue-loader-options!/usr/local/develop/php/www/waibao/NN2024071001/NN2024071001/addons/admin/src/views/login/login.vue?vue&type=style&index=0&id=a49090ce&scoped=true&lang=css&","dependencies":[{"path":"/usr/local/develop/php/www/waibao/NN2024071001/NN2024071001/addons/admin/src/views/login/login.vue","mtime":1655259873000},{"path":"/usr/local/develop/php/www/waibao/NN2024071001/NN2024071001/addons/admin/node_modules/css-loader/dist/cjs.js","mtime":499162500000},{"path":"/usr/local/develop/php/www/waibao/NN2024071001/NN2024071001/addons/admin/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":499162500000},{"path":"/usr/local/develop/php/www/waibao/NN2024071001/NN2024071001/addons/admin/node_modules/postcss-loader/src/index.js","mtime":499162500000},{"path":"/usr/local/develop/php/www/waibao/NN2024071001/NN2024071001/addons/admin/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/usr/local/develop/php/www/waibao/NN2024071001/NN2024071001/addons/admin/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKLmxvZ2luLXdyYXBwZXIgewogIHBhZGRpbmc6IDUwcHggMjBweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoIn5AL2Fzc2V0cy9iZy1sb2dpbi5wbmciKTsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgbWluLWhlaWdodDogMTAwdmg7CiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7Cn0KCi5sb2dpbi13cmFwcGVyOmJlZm9yZSB7CiAgY29udGVudDogIiI7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMik7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMDsKICBsZWZ0OiAwOwogIHJpZ2h0OiAwOwogIGJvdHRvbTogMDsKfQoKLmxvZ2luLWZvcm0gewogIG1hcmdpbjogMCBhdXRvOwogIHdpZHRoOiAzNjBweDsKICBtYXgtd2lkdGg6IDEwMCU7CiAgcGFkZGluZzogMjVweCAzMHB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBib3gtc2hhZG93OiAwIDNweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE1KTsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGJvcmRlci1yYWRpdXM6IDRweDsKICB6LWluZGV4OiAyOwp9CgoubG9naW4tZm9ybS1yaWdodCAubG9naW4tZm9ybSB7CiAgbWFyZ2luOiAwIDE1JSAwIGF1dG87Cn0KCi5sb2dpbi1mb3JtLWxlZnQgLmxvZ2luLWZvcm0gewogIG1hcmdpbjogMCBhdXRvIDAgMTUlOwp9CgoubG9naW4tZm9ybSBoNCB7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIG1hcmdpbjogMCAwIDI1cHggMDsKfQoKLmxvZ2luLWZvcm0gPiAuZWwtZm9ybS1pdGVtIHsKICBtYXJnaW4tYm90dG9tOiAyNXB4Owp9CgoubG9naW4taW5wdXQtZ3JvdXAgewogIGRpc3BsYXk6IGZsZXg7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKfQoKLmxvZ2luLWlucHV0LWdyb3VwIDo6di1kZWVwIC5lbC1pbnB1dCB7CiAgZmxleDogMTsKfQoKLmxvZ2luLWNhcHRjaGEgewogIGhlaWdodDogMzhweDsKICB3aWR0aDogMTAycHg7CiAgbWFyZ2luLWxlZnQ6IDEwcHg7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGJvcmRlcjogMXB4IHNvbGlkICNEQ0RGRTY7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIGN1cnNvcjogcG9pbnRlcjsKfQoKLmxvZ2luLWNhcHRjaGE6aG92ZXIgewogIG9wYWNpdHk6IC43NTsKfQoKLmxvZ2luLWJ0biB7CiAgZGlzcGxheTogYmxvY2s7CiAgd2lkdGg6IDEwMCU7Cn0KCi5sb2dpbi1vYXV0aC1pY29uIHsKICBjb2xvcjogI0ZGRjsKICBwYWRkaW5nOiA1cHg7CiAgbWFyZ2luOiAwIDEwcHg7CiAgZm9udC1zaXplOiAxOHB4OwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBjdXJzb3I6IHBvaW50ZXI7Cn0KCi5sb2dpbi1jb3B5cmlnaHQgewogIGNvbG9yOiAjZWVlOwogIHBhZGRpbmctdG9wOiAyMHB4OwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgei1pbmRleDogMTsKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi1oZWlnaHQ6IDU1MHB4KSB7CiAgLmxvZ2luLWZvcm0gewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiA1MCU7CiAgICBsZWZ0OiA1MCU7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7CiAgICBtYXJnaW4tdG9wOiAtMjIwcHg7CiAgfQoKICAubG9naW4tZm9ybS1yaWdodCAubG9naW4tZm9ybSwKICAubG9naW4tZm9ybS1sZWZ0IC5sb2dpbi1mb3JtIHsKICAgIGxlZnQ6IGF1dG87CiAgICByaWdodDogMTUlOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgbWFyZ2luOiAtMjIwcHggMTAwcHggYXV0byBhdXRvOwogIH0KCiAgLmxvZ2luLWZvcm0tbGVmdCAubG9naW4tZm9ybSB7CiAgICByaWdodDogYXV0bzsKICAgIGxlZnQ6IDE1JTsKICB9CgogIC5sb2dpbi1jb3B5cmlnaHQgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgYm90dG9tOiAyMHB4OwogICAgcmlnaHQ6IDA7CiAgICBsZWZ0OiAwOwogIH0KfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsKICAubG9naW4tZm9ybS1yaWdodCAubG9naW4tZm9ybSwKICAubG9naW4tZm9ybS1sZWZ0IC5sb2dpbi1mb3JtIHsKICAgIGxlZnQ6IDUwJTsKICAgIHJpZ2h0OiBhdXRvOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOwogICAgbWFyZ2luLXJpZ2h0OiBhdXRvOwogIH0KfQo="},{"version":3,"sources":["login.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"login.vue","sourceRoot":"src/views/login","sourcesContent":["<template>\n <div :class=\"['login-wrapper', ['','login-form-right','login-form-left'][direction]]\">\n <el-form\n ref=\"loginForm\"\n :model=\"form\"\n :rules=\"rules\"\n class=\"login-form ele-bg-white\"\n size=\"large\"\n @keyup.enter.native=\"doSubmit\">\n <h4>后台管理</h4>\n <el-form-item prop=\"username\">\n <el-input\n placeholder=\"请输入登录账号\"\n v-model=\"form.username\"\n prefix-icon=\"el-icon-user\"\n clearable/>\n </el-form-item>\n <el-form-item prop=\"password\">\n <el-input\n placeholder=\"请输入登录密码\"\n v-model=\"form.password\"\n prefix-icon=\"el-icon-lock\"\n show-password/>\n </el-form-item>\n <el-form-item prop=\"captcha\">\n <div class=\"login-input-group\">\n <el-input\n placeholder=\"请输入验证码\"\n v-model=\"form.captcha\"\n prefix-icon=\"el-icon-_vercode\"/>\n <img\n v-if=\"captcha\"\n :src=\"captcha\"\n @click=\"changeCaptcha\"\n class=\"login-captcha\"\n alt=\"\"/>\n </div>\n </el-form-item>\n <div class=\"el-form-item\">\n <el-checkbox\n v-model=\"form.remember\">记住密码\n </el-checkbox>\n <!-- <el-link\n @click=\"$router.push('/forget')\"\n type=\"primary\"\n class=\"ele-pull-right\"\n :underline=\"false\">忘记密码\n </el-link> -->\n </div>\n <div class=\"el-form-item\">\n <el-button\n @click=\"doSubmit\"\n :loading=\"loading\"\n type=\"primary\"\n class=\"login-btn\"\n size=\"large\">\n {{ loading ? '登录中' : '登录' }}\n </el-button>\n </div>\n </el-form>\n <div class=\"login-copyright\">Copyright © 2017~2021 www.laravel.cn. All rights reserved.</div>\n </div>\n</template>\n\n<script>\nexport default {\n name: 'Login',\n data() {\n return {\n // 登录框方向, 0居中, 1居右, 2居左\n direction: 1,\n // 加载状态\n loading: false,\n // 表单数据\n form: {\n username: 'admin',\n password: '123456',\n captcha: '',\n remember: true,\n key:''\n },\n // 表单验证规则\n rules: { // 表单验证规则\n username: [\n {required: true, message: '请输入账号', trigger: 'blur'}\n ],\n password: [\n {required: true, message: '请输入密码', trigger: 'blur'}\n ],\n captcha: [\n {required: true, message: '请输入验证码', trigger: 'blur'}\n ]\n },\n captcha: '',\n }\n },\n mounted() {\n if (this.$store.state.user.token) this.$router.push(this.$route.query.from || '/');\n this.changeCaptcha();\n },\n methods: {\n /* 提交 */\n doSubmit() {\n this.$refs['loginForm'].validate((valid) => {\n if (!valid) {\n return false;\n }\n // if (this.form.captcha.toLowerCase() !== this.text) {\n // this.$message.error('验证码错误');\n // return;\n // }\n this.loading = true;\n // let formData = new FormData();\n // for (let key in this.form) {\n // formData.append(key, this.form[key]);\n // }\n let formData = new FormData();\n for (let key in this.form) formData.append(key, this.form[key]);\n console.log(this.form)\n this.$http.post('/login', this.form).then((res) => {\n this.loading = false;\n if (res.data.code === 0) {\n this.$message({type: 'success', message: '登录成功'});\n this.$store.dispatch('user/setToken', 'Bearer ' + res.data.data.access_token).then(() => {\n this.$router.push(this.$route.query.from || '/').catch(() => {\n });\n });\n } else {\n this.$message.error(res.data.msg);\n }\n }).catch(e => {\n console.log(e)\n this.loading = false;\n this.$message.error(\"用户名或密码不正确\");\n });\n });\n },\n /* 更换图形验证码 */\n changeCaptcha() {\n this.$http.get('/captcha').then(res => {\n if (res.data.code === 0) {\n this.captcha = res.data.data.captcha;\n this.form.key = res.data.data.key;\n // this.form.captcha = this.text;\n } else {\n this.$message.error(res.data.msg);\n }\n }).catch(e => {\n this.$message.error(e.message);\n });\n }\n }\n}\n</script>\n\n<style scoped>\n.login-wrapper {\n padding: 50px 20px;\n position: relative;\n box-sizing: border-box;\n background-image: url(\"~@/assets/bg-login.png\");\n background-repeat: no-repeat;\n background-size: cover;\n min-height: 100vh;\n background-size: 100% 100%;\n}\n\n.login-wrapper:before {\n content: \"\";\n background-color: rgba(0, 0, 0, .2);\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n}\n\n.login-form {\n margin: 0 auto;\n width: 360px;\n max-width: 100%;\n padding: 25px 30px;\n position: relative;\n box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);\n box-sizing: border-box;\n border-radius: 4px;\n z-index: 2;\n}\n\n.login-form-right .login-form {\n margin: 0 15% 0 auto;\n}\n\n.login-form-left .login-form {\n margin: 0 auto 0 15%;\n}\n\n.login-form h4 {\n text-align: center;\n margin: 0 0 25px 0;\n}\n\n.login-form > .el-form-item {\n margin-bottom: 25px;\n}\n\n.login-input-group {\n display: flex;\n align-items: center;\n}\n\n.login-input-group ::v-deep .el-input {\n flex: 1;\n}\n\n.login-captcha {\n height: 38px;\n width: 102px;\n margin-left: 10px;\n border-radius: 4px;\n border: 1px solid #DCDFE6;\n text-align: center;\n cursor: pointer;\n}\n\n.login-captcha:hover {\n opacity: .75;\n}\n\n.login-btn {\n display: block;\n width: 100%;\n}\n\n.login-oauth-icon {\n color: #FFF;\n padding: 5px;\n margin: 0 10px;\n font-size: 18px;\n border-radius: 50%;\n cursor: pointer;\n}\n\n.login-copyright {\n color: #eee;\n padding-top: 20px;\n text-align: center;\n position: relative;\n z-index: 1;\n}\n\n@media screen and (min-height: 550px) {\n .login-form {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translateX(-50%);\n margin-top: -220px;\n }\n\n .login-form-right .login-form,\n .login-form-left .login-form {\n left: auto;\n right: 15%;\n transform: translateX(0);\n margin: -220px 100px auto auto;\n }\n\n .login-form-left .login-form {\n right: auto;\n left: 15%;\n }\n\n .login-copyright {\n position: absolute;\n bottom: 20px;\n right: 0;\n left: 0;\n }\n}\n\n@media screen and (max-width: 768px) {\n .login-form-right .login-form,\n .login-form-left .login-form {\n left: 50%;\n right: auto;\n transform: translateX(-50%);\n margin-right: auto;\n }\n}\n</style>\n"]}]}