{"version":3,"sources":["webpack:///./src/views/login/login.vue?1067","webpack:///./src/views/login/login.vue","webpack:///./src/views/login/login.js","webpack:///src/views/login/login.vue","webpack:///./src/views/login/login.vue?5a2b","webpack:///./src/views/login/login.vue?7ede"],"names":["render","_vm","this","_c","_self","_setupProxy","staticClass","directives","name","rawName","value","login_actions","disabled","expression","ref","attrs","generateColumns","data","rule_data","loginType","_v","_s","staticStyle","nativeOn","$event","type","indexOf","_k","keyCode","key","onLogin","model","username","callback","$$v","$set","password","on","staticRenderFns","_this","routes","path","redirect","component","hidden","children","meta","title","icon","validator","rule","Error","trigger","test","computed","_objectSpread","mapState","authorization","state","user","methods","generateTips","_this2","$refs","validate","valid","tencentConfigApi","res","ret","errorCode","login","ticket","rand_str","randstr","setAuthorization","localStorage","JSON","stringify","setUserIMId","uuid","setTimeout","getProfile","response","setUserInfo","userInfo","addRoute","roles","sessionStorage","targetUrl","window","location","href","$router","replace","getIMToken","setUserIMToken","user_sign","$cookies","set","userSign","get","TencentCaptcha","aidEncrypted","encrypt_key","show","tencentCaptcha","err","changeUserType","options","personalCourse","Layout","role","components","default","detail","trainingSpeaking","length","concat","router","addRoutes","console","log","mapActions","mounted","access_token","LoginJs"],"mappings":"yIAAA,W,yCCAA,IAAIA,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAUF,EAAIG,MAAMC,YAAY,OAAOF,EAAG,MAAM,CAACG,YAAY,cAAc,CAACH,EAAG,MAAM,CAACG,YAAY,mBAAmB,CAACH,EAAG,UAAU,CAACI,WAAW,CAAC,CAACC,KAAK,UAAUC,QAAQ,YAAYC,MAAOT,EAAIU,cAAcC,SAAUC,WAAW,2BAA2BC,IAAI,OAAOR,YAAY,aAAaS,MAAM,CAAC,iBAAiB,OAAO,cAAc,MAAM,uBAAuBd,EAAIe,gBAAgB,YAAY,MAAQf,EAAIgB,KAAK,MAAQhB,EAAIiB,YAAY,CAAoB,YAAlBjB,EAAIkB,UAAyBhB,EAAG,KAAK,CAACF,EAAImB,GAAG,IAAInB,EAAIoB,GAAGpB,EAAIe,gBAAgB,sBAAsB,OAAOb,EAAG,KAAK,CAACF,EAAImB,GAAGnB,EAAIoB,GAAGpB,EAAIe,gBAAgB,8BAA8Bb,EAAG,eAAe,CAACY,MAAM,CAAC,KAAO,aAAa,CAACZ,EAAG,WAAW,CAACmB,YAAY,CAAC,MAAQ,mBAAmB,YAAY,SAASP,MAAM,CAAC,KAAO,OAAO,gBAAgB,MAAM,YAAc,MAAM,WAAY,GAAMQ,SAAS,CAAC,MAAQ,SAASC,GAAQ,OAAIA,EAAOC,KAAKC,QAAQ,QAAQzB,EAAI0B,GAAGH,EAAOI,QAAQ,QAAQ,GAAGJ,EAAOK,IAAI,SAAgB,KAAY5B,EAAI6B,QAAQ,UAAUC,MAAM,CAACrB,MAAOT,EAAIgB,KAAKe,SAAUC,SAAS,SAAUC,GAAMjC,EAAIkC,KAAKlC,EAAIgB,KAAM,WAAYiB,IAAMrB,WAAW,oBAAoB,GAAGV,EAAG,eAAe,CAACY,MAAM,CAAC,KAAO,aAAa,CAACZ,EAAG,WAAW,CAACmB,YAAY,CAAC,MAAQ,mBAAmB,YAAY,SAASP,MAAM,CAAC,KAAO,WAAW,gBAAgB,MAAM,YAAc,MAAMQ,SAAS,CAAC,MAAQ,SAASC,GAAQ,OAAIA,EAAOC,KAAKC,QAAQ,QAAQzB,EAAI0B,GAAGH,EAAOI,QAAQ,QAAQ,GAAGJ,EAAOK,IAAI,SAAgB,KAAY5B,EAAI6B,QAAQ,UAAUC,MAAM,CAACrB,MAAOT,EAAIgB,KAAKmB,SAAUH,SAAS,SAAUC,GAAMjC,EAAIkC,KAAKlC,EAAIgB,KAAM,WAAYiB,IAAMrB,WAAW,oBAAoB,GAAGV,EAAG,eAAe,CAACA,EAAG,YAAY,CAACkC,GAAG,CAAC,MAAQ,SAASb,GAAQ,OAAOvB,EAAI6B,QAAQ,WAAW,CAAC7B,EAAImB,GAAG,SAAS,IAAI,IAAI,GAAGjB,EAAG,MAAM,CAACG,YAAY,sBAAsBH,EAAG,MAAM,CAACG,YAAY,wBAAwBH,EAAG,MAAM,CAACY,MAAM,CAAC,GAAK,gBAEr1DuB,EAAkB,G,oKCIP,GACb9B,KAAM,QAASS,KAAI,WAAI,IAAAsB,EAAA,KACrB,MAAO,CACLC,OAAQ,CAAC,CACPC,KAAM,IAAKjC,KAAM,OAAQkC,SAAU,UAClC,CACDD,KAAM,SAAUjC,KAAM,QAASmC,UAAW,WAAF,OAAQ,6CAAmCC,QAAQ,GAC1F,CACDH,KAAM,aAAcjC,KAAM,QAASoC,QAAQ,EAAMD,UAAW,WAAF,OAAQ,6CAA+BD,SAAU,mBAAoBG,SAAU,CAAC,CACxIJ,KAAM,QAASK,KAAM,CAAEC,MAAO,YAAaC,KAAM,gBAAkBxC,KAAM,iBAAkBmC,UAAW,WAAF,OAAQ,iDAE5GhC,cAAe,CACjBC,UAAU,GACTO,UAAW,UAAWF,KAAM,CAC7Be,SAAU,GAAII,SAAU,IACvBlB,UAAW,CACZc,SAAU,CAAC,CACTiB,UAAW,SAAEC,EAAMxC,EAAOuB,GACV,KAAVvB,EACFuB,EAAS,IAAIkB,MAAMZ,EAAKvB,gBAAgB,oBAExCiB,KAEDmB,QAAS,SACVhB,SAAU,CAAC,CACba,UAAW,SAAEC,EAAMxC,EAAOuB,GACV,KAAVvB,EACFuB,EAAS,IAAIkB,MAAMZ,EAAKvB,gBAAgB,oBAEnC,YAAYqC,KAAK3C,GAGpBuB,IAFAA,EAAS,IAAIkB,MAAMZ,EAAKvB,gBAAgB,4BAK3CoC,QAAS,YAIjBE,SAAQC,eAAA,GACNC,eAAS,CACVC,cAAe,SAAAC,GAAK,OAAIA,EAAMC,KAAKF,kBAEpCG,QAAOL,eAAA,CACRvC,uBAAiB6C,oBAAc/B,QAAO,SAAGhB,GAAM,IAAAgD,EAAA,KAC7C5D,KAAK6D,MAAOjD,GAAMkD,UAAS,SAAAC,GACrBA,IACFH,EAAKnD,cAAcC,UAAW,EAC9BsD,eAAiB,IAAI,SAAAC,GACnB,IAAMlC,EAAW,SAAEkC,GACD,IAAZA,EAAIC,KAAcD,EAAIE,UA8BxBP,EAAKnD,cAAcC,UAAW,EA7B9B0D,eAAKf,8BAAC,GACDO,EAAK7C,MAAI,IAAEsD,OAAQJ,EAAII,OAAQC,SAAUL,EAAIM,WAC/C,SAAAxD,GACD6C,EAAKY,iBAAiBzD,GACtB0D,aAAalB,cAAgBmB,KAAKC,UAAU5D,GAC5C6C,EAAKgB,YAAY7D,EAAK8D,MACtBC,YAAW,WACTC,gBAAW,SAAAC,GACTpB,EAAKqB,YAAYD,GACjBP,aAAaS,SAAWR,KAAKC,UAAUK,GACvCpB,EAAKuB,SAASH,EAASI,OACnBC,eAAeC,UACjBC,OAAOC,SAASC,KAAOJ,eAAeC,UAEtC1B,EAAK8B,QAAQC,QAAQ,CACnBrF,KAAM,YAGT,GAAIsD,EAAK3C,WACZ2E,gBAAW,SAAA3B,GACTL,EAAKiC,eAAe5B,EAAI6B,WACxBlC,EAAKmC,SAASC,IAAI,WAAY/B,EAAI6B,UAAW,OAC7CT,eAAeY,SAAWrC,EAAKmC,SAASG,IAAI,cAC3C,GAAItC,EAAK3C,aACX,QACF,WACD2C,EAAKnD,cAAcC,UAAW,IAC7BkD,EAAK3C,YAKZ,IAAIsE,OAAOY,eAAe,YAAapE,EAAU,CAC/CqE,aAAcnC,EAAIoC,cACjBC,OACHC,eAAeD,UAEd,SAAAE,YAMNC,eAAc,SAAGlF,GAClBvB,KAAKiB,UAAYM,EACjBkD,aAAaxD,UAAYM,GACxB4D,SAAQ,SAAG5D,GACZvB,KAAK0F,QAAQgB,QAAQpE,OAAStC,KAAKsC,OACnC,IAAMqE,EAAiB,CAAC,CACtBpE,KAAM,UAAWjC,KAAM,SAAUmC,UAAWmE,aAAQpE,SAAU,mBAAoBI,KAAM,CACtFC,MAAO,eAAgBC,KAAM,UAAW+D,KAAM,mBAC7ClE,SAAU,CAAC,CACZJ,KAAM,WAAYE,UAAW,WAAF,OAAQ,6CAAgDG,KAAM,CAAEC,MAAO,aAAcC,KAAM,KACrH,CACDP,KAAM,gBAAiBE,UAAW,WAAF,OAAQ,iDAA0DG,KAAM,CAAEC,MAAO,gBAAiBC,KAAM,KACvI,CACDP,KAAM,iBAAkBE,UAAW,WAAF,OAAQ,4GAElCG,KAAM,CAAEC,MAAO,iBAAkBC,KAAM,KAC7C,CACDP,KAAM,WAAYE,UAAW,WAAF,OAAQ,iDAAgDG,KAAM,CAAEC,MAAO,WAAYC,KAAM,IAAMH,SAAU,CAAC,CACnIJ,KAAM,aAAcuE,WAAY,CAC9BC,QAAS,gDAAgDC,OAAQ,WAAF,OAAQ,kDAIzEpE,KAAM,CAAEC,MAAO,UAAYH,QAAQ,GAClC,CACDH,KAAM,qBAAsBuE,WAAY,CACtCC,QAAS,gDAAgDC,OAAQ,WAAF,OAAQ,kDAIzEpE,KAAM,CAAEC,MAAO,UAAYH,QAAQ,OAGtC,CACDH,KAAM,oBAAqBjC,KAAM,cAAemC,UAAW,WAAF,OAAQ,4GAAiCC,QAAQ,GACzG,CACDH,KAAM,YAAajC,KAAM,OAAQmC,UAAW,WAAF,OAAQ,4GAAiCC,QAAQ,GAC1F,CACDH,KAAM,6BAA8BE,UAAW,WAAF,OAAQ,4GAAwDC,QAAQ,GACpH,CACDH,KAAM,qBAAsBE,UAAW,WAAF,OAAQ,4GAAwDC,QAAQ,IAEzGuE,EAAmB,CAAC,CACxB1E,KAAM,oBAAqBjC,KAAM,WAAYmC,UAAWmE,aAAQpE,SAAU,iCAAkCI,KAAM,CAChHC,MAAO,mBAAoBC,KAAM,kBAAmB+D,KAAM,qBACzDlE,SAAU,CAAC,CACZJ,KAAM,YAAaK,KAAM,CAAEC,MAAO,WAAYC,KAAM,IAAMxC,KAAM,oBAAqBmC,UAAW,WAAF,OAAQ,kDACrG,CACDF,KAAM,eAAgBK,KAAM,CAAEC,MAAO,eAAgBC,KAAM,IAAMxC,KAAM,eAAgBmC,UAAW,WAAF,OAAQ,kDAOxG,CACEF,KAAM,WAAYK,KAAM,CAAEC,MAAO,WAAYC,KAAM,IAAMxC,KAAM,mBAAoBmC,UAAW,WAAF,OAAQ,kDACnG,CACDF,KAAM,OAAQK,KAAM,CAAEC,MAAO,OAAQC,KAAM,IAAMxC,KAAM,OAAQmC,UAAW,WAAF,OAAQ,qDAGlE,IAAhBlB,EAAK2F,SACPlH,KAAK0F,QAAQgB,QAAQpE,OAAStC,KAAK0F,QAAQgB,QAAQpE,OAAO6E,OAAOR,GACjES,OAAOC,UAAUV,GACjBW,QAAQC,IAAIvH,KAAK0F,QAAQgB,UAEvBnF,EAAKC,QAAQ,oBAAsB,IACrCxB,KAAK0F,QAAQgB,QAAQpE,OAAStC,KAAK0F,QAAQgB,QAAQpE,OAAO6E,OAAOR,GACjES,OAAOC,UAAUV,IAEfpF,EAAKC,QAAQ,sBAAwB,IACvCxB,KAAK0F,QAAQgB,QAAQpE,OAAStC,KAAK0F,QAAQgB,QAAQpE,OAAO6E,OAAOF,GACjEG,OAAOC,UAAUJ,MAEfO,eAAW,CAAC,mBAAoB,cAAe,cAAe,oBACnEC,QAAO,WACRzH,KAAKiB,UAAYwD,aAAaxD,WAAa,UAC3CwD,aAAaxD,UAAYjB,KAAKiB,UAC1BjB,KAAKuD,eAAiBvD,KAAKuD,cAAcmE,cAC3C1H,KAAK0F,QAAQC,QAAQ,CACnBrF,KAAM,WCzHdqH,IC3D6V,I,wBCQzVlF,EAAY,eACd,EACA3C,EACAsC,GACA,EACA,KACA,WACA,MAIa,aAAAK,E","file":"js/chunk-39f54053.9068422e.js","sourcesContent":["export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../node_modules/style-resources-loader/lib/index.js??ref--11-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=style&index=0&id=4f38b87a&prod&lang=less&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"login-page\"},[_c('div',{staticClass:\"login-container\"},[_c('el-form',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.login_actions.disabled),expression:\"login_actions.disabled\"}],ref:\"data\",staticClass:\"login-form\",attrs:{\"label-position\":\"left\",\"label-width\":\"0px\",\"element-loading-text\":_vm.generateColumns('logining'),\"model\":_vm.data,\"rules\":_vm.rule_data}},[(_vm.loginType === 'teacher')?_c('h2',[_vm._v(\" \"+_vm._s(_vm.generateColumns(\"papa_live_teacher\"))+\" \")]):_c('h2',[_vm._v(_vm._s(_vm.generateColumns(\"papa_live_help_teacher\")))]),_c('el-form-item',{attrs:{\"prop\":\"username\"}},[_c('el-input',{staticStyle:{\"width\":\"400px !important\",\"max-width\":\"400px\"},attrs:{\"type\":\"text\",\"auto-complete\":\"off\",\"placeholder\":\"用户名\",\"autofocus\":true},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.onLogin('data')}},model:{value:(_vm.data.username),callback:function ($$v) {_vm.$set(_vm.data, \"username\", $$v)},expression:\"data.username\"}})],1),_c('el-form-item',{attrs:{\"prop\":\"password\"}},[_c('el-input',{staticStyle:{\"width\":\"400px !important\",\"max-width\":\"400px\"},attrs:{\"type\":\"password\",\"auto-complete\":\"off\",\"placeholder\":\"密码\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.onLogin('data')}},model:{value:(_vm.data.password),callback:function ($$v) {_vm.$set(_vm.data, \"password\", $$v)},expression:\"data.password\"}})],1),_c('el-form-item',[_c('el-button',{on:{\"click\":function($event){return _vm.onLogin('data')}}},[_vm._v(\"登录\")])],1)],1)],1),_c('div',{staticClass:\"user-type teacher\"}),_c('div',{staticClass:\"user-type assistant\"}),_c('div',{attrs:{\"id\":\"captcha\"}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { login, getIMToken, getProfile, tencentConfigApi } from '@/api/login/login.js'\nimport { mapActions, mapState } from 'vuex'\nimport Layout from '@/layout/layout'\nimport router from '@/router/index'\nimport { generateColumns, generateTips } from '@/utils/i18n'\n\nexport default {\n name: 'login', data () {\n return {\n routes: [{\n path: '/', name: 'main', redirect: '/login'\n }, {\n path: '/login', name: 'login', component: () => import('@/views/login/login.vue'), hidden: true\n }, {\n path: '/dashboard', name: 'index', hidden: true, component: () => import('@/layout/layout.vue'), redirect: '/dashboard/index', children: [{\n path: 'index', meta: { title: 'dashboard', icon: 'courseCenter' }, name: 'dashboardIndex', component: () => import('@/views/dashboard/index.vue')\n }]\n }], login_actions: {\n disabled: false\n }, loginType: 'teacher', data: {\n username: '', password: ''\n }, rule_data: {\n username: [{\n validator: ( rule, value, callback ) => {\n if (value === '') {\n callback(new Error(this.generateColumns('input_username')))\n } else {\n callback()\n }\n }, trigger: 'blur'\n }], password: [{\n validator: ( rule, value, callback ) => {\n if (value === '') {\n callback(new Error(this.generateColumns('input_password')))\n } else {\n if (!/^.{4,16}$/.test(value)) {\n callback(new Error(this.generateColumns('password_format_error')))\n } else {\n callback()\n }\n }\n }, trigger: 'blur'\n }]\n }\n }\n }, computed: {\n ...mapState({\n authorization: state => state.user.authorization\n })\n }, methods: {\n generateColumns, generateTips, onLogin ( ref ) {\n this.$refs[ ref ].validate(valid => {\n if (valid) {\n this.login_actions.disabled = true\n tencentConfigApi({}, res => {\n const callback = ( res ) => {\n if (res.ret === 0 && !res.errorCode) {\n login({\n ...this.data, ticket: res.ticket, rand_str: res.randstr,\n }, data => {\n this.setAuthorization(data)\n localStorage.authorization = JSON.stringify(data)\n this.setUserIMId(data.uuid)\n setTimeout(() => {\n getProfile(response => {\n this.setUserInfo(response)\n localStorage.userInfo = JSON.stringify(response)\n this.addRoute(response.roles)\n if (sessionStorage.targetUrl) {\n window.location.href = sessionStorage.targetUrl\n } else {\n this.$router.replace({\n name: 'index'\n })\n }\n }, '', this.loginType)\n getIMToken(res => {\n this.setUserIMToken(res.user_sign)\n this.$cookies.set('userSign', res.user_sign, '20d')\n sessionStorage.userSign = this.$cookies.get('userSign')\n }, '', this.loginType)\n }, 2000)\n }, () => {\n this.login_actions.disabled = false\n }, this.loginType)\n } else {\n this.login_actions.disabled = false\n }\n }\n new window.TencentCaptcha('196548770', callback, {\n aidEncrypted: res.encrypt_key\n }).show()\n tencentCaptcha.show()\n\n }, err => {\n\n })\n\n }\n })\n }, changeUserType ( type ) {\n this.loginType = type\n localStorage.loginType = type\n }, addRoute ( type ) {\n this.$router.options.routes = this.routes\n const personalCourse = [{\n path: '/course', name: 'course', component: Layout, redirect: '/course/schedule', meta: {\n title: 'courseCenter', icon: 'course1', role: 'personal-course'\n }, children: [{\n path: 'schedule', component: () => import('@/views/course/schedule/schedule.vue'), meta: { title: 'mySchedule', icon: '' }\n }, {\n path: 'monthSchedule', component: () => import('@/views/course/monthSchedule/monthSchedule.vue'), meta: { title: 'monthSchedule', icon: '' }\n }, {\n path: 'teacherArrange', component: () => import(\n '@/views/course/teacherMonthSchedule/teacherArrange.vue'\n ), meta: { title: 'teacherArrange', icon: '' }\n }, {\n path: 'myCourse', component: () => import('@/views/course/myCourse/myCourse.vue'), meta: { title: 'myCourse', icon: '' }, children: [{\n path: 'detail/:id', components: {\n default: import('@/views/course/myCourse/myCourse.vue'), detail: () => import(\n '@/views/course/myCourse/courseDetail/courseDetail.vue'\n )\n }, // component:() => import('@/views/course/myCourse/courseDetail/courseDetail.vue'),\n meta: { title: 'detail' }, hidden: true\n }, {\n path: 'private/detail/:id', components: {\n default: import('@/views/course/myCourse/myCourse.vue'), detail: () => import(\n '@/views/course/myCourse/courseDetail/courseDetail.vue'\n )\n }, // component:() => import('@/views/course/myCourse/courseDetail/courseDetail.vue'),\n meta: { title: 'detail' }, hidden: true\n }]\n }]\n }, {\n path: '/private/live/:id', name: 'privateLive', component: () => import('@/views/live/live.vue'), hidden: true\n }, {\n path: '/live/:id', name: 'live', component: () => import('@/views/live/live.vue'), hidden: true\n }, {\n path: '/course/private/replay/:id', component: () => import('@/views/course/courseReplay/courseReplay.vue'), hidden: true\n }, {\n path: '/course/replay/:id', component: () => import('@/views/course/courseReplay/courseReplay.vue'), hidden: true\n }]\n const trainingSpeaking = [{\n path: '/trainingSpeaking', name: 'training', component: Layout, redirect: '/trainingspeaking_appointments', meta: {\n title: 'trainingSpeaking', icon: 'kouyu_lianxinor', role: 'training-speaking'\n }, children: [{\n path: 'schedules', meta: { title: 'schedule', icon: '' }, name: 'trainingSchedules', component: () => import('@/views/trainingSpeaking/schedules/index.vue')\n }, {\n path: 'appointments', meta: { title: 'appointments', icon: '' }, name: 'appointments', component: () => import('@/views/trainingSpeaking/appointments/index.vue')\n }, // {\n // path: 'plans',\n // meta: {title: 'plans', icon: ''},\n // name: 'trainingPlans',\n // component: () => import('@/views/trainingSpeaking/plans/index.vue'),\n // },\n {\n path: 'analytic', meta: { title: 'analytic', icon: '' }, name: 'trainingAnalytic', component: () => import('@/views/trainingSpeaking/analytic/analytic.vue')\n }, {\n path: 'mark', meta: { title: 'mark', icon: '' }, name: 'mark', component: () => import('@/views/trainingSpeaking/mark/mark.vue')\n }]\n }]\n if (type.length === 0) {\n this.$router.options.routes = this.$router.options.routes.concat(personalCourse)\n router.addRoutes(personalCourse)\n console.log(this.$router.options)\n }\n if (type.indexOf('personal-course') > -1) {\n this.$router.options.routes = this.$router.options.routes.concat(personalCourse)\n router.addRoutes(personalCourse)\n }\n if (type.indexOf('training-speaking') > -1) {\n this.$router.options.routes = this.$router.options.routes.concat(trainingSpeaking)\n router.addRoutes(trainingSpeaking)\n }\n }, ...mapActions(['setAuthorization', 'setUserInfo', 'setUserIMId', 'setUserIMToken'])\n }, mounted () {\n this.loginType = localStorage.loginType || 'teacher'\n localStorage.loginType = this.loginType\n if (this.authorization && this.authorization.access_token) {\n this.$router.replace({\n name: 'main'\n })\n }\n }\n}\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./login.vue?vue&type=template&id=4f38b87a&scoped=true\"\nimport script from \"./login.vue?vue&type=script&lang=js\"\nexport * from \"./login.vue?vue&type=script&lang=js\"\nimport style0 from \"./login.vue?vue&type=style&index=0&id=4f38b87a&prod&lang=less&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4f38b87a\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}