{"version":3,"sources":["webpack:///./src/views/ap/login/Login.vue?9753","webpack:///./src/controllers/ap/login/Login.ts","webpack:///./src/controllers/ap/login/Login.ts?f910","webpack:///./src/views/ap/login/Login.vue"],"names":["render","_vm","this","_c","_self","_setupProxy","staticClass","_m","showLogin","_e","attrs","_v","directives","name","rawName","value","login","expression","modifiers","domProps","on","$event","target","composing","$set","trim","$forceUpdate","requiredMsg","isPwdShow","eventKeyPress","eventKeyUp","pwdOrigin","changeInputType","errMsg","password","_s","verificationCode","imgSrc","preventDefault","refresh","identification","checkCode","account","doubleClick","stopPropagation","checkAndSubmit","staticRenderFns","isLoading","Protobuf","Login","create","uid","isCapsLock","created","sleep","userAgent","navigator","indexOf","alert","mounted","window","addEventListener","eventEnter","ua","toLowerCase","isLineApp","isFbApp","isIgApp","isWeixinApp","beforeDestroy","removeEventListener","ms","Promise","resolve","setTimeout","isEmpty","submit","item","encoder","TextEncoder","encode","toString","console","log","loginQuery","finish","errorCodeForCheckCode","ErrorCode","EC_CAPTCHA_ERROR","responseInfo","errorCode","EC_SUCESS","EC_USER_IS_NOT_EXISTS","EC_USER_IS_DISABLE","EC_USER_LOGIN_ERROR","storeUserInfo","StoreUser","decode","Uint8Array","failedCount","loginFailedCount","EC_USER_IS_LOCK","EC_OVER_ONLINE_UPPER_LIMIT","userAuth","UserAuth","set","token","expires","sameSite","groupPermission","permission","userAuthPrivJson","JSON","stringify","setAuth","JWT","loginType","String","userInfo","type","$router","push","id","Math","floor","Date","getTime","getCaptcha","event","key","length","e","Event","isShiftKey","shiftKey","LoginLoginController","components","Loading","component"],"mappings":"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","file":"js/chunk-2d0be187.a72db850.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"login\"},[_vm._m(0),(!_vm.showLogin)?_c('div',{staticClass:\"bgBlock col-10 flex--center\"},[_vm._m(1)]):_vm._e(),(_vm.showLogin)?_c('div',{staticClass:\"bgBlock col-6 flex--center\"},[_c('div',{staticClass:\"col-8\"},[_c('form',[_c('div',{staticClass:\"col-row\"},[_c('label',{attrs:{\"for\":\"\"}},[_vm._v(\"特店代號/統編\")]),_c('div',{staticClass:\"e-formGroup e-formGroup--12\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.login.identification),expression:\"login.identification\",modifiers:{\"trim\":true}}],staticClass:\"e-formGroup_item e-formGroup_item--login\",attrs:{\"type\":\"text\",\"placeholder\":\"請輸入特店代號/統編\",\"maxlength\":\"20\",\"onkeyup\":\"value=value.replace(/[^\\\\u0000-\\\\u00ff]/g,'')\",\"onbeforepaste\":\"clipboarddata.setdata(text,clipboarddata.getdata(text).replace(/[^\\\\u0000-\\\\u00ff]/g,''))\"},domProps:{\"value\":(_vm.login.identification)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.login, \"identification\", $event.target.value.trim())},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('img',{staticClass:\"e-formGroup_icon e-formGroup_icon--l\",attrs:{\"src\":\"/img/user.svg\",\"alt\":\"\"}})]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.requiredMsg.identification),expression:\"requiredMsg.identification\"}],staticClass:\"e-formGroup_err\"},[_vm._v(\"必填\")])]),_c('div',{staticClass:\"col-row\"},[_c('label',{attrs:{\"for\":\"\"}},[_vm._v(\"使用者代號\")]),_c('div',{staticClass:\"e-formGroup e-formGroup--12\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.login.account),expression:\"login.account\",modifiers:{\"trim\":true}}],staticClass:\"e-formGroup_item e-formGroup_item--login\",attrs:{\"type\":\"text\",\"placeholder\":\"請輸入使用者代號\",\"maxlength\":\"20\",\"onkeyup\":\"value=value.replace(/[^\\\\u0000-\\\\u00ff]/g,'')\",\"onbeforepaste\":\"clipboarddata.setdata(text,clipboarddata.getdata(text).replace(/[^\\\\u0000-\\\\u00ff]/g,''))\"},domProps:{\"value\":(_vm.login.account)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.login, \"account\", $event.target.value.trim())},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('img',{staticClass:\"e-formGroup_icon e-formGroup_icon--l\",attrs:{\"src\":\"/img/user.svg\",\"alt\":\"\"}})]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.requiredMsg.account),expression:\"requiredMsg.account\"}],staticClass:\"e-formGroup_err\"},[_vm._v(\"必填\")])]),_c('div',{staticClass:\"col-row\"},[_c('label',{attrs:{\"for\":\"\"}},[_vm._v(\"密碼\")]),_c('div',{staticClass:\"e-formGroup e-formGroup--12\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.pwdOrigin),expression:\"pwdOrigin\",modifiers:{\"trim\":true}},{name:\"show\",rawName:\"v-show\",value:(!_vm.isPwdShow),expression:\"!isPwdShow\"}],staticClass:\"e-formGroup_item e-formGroup_item--login\",attrs:{\"type\":\"password\",\"placeholder\":\"請輸入密碼\"},domProps:{\"value\":(_vm.pwdOrigin)},on:{\"keypress\":_vm.eventKeyPress,\"keyup\":_vm.eventKeyUp,\"input\":function($event){if($event.target.composing)return;_vm.pwdOrigin=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.pwdOrigin),expression:\"pwdOrigin\",modifiers:{\"trim\":true}},{name:\"show\",rawName:\"v-show\",value:(_vm.isPwdShow),expression:\"isPwdShow\"}],staticClass:\"e-formGroup_item e-formGroup_item--login\",attrs:{\"type\":\"text\",\"placeholder\":\"請輸入密碼\"},domProps:{\"value\":(_vm.pwdOrigin)},on:{\"keypress\":_vm.eventKeyPress,\"keyup\":_vm.eventKeyUp,\"input\":function($event){if($event.target.composing)return;_vm.pwdOrigin=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('img',{staticClass:\"e-formGroup_icon e-formGroup_icon--l\",attrs:{\"src\":\"/img/pwlock.svg\",\"alt\":\"\"}}),_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isPwdShow),expression:\"!isPwdShow\"}],staticClass:\"e-formGroup_icon h-zindex5 mb3\",attrs:{\"src\":\"/img/icon-show.svg\",\"alt\":\"\"},on:{\"click\":function($event){return _vm.changeInputType('text')}}}),_vm._v(\" \"),_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isPwdShow),expression:\"isPwdShow\"}],staticClass:\"e-formGroup_icon h-zindex5 mb3\",attrs:{\"src\":\"/img/icon-hide.svg\",\"alt\":\"\"},on:{\"click\":function($event){return _vm.changeInputType('password')}}})]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errMsg.password !== ''),expression:\"errMsg.password !== ''\"}],staticClass:\"e-formGroup_err\"},[_vm._v(_vm._s(_vm.errMsg.password))]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.requiredMsg.password),expression:\"requiredMsg.password\"}],staticClass:\"e-formGroup_err\"},[_vm._v(\"必填\")]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isCapsLock),expression:\"isCapsLock\"}],staticClass:\"e-formGroup_err\"},[_vm._v(\"已啟用CapsLock!\")])]),_c('div',{staticClass:\"col-row flex--sb\"},[_c('div',{staticClass:\"col-6 col-noGutter\"},[_c('div',{staticClass:\"e-form\"},[_c('label',{attrs:{\"for\":\"\"}},[_vm._v(\"驗證碼\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.login.checkCode),expression:\"login.checkCode\",modifiers:{\"trim\":true}}],staticClass:\"e-formGroup_item\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.login.checkCode)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.login, \"checkCode\", $event.target.value.trim())},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.requiredMsg.checkCode),expression:\"requiredMsg.checkCode\"}],staticClass:\"e-formGroup_err\"},[_vm._v(\"必填\")])])]),_c('div',{staticClass:\"col-6 col-noGutter flex--end\"},[_c('img',{staticClass:\"e-form_img\",attrs:{\"src\":_vm.verificationCode.imgSrc}}),_c('a',{on:{\"click\":function($event){$event.preventDefault();return _vm.refresh()}}},[_c('img',{staticClass:\"mt25\",attrs:{\"src\":\"/img/refresh.svg\",\"alt\":\"\"}})])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errMsg.identification !== ''),expression:\"errMsg.identification !== ''\"}],staticClass:\"e-formGroup_err\"},[_vm._v(_vm._s(_vm.errMsg.identification))]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errMsg.checkCode !== ''),expression:\"errMsg.checkCode !== ''\"}],staticClass:\"e-formGroup_err\"},[_vm._v(_vm._s(_vm.errMsg.checkCode))]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errMsg.account !== ''),expression:\"errMsg.account !== ''\"}],staticClass:\"e-formGroup_err\"},[_vm._v(_vm._s(_vm.errMsg.account))])]),_c('div',{staticClass:\"col-row flex--center mb-20\"},[_c('a',{staticClass:\"e-btn e-btn--primary e-btn--w100\",attrs:{\"disabled\":_vm.doubleClick},on:{\"click\":function($event){$event.stopPropagation();return _vm.checkAndSubmit()}}},[_vm._v(\"登入\")])]),_c('div',{staticClass:\"col-row txt-c\"},[_c('router-link',{staticClass:\"e-formGroup_txt\",attrs:{\"to\":\"/forget\"}},[_c('span',[_vm._v(\"忘記密碼\")])])],1)]),_c('p',{staticClass:\"txt-c mt20\"},[_vm._v(\"© 合作金庫 Web對帳查詢平台\")])])]):_vm._e(),_c('Loading',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isLoading),expression:\"isLoading\"}]})],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"col-row flex--center\"},[_c('img',{staticClass:\"logo\",attrs:{\"src\":\"/img/logo.png\",\"alt\":\"\"}})])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"col-10 l-mask_title\"},[_c('label',{staticClass:\"l-mask_center\"},[_vm._v(\"系統訊息\")]),_c('p',[_vm._v(\"為符合主管機關規範,請您另利用瀏覽器(如Microsoft Edge、Google Chrome等)開啟合作金庫 Web對帳查詢平台相關連結。\")])])\n}]\n\nexport { render, staticRenderFns }","import { Component, Vue } from \"vue-property-decorator\";\r\nimport Cookies from 'js-cookie';\r\n\r\nimport { Loading } from \"@/components\";\r\nimport { LoginModel } from \"@/models\";\r\nimport { TCBReceiptApi } from \"@/network/pb/proto\";\r\nimport { AuthType, Network } from \"@/network\";\r\nimport { UserInfo } from \"@/types/Login\";\r\nimport * as CryptoJS from 'crypto-js'\r\n\r\n@Component({\r\n components: {\r\n Loading,\r\n },\r\n})\r\nexport default class LoginLoginController extends Vue {\r\n private isLoading = true;\r\n private doubleClick = false;\r\n private isPwdShow = false;\r\n\r\n private login = TCBReceiptApi.Protobuf.Login.create();\r\n private pwdOrigin = \"\";\r\n private errMsg: {\r\n identification: string,\r\n account: string,\r\n password: string,\r\n checkCode: string,\r\n } = {\r\n identification: \"\",\r\n account: \"\",\r\n password: \"\",\r\n checkCode: \"\",\r\n };\r\n private verificationCode: {\r\n uid: string,\r\n imgSrc: string,\r\n } = {\r\n uid: \"\",\r\n imgSrc: \"\",\r\n };\r\n private requiredMsg: {\r\n identification: boolean,\r\n account: boolean,\r\n password: boolean,\r\n checkCode: boolean,\r\n } = {\r\n identification: false,\r\n account: false,\r\n password: false,\r\n checkCode: false,\r\n };\r\n private isCapsLock = false; \r\n private showLogin = true; \r\n\r\n public async created() {\r\n if(this.showLogin){\r\n // get first code pic\r\n await this.refresh();\r\n\r\n this.isLoading = false;\r\n\r\n await this.sleep(1500);\r\n const userAgent = navigator.userAgent; // 取得瀏覽器的userAgent字串 藉此辨認\r\n if (!(userAgent.indexOf(\"Chrome\") > -1 || userAgent.indexOf(\"Edg\") > -1)) { // Trident => IE\r\n alert(\"本網站建議使用Chrome、Edge瀏覽器瀏覽\");\r\n }\r\n }\r\n }\r\n\r\n public mounted() {\r\n window.addEventListener('keyup', this.eventEnter);\r\n\r\n const userAgent = navigator.userAgent;\r\n const ua = navigator.userAgent.toLowerCase();\r\n const isLineApp = userAgent.indexOf(\"Line\") > -1; // Line 內建瀏覽器\r\n const isFbApp = userAgent.indexOf(\"FBAV\") > -1 || userAgent.indexOf(\"FBAN\") > -1;// FB App 內建瀏覽器\r\n const isIgApp = ua.indexOf(\"instagram\") > -1;// FB App 內建瀏覽器\r\n const isWeixinApp = ua.indexOf(\"micromessenger\") > -1; // 微信內建瀏覽器\r\n if(isLineApp || isFbApp || isIgApp || isWeixinApp){\r\n this.showLogin = false;\r\n }\r\n }\r\n\r\n public beforeDestroy() {\r\n window.removeEventListener('keyup', this.eventEnter);\r\n } \r\n\r\n private async sleep(ms: number) {\r\n return new Promise((resolve) => {\r\n setTimeout(resolve, ms);\r\n });\r\n }\r\n\r\n private async checkAndSubmit() {\r\n let isEmpty = false;\r\n\r\n // init\r\n this.errMsg.identification = \"\";\r\n this.errMsg.account = \"\";\r\n this.errMsg.password = \"\";\r\n this.errMsg.checkCode = \"\";\r\n this.requiredMsg.identification = false;\r\n this.requiredMsg.account = false;\r\n this.requiredMsg.password = false;\r\n this.requiredMsg.checkCode = false;\r\n\r\n if (this.login.identification === \"\") {\r\n this.requiredMsg.identification = true;\r\n isEmpty = true;\r\n }\r\n if (this.login.account === \"\") {\r\n this.requiredMsg.account = true;\r\n isEmpty = true;\r\n }\r\n if (this.pwdOrigin === \"\") {\r\n this.requiredMsg.password = true;\r\n isEmpty = true;\r\n }\r\n if (this.login.checkCode === \"\") {\r\n this.requiredMsg.checkCode = true;\r\n isEmpty = true;\r\n }\r\n\r\n if (isEmpty) return false;\r\n\r\n await this.submit();\r\n }\r\n\r\n private async submit() {\r\n \r\n if (!this.doubleClick) {\r\n this.doubleClick = true;\r\n\r\n /* send value */\r\n this.isLoading = true;\r\n\r\n const item = this.login as TCBReceiptApi.Protobuf.Login;\r\n const encoder = new TextEncoder();\r\n item.password = encoder.encode(this.pwdOrigin);\r\n item.account = CryptoJS.SHA256(this.login.account).toString();\r\n console.log(item);\r\n const loginQuery = TCBReceiptApi.Protobuf.Login.encode(item).finish();\r\n \r\n // 驗證碼\r\n const errorCodeForCheckCode = await LoginModel.checkCode(loginQuery);\r\n if (errorCodeForCheckCode === TCBReceiptApi.Protobuf.ErrorCode.EC_CAPTCHA_ERROR) {\r\n this.errMsg.checkCode = \"驗證碼錯誤\";\r\n this.refresh();\r\n this.isLoading = false;\r\n this.doubleClick = false;\r\n this.login.checkCode = \"\";\r\n this.login.account = \"\";\r\n return false;\r\n }\r\n\r\n // 登入\r\n const responseInfo = await LoginModel.login(loginQuery);\r\n const errorCode = responseInfo.errorCode as number;\r\n\r\n this.doubleClick = false;\r\n this.isLoading = false;\r\n\r\n if (errorCode !== TCBReceiptApi.Protobuf.ErrorCode.EC_SUCESS) {\r\n if (errorCode === TCBReceiptApi.Protobuf.ErrorCode.EC_USER_IS_NOT_EXISTS) {\r\n this.errMsg.identification = \"特店代號/統編錯誤或帳號不存在\";\r\n } else if (errorCode === TCBReceiptApi.Protobuf.ErrorCode.EC_USER_IS_DISABLE) {\r\n this.errMsg.identification = \"此帳號已停用\";\r\n } else if (errorCode === TCBReceiptApi.Protobuf.ErrorCode.EC_USER_LOGIN_ERROR) {\r\n const storeUserInfo = TCBReceiptApi.Protobuf.StoreUser.decode(\r\n new Uint8Array(responseInfo.item)\r\n );\r\n console.log(storeUserInfo);\r\n const failedCount = storeUserInfo.loginFailedCount as number;\r\n this.errMsg.account = \"密碼已錯誤\" + failedCount + \"次,您還有\" + (5 - failedCount) + \"次機會\";\r\n } else if (errorCode === TCBReceiptApi.Protobuf.ErrorCode.EC_USER_IS_LOCK) {\r\n this.errMsg.identification = \"此帳號已鎖定\";\r\n } else if (errorCode === TCBReceiptApi.Protobuf.ErrorCode.EC_OVER_ONLINE_UPPER_LIMIT) {\r\n this.errMsg.identification = \"目前已達登入上限,請稍後再登入\";\r\n } else {\r\n this.errMsg.identification = \"例外錯誤\";\r\n }\r\n\r\n this.login.account = \"\";\r\n this.pwdOrigin = \"\";\r\n this.login.checkCode = \"\";\r\n this.refresh();\r\n return false;\r\n }\r\n\r\n // 登入成功\r\n console.log(\"####登入成功####\");\r\n const userAuth = TCBReceiptApi.Protobuf.UserAuth.decode(\r\n new Uint8Array(responseInfo.item)\r\n );\r\n console.log(userAuth);\r\n\r\n Cookies.set(\"appToken\", userAuth.token as string, { expires: 1, sameSite: 'strict' });\r\n if (userAuth.groupPermission && userAuth.groupPermission.permission) {\r\n const userAuthPrivJson: string = JSON.stringify(userAuth.groupPermission.permission) as string;\r\n Cookies.set(\"appUserAuthPrivJson\", userAuthPrivJson, { sameSite: 'strict' });\r\n }\r\n Network.setAuth(AuthType.JWT, userAuth.token as string);\r\n\r\n // 紀錄登入狀態\r\n if (userAuth.loginType) {\r\n const loginType = String(userAuth.loginType);\r\n Cookies.set(\"loginType\", loginType as string, { sameSite: 'strict' });\r\n }\r\n // 紀錄資訊\r\n const userInfo: UserInfo = {\r\n identification: this.login.identification as string,\r\n account: this.login.account as string,\r\n };\r\n Cookies.set(\"appUserInfo\", JSON.stringify(userInfo) as string, { sameSite: 'strict' });\r\n // 紀錄帳號類型\r\n if (userAuth.type === 4) { // 管理員帳號\r\n Cookies.set(\"isAdmin\", \"1\" as string, { sameSite: 'strict' });\r\n }\r\n\r\n this.$router.push(\"/announcement/list\");\r\n /* send value */\r\n }\r\n }\r\n\r\n private async refresh() {\r\n this.login.id = Math.floor(new Date().getTime() / 1000) as number;\r\n\r\n /* send value */\r\n const item = this.login as TCBReceiptApi.Protobuf.Login;\r\n const loginQuery = TCBReceiptApi.Protobuf.Login.encode(item).finish();\r\n\r\n await LoginModel.getCaptcha(loginQuery);\r\n /* send value */\r\n this.verificationCode.imgSrc = process.env.VUE_APP_API_BASE_URL + \"/api/web_user/captcha/img?timestamp=\" + this.login.id;\r\n }\r\n\r\n private changeInputType(type: number) {\r\n if (!this.isPwdShow) {\r\n this.isPwdShow = true;\r\n } else if (this.isPwdShow) {\r\n this.isPwdShow = false;\r\n }\r\n }\r\n\r\n /* 無法直接讀取\"CapsLock\"狀態,僅能依賴是否鍵入\"CapsLock\"切換且往後鍵入的字符來判斷是否有開啟\"CapsLock\" */\r\n /* 僅運作在英文輸入法 */\r\n\r\n // 判斷是否有切換\"CapsLock\"大寫鎖定鍵\r\n private eventKeyUp(event: KeyboardEvent) {\r\n // KeyPress 能觸發\"Shift\"與\"CapsLock\" \r\n // ex.如果是\"Shift\"+\"a\" => 則觸發兩個事件,完全獨立觸發,判斷不到\"Shift\"狀態\r\n if (event.key === \"CapsLock\" && this.pwdOrigin.length > 0) {\r\n this.isCapsLock = !this.isCapsLock;\r\n }\r\n\r\n return;\r\n }\r\n\r\n // 判斷大小寫狀態\r\n private eventKeyPress(event: KeyboardEvent) {\r\n // KeyPress 不觸發\"Shift\"與\"CapsLock\" \r\n // ex.如果是\"Shift\"+\"a\" => 僅觸發一個事件且帶有\"Shift\"狀態\r\n const e = event||window.Event;\r\n const isShiftKey = e.shiftKey ? true : false;\r\n\r\n if (\r\n (isShiftKey && e.key >= 'a' && e.key <= 'z') ||\r\n (!isShiftKey && e.key >= 'A' && e.key <= 'Z' && e.key != 'Enter')\r\n ) {\r\n this.isCapsLock = true;\r\n } else {\r\n this.isCapsLock = false;\r\n }\r\n\r\n return;\r\n }\r\n\r\n private eventEnter(event: KeyboardEvent) {\r\n if (event.key == \"Enter\") {\r\n this.checkAndSubmit();\r\n }\r\n }\r\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--14-2!../../../../node_modules/eslint-loader/index.js??ref--13-0!./Login.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--14-2!../../../../node_modules/eslint-loader/index.js??ref--13-0!./Login.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=7dd727b5&\"\nimport script from \"@/controllers/ap/login/Login?vue&type=script&lang=ts&\"\nexport * from \"@/controllers/ap/login/Login?vue&type=script&lang=ts&\"\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 null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}