{"version":3,"sources":["webpack:///./src/views/ap/login/Reset.vue?b4ae","webpack:///./src/controllers/ap/login/Reset.ts","webpack:///./src/controllers/ap/login/Reset.ts?bba4","webpack:///./src/views/ap/login/Reset.vue"],"names":["render","_vm","this","_c","_self","_setupProxy","staticClass","_m","attrs","_v","directives","name","rawName","value","reset","expression","modifiers","domProps","on","$event","target","composing","$set","trim","$forceUpdate","errMsg","new","_s","again","doubleClick","stopPropagation","checkAndSubmit","hintBox","show","hint","closeHint","staticRenderFns","isLoading","isDone","created","checkIsTimeOut","$route","query","token","$router","push","set","sameSite","setAuth","JWT","checkResetPasswordPeriod","errorCode","console","log","Protobuf","ErrorCode","EC_SUCESS","EC_RESET_PASSWORD_EXPIRED","openHint","isEmpty","submit","encoder","TextEncoder","Encrypt","getE2EEpd","crypted2","passwordMotify","PasswordMotify","create","newPassword","encode","etoeePassword","resetQuery","finish","resetPassword","EC_PASSWORD_LENGTH_ERROR","EC_PASSWORD_FORMAT_ERROR","EC_SAME_PASSWORD_ERROR","LoginResetController","components","Loading","Hint","component"],"mappings":"yHAAA,IAAIA,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAUF,EAAIG,MAAMC,YAAY,OAAOF,EAAG,MAAM,CAACG,YAAY,SAAS,CAACL,EAAIM,GAAG,GAAGJ,EAAG,MAAM,CAACG,YAAY,8BAA8B,CAACH,EAAG,MAAM,CAACG,YAAY,SAAS,CAACH,EAAG,OAAO,CAACA,EAAG,MAAM,CAACG,YAAY,WAAW,CAACH,EAAG,QAAQ,CAACK,MAAM,CAAC,IAAM,KAAK,CAACP,EAAIQ,GAAG,YAAYN,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAACH,EAAG,QAAQ,CAACO,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,eAAeC,MAAOZ,EAAIa,MAAS,IAAEC,WAAW,YAAYC,UAAU,CAAC,MAAO,KAAQV,YAAY,2CAA2CE,MAAM,CAAC,KAAO,WAAW,YAAc,wBAAwB,UAAY,MAAMS,SAAS,CAAC,MAAShB,EAAIa,MAAS,KAAGI,GAAG,CAAC,MAAQ,SAASC,GAAWA,EAAOC,OAAOC,WAAiBpB,EAAIqB,KAAKrB,EAAIa,MAAO,MAAOK,EAAOC,OAAOP,MAAMU,SAAS,KAAO,SAASJ,GAAQ,OAAOlB,EAAIuB,mBAAmBrB,EAAG,MAAM,CAACG,YAAY,uCAAuCE,MAAM,CAAC,IAAM,kBAAkB,IAAM,QAAQL,EAAG,MAAM,CAACO,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAASC,MAA0B,KAAnBZ,EAAIwB,OAAOC,IAAYX,WAAW,sBAAsBT,YAAY,mBAAmB,CAACL,EAAIQ,GAAGR,EAAI0B,GAAG1B,EAAIwB,OAAOC,UAAUvB,EAAG,MAAM,CAACG,YAAY,WAAW,CAACH,EAAG,QAAQ,CAACK,MAAM,CAAC,IAAM,KAAK,CAACP,EAAIQ,GAAG,aAAaN,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAACH,EAAG,QAAQ,CAACO,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,eAAeC,MAAOZ,EAAIa,MAAW,MAAEC,WAAW,cAAcC,UAAU,CAAC,MAAO,KAAQV,YAAY,2CAA2CE,MAAM,CAAC,KAAO,WAAW,YAAc,UAAU,UAAY,MAAMS,SAAS,CAAC,MAAShB,EAAIa,MAAW,OAAGI,GAAG,CAAC,MAAQ,SAASC,GAAWA,EAAOC,OAAOC,WAAiBpB,EAAIqB,KAAKrB,EAAIa,MAAO,QAASK,EAAOC,OAAOP,MAAMU,SAAS,KAAO,SAASJ,GAAQ,OAAOlB,EAAIuB,mBAAmBrB,EAAG,MAAM,CAACG,YAAY,uCAAuCE,MAAM,CAAC,IAAM,kBAAkB,IAAM,QAAQL,EAAG,MAAM,CAACO,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAASC,MAA4B,KAArBZ,EAAIwB,OAAOG,MAAcb,WAAW,wBAAwBT,YAAY,mBAAmB,CAACL,EAAIQ,GAAGR,EAAI0B,GAAG1B,EAAIwB,OAAOG,YAAYzB,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAACH,EAAG,IAAI,CAACG,YAAY,mCAAmCE,MAAM,CAAC,SAAWP,EAAI4B,aAAaX,GAAG,CAAC,MAAQ,SAASC,GAAiC,OAAzBA,EAAOW,kBAAyB7B,EAAI8B,oBAAoB,CAAC9B,EAAIQ,GAAG,gBAAgBN,EAAG,OAAO,CAACK,MAAM,CAAC,KAAOP,EAAI+B,QAAQC,KAAK,QAAUhC,EAAI+B,QAAQE,MAAMhB,GAAG,CAAC,UAAY,SAASC,GAAQ,OAAOlB,EAAIkC,gBAAgBhC,EAAG,UAAU,CAACO,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAASC,MAAOZ,EAAa,UAAEc,WAAW,iBAAiB,IAEr9EqB,EAAkB,CAAC,WAAY,IAAInC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAUF,EAAIG,MAAMC,YAAY,OAAOF,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAACH,EAAG,MAAM,CAACG,YAAY,WAAW,CAACH,EAAG,OAAO,CAACF,EAAIQ,GAAG,gB,yGCkBvM,yE,OACY,EAAA4B,WAAY,EACZ,EAAAR,aAAc,EAEd,EAAAf,MAGJ,CACAY,IAAK,GACLE,MAAO,IAEH,EAAAH,OAGJ,CACAC,IAAK,GACLE,MAAO,IAIH,EAAAU,QAAS,EACT,EAAAN,QAAyC,CAACC,MAAM,EAAOC,KAAM,I,EAuHzE,OA5IkD,oBAuBjC,YAAAK,QAAb,W,oHAGI,OAFArC,KAAKmC,WAAY,EAEjB,GAAMnC,KAAKsC,kB,cAAX,S,YAGU,YAAAA,eAAd,W,4HAcsB,OAblBtC,KAAKmC,WAAY,EAKXnC,KAAKuC,OAAOC,OAASxC,KAAKuC,OAAOC,MAAMC,OACzCzC,KAAK0C,QAAQC,KAAK,UAEhBF,EAAQzC,KAAKuC,OAAOC,MAAMC,MAEhC,IAAQG,IAAI,WAAYH,EAAiB,CAAEI,SAAU,WACrD,OAAQC,QAAQ,OAASC,IAAKN,GAEZ,GAAM,OAAWO,4B,OAInC,OAJMC,EAAY,SAClBC,QAAQC,IAAI,sCACZD,QAAQC,IAAIF,GAEJA,GACJ,KAAK,mBAAcG,SAASC,UAAUC,UAClC,MACJ,KAAK,mBAAcF,SAASC,UAAUE,0BAClCvD,KAAKoC,QAAS,EACdpC,KAAKwD,SAAS,iBACd,MACJ,QACIxD,KAAKoC,QAAS,EACdpC,KAAKwD,SAAS,Q,OAItBxD,KAAKmC,WAAY,E,YAGP,YAAAN,eAAd,W,0HAcI,OAbI4B,GAAU,EACdzD,KAAKuB,OAAOC,IAAM,GAClBxB,KAAKuB,OAAOG,MAAQ,GAEG,KAAnB1B,KAAKY,MAAMY,MACXxB,KAAKuB,OAAOC,IAAM,MAClBiC,GAAU,GAEVzD,KAAKY,MAAMY,MAAQxB,KAAKY,MAAMc,QAC9B1B,KAAKuB,OAAOG,MAAQ,gBACpB+B,GAAU,GAGVA,EAAgB,CAAP,GAAO,GAEpB,GAAMzD,KAAK0D,U,cAAX,S,YAGU,YAAAA,OAAd,W,yIAES1D,KAAK2B,YAAN,OACA3B,KAAK2B,aAAc,EACnB3B,KAAKmC,WAAY,EAEXwB,EAAU,IAAIC,YAEH,GAAMC,EAAA,KAAQC,UAAU9D,KAAKY,MAAMY,O,OAMlC,OANZuC,EAAW,SACXC,EAAiB,mBAAcZ,SAASa,eAAeC,OAAO,CAChEC,YAAaR,EAAQS,OAAOpE,KAAKY,MAAMY,KACvC6C,cAAeN,IAEbO,EAAa,mBAAclB,SAASa,eAAeG,OAAOJ,GAAgBO,SAC9D,GAAM,OAAWC,cAAcF,I,OAIjD,OAJMrB,EAAY,SAClBC,QAAQC,IAAI,2BACZD,QAAQC,IAAIF,GAEJA,GACJ,KAAK,mBAAcG,SAASC,UAAUC,UAClCtD,KAAKoC,QAAS,EACdpC,KAAKwD,SAAS,WACd,MACJ,KAAK,mBAAcJ,SAASC,UAAUoB,yBAClCzE,KAAKwD,SAAS,YACd,MACJ,KAAK,mBAAcJ,SAASC,UAAUqB,yBAClC1E,KAAKwD,SAAS,UACd,MACJ,KAAK,mBAAcJ,SAASC,UAAUsB,uBAClC3E,KAAKwD,SAAS,eACd,MACJ,QACIxD,KAAKoC,QAAS,EACdpC,KAAKwD,SAAS,QAItBxD,KAAK2B,aAAc,EACnB3B,KAAKmC,WAAY,E,mCAKjB,YAAAqB,SAAR,SAAiBxB,GACbhC,KAAK8B,QAAQC,MAAO,EACpB/B,KAAK8B,QAAQE,KAAOA,GAGhB,YAAAC,UAAR,WACIjC,KAAK8B,QAAQC,MAAO,EACpB/B,KAAK8B,QAAQE,KAAO,GAEhBhC,KAAKoC,QACLpC,KAAK0C,QAAQC,KAAK,WAxITiC,EAAoB,gBANxC,eAAgC,CAC7BC,WAAY,CACRC,QAAO,OACPC,KAAI,WAGSH,GA4IrB,EA5IA,CAAkD,QAA7B,ICpBqR,I,YCOtSI,EAAY,eACd,EACAlF,EACAoC,GACA,EACA,KACA,KACA,MAIa,aAAA8C,E","file":"js/chunk-2d0a388c.f6354d09.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),_c('div',{staticClass:\"bgBlock col-5 flex--center\"},[_c('div',{staticClass:\"col-9\"},[_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.reset.new),expression:\"reset.new\",modifiers:{\"trim\":true}}],staticClass:\"e-formGroup_item e-formGroup_item--login\",attrs:{\"type\":\"password\",\"placeholder\":\"請輸入至少6位(大小寫英文字母或符號)密碼\",\"maxlength\":\"20\"},domProps:{\"value\":(_vm.reset.new)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.reset, \"new\", $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('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errMsg.new !== ''),expression:\"errMsg.new !== ''\"}],staticClass:\"e-formGroup_err\"},[_vm._v(_vm._s(_vm.errMsg.new))])]),_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.reset.again),expression:\"reset.again\",modifiers:{\"trim\":true}}],staticClass:\"e-formGroup_item e-formGroup_item--login\",attrs:{\"type\":\"password\",\"placeholder\":\"請再次輸入密碼\",\"maxlength\":\"20\"},domProps:{\"value\":(_vm.reset.again)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.reset, \"again\", $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('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errMsg.again !== ''),expression:\"errMsg.again !== ''\"}],staticClass:\"e-formGroup_err\"},[_vm._v(_vm._s(_vm.errMsg.again))])]),_c('div',{staticClass:\"col-row flex--center\"},[_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('Hint',{attrs:{\"show\":_vm.hintBox.show,\"message\":_vm.hintBox.hint},on:{\"closeHint\":function($event){return _vm.closeHint()}}}),_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('div',{staticClass:\"l-title\"},[_c('span',[_vm._v(\"重置密碼\")])])])\n}]\n\nexport { render, staticRenderFns }","import { Component, Vue } from \"vue-property-decorator\";\r\nimport Cookies from 'js-cookie';\r\n\r\nimport { Loading, Hint } from \"@/components\";\r\nimport { LoginModel } from \"@/models\";\r\n// import { EtoeeModel } from \"@/models\";\r\nimport { TCBReceiptApi } from \"@/network/pb/proto\";\r\nimport { AuthType, Network } from \"@/network\";\r\nimport { router } from \"@/router\";\r\nimport { ErrorCode } from \"@/constant\";\r\nimport { Encrypt } from \"@/util/Encrypt\";\r\n\r\n\r\n\r\n@Component({\r\n components: {\r\n Loading,\r\n Hint,\r\n },\r\n})\r\nexport default class LoginResetController extends Vue {\r\n private isLoading = true;\r\n private doubleClick = false;\r\n\r\n private reset: {\r\n new: string,\r\n again: string,\r\n } = {\r\n new: \"\",\r\n again: \"\",\r\n }\r\n private errMsg: {\r\n new: string,\r\n again: string,\r\n } = {\r\n new: \"\",\r\n again: \"\",\r\n };\r\n\r\n // Hint\r\n private isDone = false;\r\n private hintBox: {show: boolean, hint: string} = {show: false, hint: \"\"};\r\n\r\n public async created() {\r\n this.isLoading = false;\r\n\r\n await this.checkIsTimeOut();\r\n }\r\n\r\n private async checkIsTimeOut() {\r\n this.isLoading = true;\r\n\r\n /* send value */\r\n // const token = \"eyJhbGciOiJBMTI4S1ciLCJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwidHlwIjoiSldUIn0.sv4dwaguUa3MNk8FZy7yAYU6xl2JUBvLYEnwjgPs_LDhgqQ5f9wNzA.D2dwm7ZWVlBmQhDf8ePBKw.AHQha_pw1ihOtQOCW5JdkBT-ER4oiyUPBmK6zdInRfDBAXL-7pY1SVVr7BT66lARAZTHq4moZCmwIFGe-AJxrx_W7dIpFGbbLuCbqOWeKjV39c9dSDsGWB-Ixd9MTQ1wsE78JpIqIUCoQwLz7e82BcrTcOTuvE2yb35or7K0bmtveGwAa_PWvMabBOf2nD1VN6O5g3IjYP_VVYKtlwVHzPHrP5tDQOnB0i2MmVEOY9Yf1i81D8UKP214i-PU7OMswNArqC9eJI0og-tpQwtrqHaqVKRwaV6OtGzSuagNj3M.yua1qMGUVm9QEx2kjtQmtw\";\r\n\r\n if (!(this.$route.query && this.$route.query.token)) {\r\n this.$router.push(\"/login\");\r\n }\r\n const token = this.$route.query.token;\r\n\r\n Cookies.set(\"appToken\", token as string, { sameSite: 'strict' });\r\n Network.setAuth(AuthType.JWT, token as string);\r\n\r\n const errorCode = await LoginModel.checkResetPasswordPeriod();\r\n console.log(\"checkResetPasswordPeriod errorCode\");\r\n console.log(errorCode);\r\n\r\n switch (errorCode) {\r\n case TCBReceiptApi.Protobuf.ErrorCode.EC_SUCESS: \r\n break;\r\n case TCBReceiptApi.Protobuf.ErrorCode.EC_RESET_PASSWORD_EXPIRED:\r\n this.isDone = true;\r\n this.openHint(\"已超過規範時間,請重新操作\");\r\n break;\r\n default:\r\n this.isDone = true;\r\n this.openHint(\"例外狀況\");\r\n } \r\n /* send value */\r\n\r\n this.isLoading = false;\r\n }\r\n\r\n private async checkAndSubmit() {\r\n let isEmpty = false;\r\n this.errMsg.new = \"\";\r\n this.errMsg.again = \"\";\r\n\r\n if (this.reset.new === \"\") {\r\n this.errMsg.new = \"*必填\";\r\n isEmpty = true;\r\n }\r\n if (this.reset.new !== this.reset.again) {\r\n this.errMsg.again = \"*密碼錯誤,與上方密碼不符\";\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 this.isLoading = true;\r\n\r\n const encoder = new TextEncoder();\r\n /* send value */\r\n const crypted2 = await Encrypt.getE2EEpd(this.reset.new);//將密碼做JS加密\r\n const passwordMotify = TCBReceiptApi.Protobuf.PasswordMotify.create({\r\n newPassword: encoder.encode(this.reset.new),/*舊規則 */\r\n etoeePassword: crypted2, /*E2EE:新規則 */\r\n });\r\n const resetQuery = TCBReceiptApi.Protobuf.PasswordMotify.encode(passwordMotify).finish();\r\n const errorCode = await LoginModel.resetPassword(resetQuery);\r\n console.log(\"resetPassword errorCode\");\r\n console.log(errorCode);\r\n\r\n switch (errorCode) {\r\n case TCBReceiptApi.Protobuf.ErrorCode.EC_SUCESS:\r\n this.isDone = true;\r\n this.openHint(\"已成功重置密碼\");\r\n break;\r\n case TCBReceiptApi.Protobuf.ErrorCode.EC_PASSWORD_LENGTH_ERROR:\r\n this.openHint(\"密碼不應少於六位\");\r\n break;\r\n case TCBReceiptApi.Protobuf.ErrorCode.EC_PASSWORD_FORMAT_ERROR:\r\n this.openHint(\"密碼格式錯誤\");\r\n break;\r\n case TCBReceiptApi.Protobuf.ErrorCode.EC_SAME_PASSWORD_ERROR:\r\n this.openHint(\"新密碼不得與原密碼相同\");\r\n break; \r\n default:\r\n this.isDone = true;\r\n this.openHint(\"例外狀況\");\r\n }\r\n /* send value */\r\n\r\n this.doubleClick = false;\r\n this.isLoading = false;\r\n }\r\n }\r\n\r\n /* Hint */\r\n private openHint(hint: string) {\r\n this.hintBox.show = true;\r\n this.hintBox.hint = hint;\r\n }\r\n\r\n private closeHint() {\r\n this.hintBox.show = false;\r\n this.hintBox.hint = \"\";\r\n\r\n if (this.isDone) {\r\n this.$router.push(\"/login\");\r\n }\r\n }\r\n /* Hint */\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!./Reset.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!./Reset.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Reset.vue?vue&type=template&id=bd5ca2d8&\"\nimport script from \"@/controllers/ap/login/Reset?vue&type=script&lang=ts&\"\nexport * from \"@/controllers/ap/login/Reset?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":""}