|
- {"version":3,"sources":["webpack:///static/js/42.dd8db922442ff13b172c.js","webpack:///./src/views/login/index.vue?8d73","webpack:///./src/utils/validate.js?1382*","webpack:///./src/assets/image/logo.png?f377","webpack:///./src/views/login/index.vue","webpack:///./src/views/login/index.vue?e2a9","webpack:///./src/views/login/index.vue?e312","webpack:///./src/assets/image/loginbj.jpg?c110","webpack:///src/views/login/index.vue"],"names":["webpackJsonp","4gIV","module","exports","__webpack_require__","push","i","version","sources","names","mappings","file","sourcesContent","sourceRoot","E4LH","__webpack_exports__","isvalidUsername","str","test","KItN","T+/8","injectStyle","ssrContext","Object","defineProperty","value","__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_index_vue__","__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_68ca229a_hasScoped_false_node_modules_vue_loader_lib_selector_type_template_index_0_index_vue__","normalizeComponent","__vue_styles__","Component","d18O","render","_vm","this","_h","$createElement","_c","_self","staticClass","style","staticStyle","float","margin-top","margin-right","attrs","src","logo","_v","ref","autoComplete","model","loginForm","rules","loginRules","label-position","label-width","_s","title","prop","icon-class","name","type","placeholder","callback","$$v","$set","trim","expression","nativeOn","keyup","$event","_k","keyCode","key","handleLogin","margin-left","color","maxlength","captcha","width","height","on","click","reRand","gutter","span","loading","preventDefault","handleRegister","staticRenderFns","esExports","i7Ae","content","locals","lu9T","p","m1D0","__WEBPACK_IMPORTED_MODULE_0__utils_validate__","__WEBPACK_IMPORTED_MODULE_1__config_comm__","__WEBPACK_IMPORTED_MODULE_2__assets_image_loginbj_jpg__","__WEBPACK_IMPORTED_MODULE_2__assets_image_loginbj_jpg___default","n","__WEBPACK_IMPORTED_MODULE_3__assets_image_logo_png__","__WEBPACK_IMPORTED_MODULE_3__assets_image_logo_png___default","data","validateUsername","rule","Error","validatePass","length","randStr","username","password","required","trigger","validator","message","bg","a","methods","$router","_this","$refs","validate","valid","console","log","$store","dispatch","then","roles","permissionGroups","addRoutes","getters","addRouters","path","catch","Math","random","toString","computed"],"mappings":"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","file":"static/js/42.dd8db922442ff13b172c.js","sourcesContent":["webpackJsonp([42],{\n\n/***/ \"4gIV\":\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(\"FZ+f\")(true);\n// imports\n\n\n// module\nexports.push([module.i, \".login-container{position:relative;width:100%;height:100%;height:100vh;background-color:#2d3a4b}.login-container input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #4a9bcd inset!important;-webkit-text-fill-color:#fff!important}.login-container input{background:transparent;border:0;-webkit-appearance:none;border-radius:0;padding:12px 5px 12px 15px;color:#eee;height:47px}.login-container .el-input{display:inline-block;height:47px;width:85%}.login-container .el-input.captcha{width:45%;float:left}.login-container .el-input.captcha input::-webkit-inner-spin-button,.login-container .el-input.captcha input::-webkit-outer-spin-button{-webkit-appearance:none!important;margin:0}.login-container .tips{font-size:14px;color:#fff;margin-bottom:10px}.login-container .svg-container{padding:6px 5px 6px 15px;color:#889aa4;vertical-align:middle;width:30px;display:inline-block}.login-container .svg-container_login{font-size:20px}.login-container .title{font-size:26px;font-weight:400;color:#eee;margin:0 auto 40px;text-align:center;font-weight:700}.login-container .login-form{position:absolute;left:0;right:0;width:400px;padding:35px 35px 15px;margin:120px auto}.login-container .el-form-item{border:1px solid hsla(0,0%,100%,.1);background:rgba(0,0,0,.1);border-radius:5px;color:#454545}.login-container .show-pwd{position:absolute;right:10px;top:7px;font-size:16px;color:#889aa4;cursor:pointer}.login-container .thirdparty-button{position:absolute;right:35px;bottom:28px}\", \"\", {\"version\":3,\"sources\":[\"D:/projects/gitLab/wxpos/posadmin/src/views/login/index.vue\"],\"names\":[],\"mappings\":\"AACA,iBACE,kBAAmB,AACnB,WAAY,AACZ,YAAa,AACb,aAAc,AACd,wBAA0B,CAC3B,AACD,wCACI,wDAA4D,AAC5D,sCAAyC,CAC5C,AACD,uBACI,uBAAwB,AACxB,SAAY,AACZ,wBAAyB,AACzB,gBAAmB,AACnB,2BAA4B,AAC5B,WAAY,AACZ,WAAa,CAChB,AACD,2BACI,qBAAsB,AACtB,YAAa,AACb,SAAW,CACd,AACD,mCACM,UAAW,AACX,UAAY,CACjB,AACD,wIAEQ,kCAAoC,AACpC,QAAU,CACjB,AACD,uBACI,eAAgB,AAChB,WAAY,AACZ,kBAAoB,CACvB,AACD,gCACI,yBAA0B,AAC1B,cAAe,AACf,sBAAuB,AACvB,WAAY,AACZ,oBAAsB,CACzB,AACD,sCACM,cAAgB,CACrB,AACD,wBACI,eAAgB,AAChB,gBAAiB,AACjB,WAAY,AACZ,mBAA2B,AAC3B,kBAAmB,AACnB,eAAkB,CACrB,AACD,6BACI,kBAAmB,AACnB,OAAQ,AACR,QAAS,AACT,YAAa,AACb,uBAA6B,AAC7B,iBAAmB,CACtB,AACD,+BACI,oCAA2C,AAC3C,0BAA+B,AAC/B,kBAAmB,AACnB,aAAe,CAClB,AACD,2BACI,kBAAmB,AACnB,WAAY,AACZ,QAAS,AACT,eAAgB,AAChB,cAAe,AACf,cAAgB,CACnB,AACD,oCACI,kBAAmB,AACnB,WAAY,AACZ,WAAa,CAChB\",\"file\":\"index.vue\",\"sourcesContent\":[\"\\n.login-container {\\n position: relative;\\n width: 100%;\\n height: 100%;\\n height: 100vh;\\n background-color: #2d3a4b;\\n}\\n.login-container input:-webkit-autofill {\\n -webkit-box-shadow: 0 0 0px 1000px #4a9bcd inset !important;\\n -webkit-text-fill-color: #fff !important;\\n}\\n.login-container input {\\n background: transparent;\\n border: 0px;\\n -webkit-appearance: none;\\n border-radius: 0px;\\n padding: 12px 5px 12px 15px;\\n color: #eee;\\n height: 47px;\\n}\\n.login-container .el-input {\\n display: inline-block;\\n height: 47px;\\n width: 85%;\\n}\\n.login-container .el-input.captcha {\\n width: 45%;\\n float: left;\\n}\\n.login-container .el-input.captcha input::-webkit-outer-spin-button,\\n .login-container .el-input.captcha input::-webkit-inner-spin-button {\\n -webkit-appearance: none !important;\\n margin: 0;\\n}\\n.login-container .tips {\\n font-size: 14px;\\n color: #fff;\\n margin-bottom: 10px;\\n}\\n.login-container .svg-container {\\n padding: 6px 5px 6px 15px;\\n color: #889aa4;\\n vertical-align: middle;\\n width: 30px;\\n display: inline-block;\\n}\\n.login-container .svg-container_login {\\n font-size: 20px;\\n}\\n.login-container .title {\\n font-size: 26px;\\n font-weight: 400;\\n color: #eee;\\n margin: 0px auto 40px auto;\\n text-align: center;\\n font-weight: bold;\\n}\\n.login-container .login-form {\\n position: absolute;\\n left: 0;\\n right: 0;\\n width: 400px;\\n padding: 35px 35px 15px 35px;\\n margin: 120px auto;\\n}\\n.login-container .el-form-item {\\n border: 1px solid rgba(255, 255, 255, 0.1);\\n background: rgba(0, 0, 0, 0.1);\\n border-radius: 5px;\\n color: #454545;\\n}\\n.login-container .show-pwd {\\n position: absolute;\\n right: 10px;\\n top: 7px;\\n font-size: 16px;\\n color: #889aa4;\\n cursor: pointer;\\n}\\n.login-container .thirdparty-button {\\n position: absolute;\\n right: 35px;\\n bottom: 28px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n\n/***/ }),\n\n/***/ \"E4LH\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = isvalidUsername;\n/* unused harmony export validateURL */\n/* unused harmony export validateLowerCase */\n/* unused harmony export validateUpperCase */\n/* unused harmony export validatAlphabets */\n/**\r\n * Created by jiachenpan on 16/11/18.\r\n */\n\nfunction isvalidUsername(str) {\n var reg = /^[a-zA-Z0-9]+$/;\n return reg.test(str);\n}\n\n/* 合法uri*/\nfunction validateURL(textval) {\n var urlregex = /^(https?|ftp):\\/\\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+\\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\\/($|[a-zA-Z0-9.,?'\\\\+&%$#=~_-]+))*$/;\n return urlregex.test(textval);\n}\n\n/* 小写字母*/\nfunction validateLowerCase(str) {\n var reg = /^[a-z]+$/;\n return reg.test(str);\n}\n\n/* 大写字母*/\nfunction validateUpperCase(str) {\n var reg = /^[A-Z]+$/;\n return reg.test(str);\n}\n\n/* 大小写字母*/\nfunction validatAlphabets(str) {\n var reg = /^[A-Za-z]+$/;\n return reg.test(str);\n}\n\n/***/ }),\n\n/***/ \"KItN\":\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHoAAAAdCAYAAABlqHgGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlEN0E1RTM4M0FFRTExRTg4MEI2ODFBNEM0NzAyNjQzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlEN0E1RTM5M0FFRTExRTg4MEI2ODFBNEM0NzAyNjQzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUQ3QTVFMzYzQUVFMTFFODgwQjY4MUE0QzQ3MDI2NDMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OUQ3QTVFMzczQUVFMTFFODgwQjY4MUE0QzQ3MDI2NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5YQBN7AAAGMElEQVR42uya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\"\n\n/***/ }),\n\n/***/ \"T+/8\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(\"m1D0\");\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_68ca229a_hasScoped_false_node_modules_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(\"d18O\");\nfunction injectStyle (ssrContext) {\n __webpack_require__(\"i7Ae\")\n}\nvar normalizeComponent = __webpack_require__(\"VU/8\")\n/* script */\n\n/* template */\n\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_index_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_68ca229a_hasScoped_false_node_modules_vue_loader_lib_selector_type_template_index_0_index_vue__[\"a\" /* default */],\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Component.exports);\n\n\n/***/ }),\n\n/***/ \"d18O\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"login-container\",\n style: (_vm.bg)\n }, [_c('div', {\n staticStyle: {\n \"float\": \"right\",\n \"margin-top\": \"2%\",\n \"margin-right\": \"5%\"\n }\n }, [_c('img', {\n attrs: {\n \"src\": _vm.logo\n }\n })]), _vm._v(\" \"), _c('el-form', {\n ref: \"loginForm\",\n staticClass: \"card-box login-form\",\n attrs: {\n \"autoComplete\": \"on\",\n \"model\": _vm.loginForm,\n \"rules\": _vm.loginRules,\n \"label-position\": \"left\",\n \"label-width\": \"0px\"\n }\n }, [_c('h3', {\n staticClass: \"title\"\n }, [_vm._v(_vm._s(_vm.title))]), _vm._v(\" \"), _c('el-form-item', {\n attrs: {\n \"prop\": \"username\"\n }\n }, [_c('span', {\n staticClass: \"svg-container svg-container_login\"\n }, [_c('icon-svg', {\n attrs: {\n \"icon-class\": \"yonghuming\"\n }\n })], 1), _vm._v(\" \"), _c('el-input', {\n attrs: {\n \"name\": \"username\",\n \"type\": \"text\",\n \"autoComplete\": \"on\",\n \"placeholder\": \"登录帐号\"\n },\n model: {\n value: (_vm.loginForm.username),\n callback: function($$v) {\n _vm.$set(_vm.loginForm, \"username\", (typeof $$v === 'string' ? $$v.trim() : $$v))\n },\n expression: \"loginForm.username\"\n }\n })], 1), _vm._v(\" \"), _c('el-form-item', {\n attrs: {\n \"prop\": \"password\"\n }\n }, [_c('span', {\n staticClass: \"svg-container\"\n }, [_c('icon-svg', {\n attrs: {\n \"icon-class\": \"mima\"\n }\n })], 1), _vm._v(\" \"), _c('el-input', {\n attrs: {\n \"name\": \"password\",\n \"type\": \"password\",\n \"autoComplete\": \"on\",\n \"placeholder\": \"密码\"\n },\n nativeOn: {\n \"keyup\": function($event) {\n if (!('button' in $event) && _vm._k($event.keyCode, \"enter\", 13, $event.key)) { return null; }\n _vm.handleLogin($event)\n }\n },\n model: {\n value: (_vm.loginForm.password),\n callback: function($$v) {\n _vm.$set(_vm.loginForm, \"password\", (typeof $$v === 'string' ? $$v.trim() : $$v))\n },\n expression: \"loginForm.password\"\n }\n })], 1), _vm._v(\" \"), _c('el-form-item', {\n staticClass: \"captcha\",\n attrs: {\n \"prop\": \"captcha\"\n }\n }, [_c('icon-svg', {\n staticStyle: {\n \"float\": \"left\",\n \"margin-top\": \"16px\",\n \"margin-left\": \"18px\",\n \"color\": \"#889aa4\"\n },\n attrs: {\n \"icon-class\": \"quanxian\"\n }\n }), _vm._v(\" \"), _c('el-input', {\n staticClass: \"captcha\",\n attrs: {\n \"type\": \"text\",\n \"placeholder\": \"验证码\",\n \"maxlength\": 5\n },\n nativeOn: {\n \"keyup\": function($event) {\n if (!('button' in $event) && _vm._k($event.keyCode, \"enter\", 13, $event.key)) { return null; }\n _vm.handleLogin($event)\n }\n },\n model: {\n value: (_vm.loginForm.captcha),\n callback: function($$v) {\n _vm.$set(_vm.loginForm, \"captcha\", $$v)\n },\n expression: \"loginForm.captcha\"\n }\n }), _vm._v(\" \"), _c('img', {\n staticStyle: {\n \"float\": \"right\"\n },\n attrs: {\n \"src\": _vm.captcha,\n \"width\": \"100\",\n \"height\": \"50\"\n },\n on: {\n \"click\": _vm.reRand\n }\n })], 1), _vm._v(\" \"), _c('el-row', {\n attrs: {\n \"gutter\": 20\n }\n }, [_c('el-col', {\n attrs: {\n \"span\": 12\n }\n }, [_c('el-button', {\n staticStyle: {\n \"width\": \"100%\"\n },\n attrs: {\n \"type\": \"primary\",\n \"loading\": _vm.loading\n },\n nativeOn: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.handleLogin($event)\n }\n }\n }, [_vm._v(\"\\n 立即登录\\n \")])], 1), _vm._v(\" \"), _c('el-col', {\n attrs: {\n \"span\": 12\n }\n }, [_c('el-button', {\n staticStyle: {\n \"width\": \"100%\"\n },\n attrs: {\n \"type\": \"primary\"\n },\n nativeOn: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.handleRegister($event)\n }\n }\n }, [_vm._v(\"\\n 立即注册\\n \")])], 1)], 1)], 1)], 1)\n}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\n\n/***/ }),\n\n/***/ \"i7Ae\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(\"4gIV\");\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(\"rjj0\")(\"23f62a5c\", content, true);\n\n/***/ }),\n\n/***/ \"lu9T\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"static/img/loginbj.5fd65cb.jpg\";\n\n/***/ }),\n\n/***/ \"m1D0\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_validate__ = __webpack_require__(\"E4LH\");\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__config_comm__ = __webpack_require__(\"Caii\");\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__assets_image_loginbj_jpg__ = __webpack_require__(\"lu9T\");\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__assets_image_loginbj_jpg___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__assets_image_loginbj_jpg__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__assets_image_logo_png__ = __webpack_require__(\"KItN\");\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__assets_image_logo_png___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__assets_image_logo_png__);\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__[\"a\"] = ({\n name: \"login\",\n data: function data() {\n var validateUsername = function validateUsername(rule, value, callback) {\n if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__utils_validate__[\"a\" /* isvalidUsername */])(value)) {\n callback(new Error(\"请输入正确的用户名\"));\n } else {\n callback();\n }\n };\n var validatePass = function validatePass(rule, value, callback) {\n if (value.length < 6) {\n callback(new Error(\"密码不能小于6位\"));\n } else {\n callback();\n }\n };\n return {\n title: __WEBPACK_IMPORTED_MODULE_1__config_comm__[\"a\" /* default */].title,\n randStr: \"\",\n loginForm: {\n username: \"\",\n password: \"\",\n captcha: \"\"\n },\n loginRules: {\n username: [{ required: true, trigger: \"blur\", validator: validateUsername }],\n password: [{ required: true, trigger: \"blur\", validator: validatePass }],\n captcha: [{ required: true, message: \"验证码必填\", trigger: \"blur\" }]\n },\n loading: false,\n bg: \"background-image: url(\" + __WEBPACK_IMPORTED_MODULE_2__assets_image_loginbj_jpg___default.a + \");\",\n logo: __WEBPACK_IMPORTED_MODULE_3__assets_image_logo_png___default.a\n };\n },\n\n methods: {\n handleRegister: function handleRegister() {\n this.$router.push(\"/register\");\n },\n handleLogin: function handleLogin() {\n var _this = this;\n\n this.$refs.loginForm.validate(function (valid) {\n if (valid) {\n _this.loading = true;\n _this.$store.dispatch(\"Login\", _this.loginForm).then(function (data) {\n _this.loading = false;\n _this.$store.dispatch(\"GenerateRoutes\", { roles: data.permissionGroups }).then(function () {\n _this.$router.addRoutes(_this.$store.getters.addRouters);\n _this.$router.push({ path: \"/\" });\n });\n }).catch(function () {\n _this.loading = false;\n });\n } else {\n console.log(\"error submit!!\");\n return false;\n }\n });\n },\n reRand: function reRand() {\n this.randStr = Math.random().toString();\n }\n },\n computed: {\n captcha: function captcha() {\n return \"http://ota.neusoft.com:28080/\" + \"service-user/login/captcha?rand=\" + this.randStr;\n }\n }\n});\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/42.dd8db922442ff13b172c.js","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(true);\n// imports\n\n\n// module\nexports.push([module.id, \".login-container{position:relative;width:100%;height:100%;height:100vh;background-color:#2d3a4b}.login-container input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #4a9bcd inset!important;-webkit-text-fill-color:#fff!important}.login-container input{background:transparent;border:0;-webkit-appearance:none;border-radius:0;padding:12px 5px 12px 15px;color:#eee;height:47px}.login-container .el-input{display:inline-block;height:47px;width:85%}.login-container .el-input.captcha{width:45%;float:left}.login-container .el-input.captcha input::-webkit-inner-spin-button,.login-container .el-input.captcha input::-webkit-outer-spin-button{-webkit-appearance:none!important;margin:0}.login-container .tips{font-size:14px;color:#fff;margin-bottom:10px}.login-container .svg-container{padding:6px 5px 6px 15px;color:#889aa4;vertical-align:middle;width:30px;display:inline-block}.login-container .svg-container_login{font-size:20px}.login-container .title{font-size:26px;font-weight:400;color:#eee;margin:0 auto 40px;text-align:center;font-weight:700}.login-container .login-form{position:absolute;left:0;right:0;width:400px;padding:35px 35px 15px;margin:120px auto}.login-container .el-form-item{border:1px solid hsla(0,0%,100%,.1);background:rgba(0,0,0,.1);border-radius:5px;color:#454545}.login-container .show-pwd{position:absolute;right:10px;top:7px;font-size:16px;color:#889aa4;cursor:pointer}.login-container .thirdparty-button{position:absolute;right:35px;bottom:28px}\", \"\", {\"version\":3,\"sources\":[\"D:/projects/gitLab/wxpos/posadmin/src/views/login/index.vue\"],\"names\":[],\"mappings\":\"AACA,iBACE,kBAAmB,AACnB,WAAY,AACZ,YAAa,AACb,aAAc,AACd,wBAA0B,CAC3B,AACD,wCACI,wDAA4D,AAC5D,sCAAyC,CAC5C,AACD,uBACI,uBAAwB,AACxB,SAAY,AACZ,wBAAyB,AACzB,gBAAmB,AACnB,2BAA4B,AAC5B,WAAY,AACZ,WAAa,CAChB,AACD,2BACI,qBAAsB,AACtB,YAAa,AACb,SAAW,CACd,AACD,mCACM,UAAW,AACX,UAAY,CACjB,AACD,wIAEQ,kCAAoC,AACpC,QAAU,CACjB,AACD,uBACI,eAAgB,AAChB,WAAY,AACZ,kBAAoB,CACvB,AACD,gCACI,yBAA0B,AAC1B,cAAe,AACf,sBAAuB,AACvB,WAAY,AACZ,oBAAsB,CACzB,AACD,sCACM,cAAgB,CACrB,AACD,wBACI,eAAgB,AAChB,gBAAiB,AACjB,WAAY,AACZ,mBAA2B,AAC3B,kBAAmB,AACnB,eAAkB,CACrB,AACD,6BACI,kBAAmB,AACnB,OAAQ,AACR,QAAS,AACT,YAAa,AACb,uBAA6B,AAC7B,iBAAmB,CACtB,AACD,+BACI,oCAA2C,AAC3C,0BAA+B,AAC/B,kBAAmB,AACnB,aAAe,CAClB,AACD,2BACI,kBAAmB,AACnB,WAAY,AACZ,QAAS,AACT,eAAgB,AAChB,cAAe,AACf,cAAgB,CACnB,AACD,oCACI,kBAAmB,AACnB,WAAY,AACZ,WAAa,CAChB\",\"file\":\"index.vue\",\"sourcesContent\":[\"\\n.login-container {\\n position: relative;\\n width: 100%;\\n height: 100%;\\n height: 100vh;\\n background-color: #2d3a4b;\\n}\\n.login-container input:-webkit-autofill {\\n -webkit-box-shadow: 0 0 0px 1000px #4a9bcd inset !important;\\n -webkit-text-fill-color: #fff !important;\\n}\\n.login-container input {\\n background: transparent;\\n border: 0px;\\n -webkit-appearance: none;\\n border-radius: 0px;\\n padding: 12px 5px 12px 15px;\\n color: #eee;\\n height: 47px;\\n}\\n.login-container .el-input {\\n display: inline-block;\\n height: 47px;\\n width: 85%;\\n}\\n.login-container .el-input.captcha {\\n width: 45%;\\n float: left;\\n}\\n.login-container .el-input.captcha input::-webkit-outer-spin-button,\\n .login-container .el-input.captcha input::-webkit-inner-spin-button {\\n -webkit-appearance: none !important;\\n margin: 0;\\n}\\n.login-container .tips {\\n font-size: 14px;\\n color: #fff;\\n margin-bottom: 10px;\\n}\\n.login-container .svg-container {\\n padding: 6px 5px 6px 15px;\\n color: #889aa4;\\n vertical-align: middle;\\n width: 30px;\\n display: inline-block;\\n}\\n.login-container .svg-container_login {\\n font-size: 20px;\\n}\\n.login-container .title {\\n font-size: 26px;\\n font-weight: 400;\\n color: #eee;\\n margin: 0px auto 40px auto;\\n text-align: center;\\n font-weight: bold;\\n}\\n.login-container .login-form {\\n position: absolute;\\n left: 0;\\n right: 0;\\n width: 400px;\\n padding: 35px 35px 15px 35px;\\n margin: 120px auto;\\n}\\n.login-container .el-form-item {\\n border: 1px solid rgba(255, 255, 255, 0.1);\\n background: rgba(0, 0, 0, 0.1);\\n border-radius: 5px;\\n color: #454545;\\n}\\n.login-container .show-pwd {\\n position: absolute;\\n right: 10px;\\n top: 7px;\\n font-size: 16px;\\n color: #889aa4;\\n cursor: pointer;\\n}\\n.login-container .thirdparty-button {\\n position: absolute;\\n right: 35px;\\n bottom: 28px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader?{\"minimize\":true,\"sourceMap\":true}!./~/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-68ca229a\",\"scoped\":false,\"hasInlineConfig\":false}!./~/sass-loader/lib/loader.js?{\"sourceMap\":true}!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/views/login/index.vue\n// module id = 4gIV\n// module chunks = 42","/**\r\n * Created by jiachenpan on 16/11/18.\r\n */\r\n\r\nexport function isvalidUsername(str) {\r\n const reg = /^[a-zA-Z0-9]+$/\r\n return reg.test(str)\r\n}\r\n\r\n/* 合法uri*/\r\nexport function validateURL(textval) {\r\n const urlregex = /^(https?|ftp):\\/\\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+\\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\\/($|[a-zA-Z0-9.,?'\\\\+&%$#=~_-]+))*$/\r\n return urlregex.test(textval)\r\n}\r\n\r\n/* 小写字母*/\r\nexport function validateLowerCase(str) {\r\n const reg = /^[a-z]+$/\r\n return reg.test(str)\r\n}\r\n\r\n/* 大写字母*/\r\nexport function validateUpperCase(str) {\r\n const reg = /^[A-Z]+$/\r\n return reg.test(str)\r\n}\r\n\r\n/* 大小写字母*/\r\nexport function validatAlphabets(str) {\r\n const reg = /^[A-Za-z]+$/\r\n return reg.test(str)\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/validate.js","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHoAAAAdCAYAAABlqHgGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlEN0E1RTM4M0FFRTExRTg4MEI2ODFBNEM0NzAyNjQzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlEN0E1RTM5M0FFRTExRTg4MEI2ODFBNEM0NzAyNjQzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUQ3QTVFMzYzQUVFMTFFODgwQjY4MUE0QzQ3MDI2NDMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OUQ3QTVFMzczQUVFMTFFODgwQjY4MUE0QzQ3MDI2NDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5YQBN7AAAGMElEQVR42uya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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/image/logo.png\n// module id = KItN\n// module chunks = 32 42","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"minimize\\\":true,\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-68ca229a\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./index.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-68ca229a\\\",\\\"hasScoped\\\":false}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./index.vue\"\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/login/index.vue\n// module id = T+/8\n// module chunks = 42","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"login-container\",\n style: (_vm.bg)\n }, [_c('div', {\n staticStyle: {\n \"float\": \"right\",\n \"margin-top\": \"2%\",\n \"margin-right\": \"5%\"\n }\n }, [_c('img', {\n attrs: {\n \"src\": _vm.logo\n }\n })]), _vm._v(\" \"), _c('el-form', {\n ref: \"loginForm\",\n staticClass: \"card-box login-form\",\n attrs: {\n \"autoComplete\": \"on\",\n \"model\": _vm.loginForm,\n \"rules\": _vm.loginRules,\n \"label-position\": \"left\",\n \"label-width\": \"0px\"\n }\n }, [_c('h3', {\n staticClass: \"title\"\n }, [_vm._v(_vm._s(_vm.title))]), _vm._v(\" \"), _c('el-form-item', {\n attrs: {\n \"prop\": \"username\"\n }\n }, [_c('span', {\n staticClass: \"svg-container svg-container_login\"\n }, [_c('icon-svg', {\n attrs: {\n \"icon-class\": \"yonghuming\"\n }\n })], 1), _vm._v(\" \"), _c('el-input', {\n attrs: {\n \"name\": \"username\",\n \"type\": \"text\",\n \"autoComplete\": \"on\",\n \"placeholder\": \"登录帐号\"\n },\n model: {\n value: (_vm.loginForm.username),\n callback: function($$v) {\n _vm.$set(_vm.loginForm, \"username\", (typeof $$v === 'string' ? $$v.trim() : $$v))\n },\n expression: \"loginForm.username\"\n }\n })], 1), _vm._v(\" \"), _c('el-form-item', {\n attrs: {\n \"prop\": \"password\"\n }\n }, [_c('span', {\n staticClass: \"svg-container\"\n }, [_c('icon-svg', {\n attrs: {\n \"icon-class\": \"mima\"\n }\n })], 1), _vm._v(\" \"), _c('el-input', {\n attrs: {\n \"name\": \"password\",\n \"type\": \"password\",\n \"autoComplete\": \"on\",\n \"placeholder\": \"密码\"\n },\n nativeOn: {\n \"keyup\": function($event) {\n if (!('button' in $event) && _vm._k($event.keyCode, \"enter\", 13, $event.key)) { return null; }\n _vm.handleLogin($event)\n }\n },\n model: {\n value: (_vm.loginForm.password),\n callback: function($$v) {\n _vm.$set(_vm.loginForm, \"password\", (typeof $$v === 'string' ? $$v.trim() : $$v))\n },\n expression: \"loginForm.password\"\n }\n })], 1), _vm._v(\" \"), _c('el-form-item', {\n staticClass: \"captcha\",\n attrs: {\n \"prop\": \"captcha\"\n }\n }, [_c('icon-svg', {\n staticStyle: {\n \"float\": \"left\",\n \"margin-top\": \"16px\",\n \"margin-left\": \"18px\",\n \"color\": \"#889aa4\"\n },\n attrs: {\n \"icon-class\": \"quanxian\"\n }\n }), _vm._v(\" \"), _c('el-input', {\n staticClass: \"captcha\",\n attrs: {\n \"type\": \"text\",\n \"placeholder\": \"验证码\",\n \"maxlength\": 5\n },\n nativeOn: {\n \"keyup\": function($event) {\n if (!('button' in $event) && _vm._k($event.keyCode, \"enter\", 13, $event.key)) { return null; }\n _vm.handleLogin($event)\n }\n },\n model: {\n value: (_vm.loginForm.captcha),\n callback: function($$v) {\n _vm.$set(_vm.loginForm, \"captcha\", $$v)\n },\n expression: \"loginForm.captcha\"\n }\n }), _vm._v(\" \"), _c('img', {\n staticStyle: {\n \"float\": \"right\"\n },\n attrs: {\n \"src\": _vm.captcha,\n \"width\": \"100\",\n \"height\": \"50\"\n },\n on: {\n \"click\": _vm.reRand\n }\n })], 1), _vm._v(\" \"), _c('el-row', {\n attrs: {\n \"gutter\": 20\n }\n }, [_c('el-col', {\n attrs: {\n \"span\": 12\n }\n }, [_c('el-button', {\n staticStyle: {\n \"width\": \"100%\"\n },\n attrs: {\n \"type\": \"primary\",\n \"loading\": _vm.loading\n },\n nativeOn: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.handleLogin($event)\n }\n }\n }, [_vm._v(\"\\n 立即登录\\n \")])], 1), _vm._v(\" \"), _c('el-col', {\n attrs: {\n \"span\": 12\n }\n }, [_c('el-button', {\n staticStyle: {\n \"width\": \"100%\"\n },\n attrs: {\n \"type\": \"primary\"\n },\n nativeOn: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.handleRegister($event)\n }\n }\n }, [_vm._v(\"\\n 立即注册\\n \")])], 1)], 1)], 1)], 1)\n}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler?{\"id\":\"data-v-68ca229a\",\"hasScoped\":false}!./~/vue-loader/lib/selector.js?type=template&index=0!./src/views/login/index.vue\n// module id = d18O\n// module chunks = 42","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?{\\\"minimize\\\":true,\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-68ca229a\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../../node_modules/sass-loader/lib/loader.js?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\")(\"23f62a5c\", content, true);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/extract-text-webpack-plugin/loader.js?{\"omit\":1,\"remove\":true}!./~/vue-style-loader!./~/css-loader?{\"minimize\":true,\"sourceMap\":true}!./~/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-68ca229a\",\"scoped\":false,\"hasInlineConfig\":false}!./~/sass-loader/lib/loader.js?{\"sourceMap\":true}!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/views/login/index.vue\n// module id = i7Ae\n// module chunks = 42","module.exports = __webpack_public_path__ + \"static/img/loginbj.5fd65cb.jpg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/image/loginbj.jpg\n// module id = lu9T\n// module chunks = 32 42","<template>\r\n <div class=\"login-container\" :style=\"bg\">\r\n <div style=\"float: right;margin-top:2%;margin-right:5%\">\r\n <img :src=\"logo\"/>\r\n </div>\r\n <el-form autoComplete=\"on\" :model=\"loginForm\" :rules=\"loginRules\" ref=\"loginForm\" label-position=\"left\"\r\n label-width=\"0px\"\r\n class=\"card-box login-form\">\r\n <h3 class=\"title\">{{title}}</h3>\r\n <el-form-item prop=\"username\">\r\n <span class=\"svg-container svg-container_login\">\r\n <icon-svg icon-class=\"yonghuming\"/>\r\n </span>\r\n <el-input name=\"username\" type=\"text\" v-model.trim=\"loginForm.username\" autoComplete=\"on\"\r\n placeholder=\"登录帐号\"/>\r\n </el-form-item>\r\n <el-form-item prop=\"password\">\r\n <span class=\"svg-container\">\r\n <icon-svg icon-class=\"mima\"></icon-svg>\r\n </span>\r\n <el-input name=\"password\" type=\"password\" @keyup.enter.native=\"handleLogin\"\r\n v-model.trim=\"loginForm.password\"\r\n autoComplete=\"on\"\r\n placeholder=\"密码\"></el-input>\r\n </el-form-item>\r\n <el-form-item class=\"captcha\" prop=\"captcha\">\r\n <icon-svg style=\"float:left;margin-top: 16px;margin-left: 18px;color:#889aa4;\"\r\n icon-class=\"quanxian\"></icon-svg>\r\n <el-input type=\"text\" class=\"captcha\" v-model=\"loginForm.captcha\" placeholder=\"验证码\" :maxlength=\"5\" @keyup.enter.native=\"handleLogin\">\r\n </el-input>\r\n <img @click=\"reRand\" :src=\"captcha\" width=\"100\" height=\"50\" style=\"float:right;\"/>\r\n </el-form-item>\r\n <el-row :gutter=\"20\">\r\n <el-col :span=\"12\">\r\n <el-button type=\"primary\" style=\"width:100%;\" :loading=\"loading\"\r\n @click.native.prevent=\"handleLogin\">\r\n 立即登录\r\n </el-button>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-button type=\"primary\" style=\"width:100%;\" @click.native.prevent=\"handleRegister\">\r\n 立即注册\r\n </el-button>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n import {isvalidUsername} from \"@/utils/validate\";\r\n import C from \"@/config/comm\";\r\n import loginbj from \"@/assets/image/loginbj.jpg\";\r\n import logo from \"@/assets/image/logo.png\";\r\n\r\n export default {\r\n name: \"login\",\r\n data() {\r\n const validateUsername = (rule, value, callback) => {\r\n if (!isvalidUsername(value)) {\r\n callback(new Error(\"请输入正确的用户名\"));\r\n } else {\r\n callback();\r\n }\r\n };\r\n const validatePass = (rule, value, callback) => {\r\n if (value.length < 6) {\r\n callback(new Error(\"密码不能小于6位\"));\r\n } else {\r\n callback();\r\n }\r\n };\r\n return {\r\n title: C.title,\r\n randStr: \"\",\r\n loginForm: {\r\n username: \"\",\r\n password: \"\",\r\n captcha: \"\"\r\n },\r\n loginRules: {\r\n username: [\r\n {required: true, trigger: \"blur\", validator: validateUsername}\r\n ],\r\n password: [\r\n {required: true, trigger: \"blur\", validator: validatePass}\r\n ],\r\n captcha: [{required: true, message: \"验证码必填\", trigger: \"blur\"}]\r\n },\r\n loading: false,\r\n bg: \"background-image: url(\" + loginbj + \");\",\r\n logo: logo\r\n };\r\n },\r\n methods: {\r\n handleRegister() {\r\n this.$router.push(\"/register\");\r\n },\r\n handleLogin() {\r\n this.$refs.loginForm.validate(valid => {\r\n if (valid) {\r\n this.loading = true;\r\n this.$store\r\n .dispatch(\"Login\", this.loginForm)\r\n .then(data => {\r\n this.loading = false;\r\n this.$store\r\n .dispatch(\"GenerateRoutes\", {roles: data.permissionGroups})\r\n .then(() => {\r\n this.$router.addRoutes(this.$store.getters.addRouters);\r\n this.$router.push({path: \"/\"});\r\n });\r\n })\r\n .catch(() => {\r\n this.loading = false;\r\n });\r\n } else {\r\n console.log(\"error submit!!\");\r\n return false;\r\n }\r\n });\r\n },\r\n reRand() {\r\n this.randStr = Math.random().toString()\r\n }\r\n },\r\n computed: {\r\n captcha: function () {\r\n return process.env.BASE_API + \"service-user/login/captcha?rand=\" + this.randStr\r\n }\r\n }\r\n };\r\n</script>\r\n\r\n<style rel=\"stylesheet/scss\" lang=\"scss\">\r\n @import \"src/styles/mixin.scss\";\r\n\r\n $bg: #2d3a4b;\r\n $dark_gray: #889aa4;\r\n $light_gray: #eee;\r\n .login-container {\r\n @include relative;\r\n height: 100vh;\r\n background-color: $bg;\r\n input:-webkit-autofill {\r\n -webkit-box-shadow: 0 0 0px 1000px #4a9bcd inset !important;\r\n -webkit-text-fill-color: #fff !important;\r\n }\r\n input {\r\n background: transparent;\r\n border: 0px;\r\n -webkit-appearance: none;\r\n border-radius: 0px;\r\n padding: 12px 5px 12px 15px;\r\n color: $light_gray;\r\n height: 47px;\r\n }\r\n .el-input {\r\n display: inline-block;\r\n height: 47px;\r\n width: 85%;\r\n &.captcha {\r\n width: 45%;\r\n float: left;\r\n input::-webkit-outer-spin-button,\r\n input::-webkit-inner-spin-button {\r\n -webkit-appearance: none !important;\r\n margin: 0;\r\n }\r\n }\r\n }\r\n .tips {\r\n font-size: 14px;\r\n color: #fff;\r\n margin-bottom: 10px;\r\n }\r\n .svg-container {\r\n padding: 6px 5px 6px 15px;\r\n color: $dark_gray;\r\n vertical-align: middle;\r\n width: 30px;\r\n display: inline-block;\r\n &_login {\r\n font-size: 20px;\r\n }\r\n }\r\n .title {\r\n font-size: 26px;\r\n font-weight: 400;\r\n color: $light_gray;\r\n margin: 0px auto 40px auto;\r\n text-align: center;\r\n font-weight: bold;\r\n }\r\n .login-form {\r\n position: absolute;\r\n left: 0;\r\n right: 0;\r\n width: 400px;\r\n padding: 35px 35px 15px 35px;\r\n margin: 120px auto;\r\n }\r\n .el-form-item {\r\n border: 1px solid rgba(255, 255, 255, 0.1);\r\n background: rgba(0, 0, 0, 0.1);\r\n border-radius: 5px;\r\n color: #454545;\r\n }\r\n .show-pwd {\r\n position: absolute;\r\n right: 10px;\r\n top: 7px;\r\n font-size: 16px;\r\n color: $dark_gray;\r\n cursor: pointer;\r\n }\r\n .thirdparty-button {\r\n position: absolute;\r\n right: 35px;\r\n bottom: 28px;\r\n }\r\n }\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/login/index.vue?4450e412"],"sourceRoot":""}
|