(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[14],{ /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/login/login.vue?vue&type=script&lang=js&": /*!***************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/login/login.vue?vue&type=script&lang=js& ***! \***************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Login',\n data: function 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 // 表单验证规则\n username: [{\n required: true,\n message: '请输入账号',\n trigger: 'blur'\n }],\n password: [{\n required: true,\n message: '请输入密码',\n trigger: 'blur'\n }],\n captcha: [{\n required: true,\n message: '请输入验证码',\n trigger: 'blur'\n }]\n },\n captcha: ''\n };\n },\n mounted: function mounted() {\n if (this.$store.state.user.token) this.$router.push(this.$route.query.from || '/');\n this.changeCaptcha();\n },\n methods: {\n /* 提交 */\n doSubmit: function doSubmit() {\n var _this = this;\n\n this.$refs['loginForm'].validate(function (valid) {\n if (!valid) {\n return false;\n } // if (this.form.captcha.toLowerCase() !== this.text) {\n // this.$message.error('验证码错误');\n // return;\n // }\n\n\n _this.loading = true; // let formData = new FormData();\n // for (let key in this.form) {\n // formData.append(key, this.form[key]);\n // }\n\n var formData = new FormData();\n\n for (var key in _this.form) {\n formData.append(key, _this.form[key]);\n }\n\n console.log(_this.form);\n\n _this.$http.post('/login', _this.form).then(function (res) {\n _this.loading = false;\n\n if (res.data.code === 0) {\n _this.$message({\n type: 'success',\n message: '登录成功'\n });\n\n _this.$store.dispatch('user/setToken', 'Bearer ' + res.data.data.access_token).then(function () {\n _this.$router.push(_this.$route.query.from || '/').catch(function () {});\n });\n } else {\n _this.$message.error(res.data.msg);\n }\n }).catch(function (e) {\n console.log(e);\n _this.loading = false;\n\n _this.$message.error(\"用户名或密码不正确\");\n });\n });\n },\n\n /* 更换图形验证码 */\n changeCaptcha: function changeCaptcha() {\n var _this2 = this;\n\n this.$http.get('/captcha').then(function (res) {\n if (res.data.code === 0) {\n _this2.captcha = res.data.data.captcha;\n _this2.form.key = res.data.data.key; // this.form.captcha = this.text;\n } else {\n _this2.$message.error(res.data.msg);\n }\n }).catch(function (e) {\n _this2.$message.error(e.message);\n });\n }\n }\n});\n\n//# sourceURL=webpack:///./src/views/login/login.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"38fccce7-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/login/login.vue?vue&type=template&id=a49090ce&scoped=true&": /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38fccce7-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/login/login.vue?vue&type=template&id=a49090ce&scoped=true& ***! \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n class: [\n \"login-wrapper\",\n [\"\", \"login-form-right\", \"login-form-left\"][_vm.direction]\n ]\n },\n [\n _c(\n \"el-form\",\n {\n ref: \"loginForm\",\n staticClass: \"login-form ele-bg-white\",\n attrs: { model: _vm.form, rules: _vm.rules, size: \"large\" },\n nativeOn: {\n keyup: function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n return _vm.doSubmit($event)\n }\n }\n },\n [\n _c(\"h4\", [_vm._v(\"后台管理\")]),\n _c(\n \"el-form-item\",\n { attrs: { prop: \"username\" } },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder: \"请输入登录账号\",\n \"prefix-icon\": \"el-icon-user\",\n clearable: \"\"\n },\n model: {\n value: _vm.form.username,\n callback: function($$v) {\n _vm.$set(_vm.form, \"username\", $$v)\n },\n expression: \"form.username\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { prop: \"password\" } },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder: \"请输入登录密码\",\n \"prefix-icon\": \"el-icon-lock\",\n \"show-password\": \"\"\n },\n model: {\n value: _vm.form.password,\n callback: function($$v) {\n _vm.$set(_vm.form, \"password\", $$v)\n },\n expression: \"form.password\"\n }\n })\n ],\n 1\n ),\n _c(\"el-form-item\", { attrs: { prop: \"captcha\" } }, [\n _c(\n \"div\",\n { staticClass: \"login-input-group\" },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder: \"请输入验证码\",\n \"prefix-icon\": \"el-icon-_vercode\"\n },\n model: {\n value: _vm.form.captcha,\n callback: function($$v) {\n _vm.$set(_vm.form, \"captcha\", $$v)\n },\n expression: \"form.captcha\"\n }\n }),\n _vm.captcha\n ? _c(\"img\", {\n staticClass: \"login-captcha\",\n attrs: { src: _vm.captcha, alt: \"\" },\n on: { click: _vm.changeCaptcha }\n })\n : _vm._e()\n ],\n 1\n )\n ]),\n _c(\n \"div\",\n { staticClass: \"el-form-item\" },\n [\n _c(\n \"el-checkbox\",\n {\n model: {\n value: _vm.form.remember,\n callback: function($$v) {\n _vm.$set(_vm.form, \"remember\", $$v)\n },\n expression: \"form.remember\"\n }\n },\n [_vm._v(\"记住密码 \")]\n )\n ],\n 1\n ),\n _c(\n \"div\",\n { staticClass: \"el-form-item\" },\n [\n _c(\n \"el-button\",\n {\n staticClass: \"login-btn\",\n attrs: {\n loading: _vm.loading,\n type: \"primary\",\n size: \"large\"\n },\n on: { click: _vm.doSubmit }\n },\n [_vm._v(\" \" + _vm._s(_vm.loading ? \"登录中\" : \"登录\") + \" \")]\n )\n ],\n 1\n )\n ],\n 1\n ),\n _c(\"div\", { staticClass: \"login-copyright\" }, [\n _vm._v(\"Copyright © 2017~2021 www.laravel.cn. All rights reserved.\")\n ])\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/login/login.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%2238fccce7-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/login/login.vue?vue&type=style&index=0&id=a49090ce&scoped=true&lang=css&": /*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--6-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/login/login.vue?vue&type=style&index=0&id=a49090ce&scoped=true&lang=css& ***! \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_GET_URL_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\nvar ___CSS_LOADER_URL_IMPORT_0___ = __webpack_require__(/*! @/assets/bg-login.png */ \"./src/assets/bg-login.png\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\nexports.push([module.i, \"\\n.login-wrapper[data-v-a49090ce] {\\n padding: 50px 20px;\\n position: relative;\\n box-sizing: border-box;\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n background-repeat: no-repeat;\\n background-size: cover;\\n min-height: 100vh;\\n background-size: 100% 100%;\\n}\\n.login-wrapper[data-v-a49090ce]: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.login-form[data-v-a49090ce] {\\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.login-form-right .login-form[data-v-a49090ce] {\\n margin: 0 15% 0 auto;\\n}\\n.login-form-left .login-form[data-v-a49090ce] {\\n margin: 0 auto 0 15%;\\n}\\n.login-form h4[data-v-a49090ce] {\\n text-align: center;\\n margin: 0 0 25px 0;\\n}\\n.login-form > .el-form-item[data-v-a49090ce] {\\n margin-bottom: 25px;\\n}\\n.login-input-group[data-v-a49090ce] {\\n display: flex;\\n align-items: center;\\n}\\n.login-input-group[data-v-a49090ce] .el-input {\\n flex: 1;\\n}\\n.login-captcha[data-v-a49090ce] {\\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.login-captcha[data-v-a49090ce]:hover {\\n opacity: .75;\\n}\\n.login-btn[data-v-a49090ce] {\\n display: block;\\n width: 100%;\\n}\\n.login-oauth-icon[data-v-a49090ce] {\\n color: #FFF;\\n padding: 5px;\\n margin: 0 10px;\\n font-size: 18px;\\n border-radius: 50%;\\n cursor: pointer;\\n}\\n.login-copyright[data-v-a49090ce] {\\n color: #eee;\\n padding-top: 20px;\\n text-align: center;\\n position: relative;\\n z-index: 1;\\n}\\n@media screen and (min-height: 550px) {\\n.login-form[data-v-a49090ce] {\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n transform: translateX(-50%);\\n margin-top: -220px;\\n}\\n.login-form-right .login-form[data-v-a49090ce],\\n .login-form-left .login-form[data-v-a49090ce] {\\n left: auto;\\n right: 15%;\\n transform: translateX(0);\\n margin: -220px 100px auto auto;\\n}\\n.login-form-left .login-form[data-v-a49090ce] {\\n right: auto;\\n left: 15%;\\n}\\n.login-copyright[data-v-a49090ce] {\\n position: absolute;\\n bottom: 20px;\\n right: 0;\\n left: 0;\\n}\\n}\\n@media screen and (max-width: 768px) {\\n.login-form-right .login-form[data-v-a49090ce],\\n .login-form-left .login-form[data-v-a49090ce] {\\n left: 50%;\\n right: auto;\\n transform: translateX(-50%);\\n margin-right: auto;\\n}\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/views/login/login.vue?./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--6-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/login/login.vue?vue&type=style&index=0&id=a49090ce&scoped=true&lang=css&": /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/vue-style-loader??ref--6-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--6-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/login/login.vue?vue&type=style&index=0&id=a49090ce&scoped=true&lang=css& ***! \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// style-loader: Adds some css to the DOM by adding a