icve-sso 0.0.26 → 0.0.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -672,6 +672,13 @@ exports.default = function (ref) {
672
672
 
673
673
  /***/ }),
674
674
 
675
+ /***/ "1492":
676
+ /***/ (function(module, exports, __webpack_require__) {
677
+
678
+ // extracted by mini-css-extract-plugin
679
+
680
+ /***/ }),
681
+
675
682
  /***/ "14e9":
676
683
  /***/ (function(module, exports, __webpack_require__) {
677
684
 
@@ -55336,13 +55343,6 @@ function objToArray(obj) {
55336
55343
 
55337
55344
  /***/ }),
55338
55345
 
55339
- /***/ "82df":
55340
- /***/ (function(module, exports, __webpack_require__) {
55341
-
55342
- // extracted by mini-css-extract-plugin
55343
-
55344
- /***/ }),
55345
-
55346
55346
  /***/ "83b9":
55347
55347
  /***/ (function(module, exports, __webpack_require__) {
55348
55348
 
@@ -58512,17 +58512,6 @@ module.exports = function xhrAdapter(config) {
58512
58512
  };
58513
58513
 
58514
58514
 
58515
- /***/ }),
58516
-
58517
- /***/ "b7ce":
58518
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
58519
-
58520
- "use strict";
58521
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_userCenterLogin_vue_vue_type_style_index_0_id_77df04d6_prod_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("82df");
58522
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_userCenterLogin_vue_vue_type_style_index_0_id_77df04d6_prod_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_userCenterLogin_vue_vue_type_style_index_0_id_77df04d6_prod_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
58523
- /* unused harmony reexport * */
58524
-
58525
-
58526
58515
  /***/ }),
58527
58516
 
58528
58517
  /***/ "b8e3":
@@ -58561,6 +58550,17 @@ exports.f = __webpack_require__("8e60") ? gOPD : function getOwnPropertyDescript
58561
58550
  };
58562
58551
 
58563
58552
 
58553
+ /***/ }),
58554
+
58555
+ /***/ "bfcb":
58556
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
58557
+
58558
+ "use strict";
58559
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_userCenterLogin_vue_vue_type_style_index_0_id_96e3601c_prod_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("1492");
58560
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_userCenterLogin_vue_vue_type_style_index_0_id_96e3601c_prod_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_userCenterLogin_vue_vue_type_style_index_0_id_96e3601c_prod_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
58561
+ /* unused harmony reexport * */
58562
+
58563
+
58564
58564
  /***/ }),
58565
58565
 
58566
58566
  /***/ "c098":
@@ -66840,13 +66840,13 @@ var component = normalizeComponent(
66840
66840
  )
66841
66841
 
66842
66842
  /* harmony default export */ var userCenterCompleteInformation = (component.exports);
66843
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"c6825d74-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/userCenterLogin.vue?vue&type=template&id=77df04d6
66844
- var userCenterLoginvue_type_template_id_77df04d6_render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.loginShow)?_c('div',{staticClass:"icve-sso-login-bg"},[_c('div',{staticClass:"icve-sso-escrool"},[_c('el-scrollbar',{staticStyle:{"height":"100%"}},[_c('div',{staticClass:"icve-sso-title-wrapper"},[_c('div',{staticClass:"icve-sso-title"},[_vm._v(_vm._s(_vm.wxRandom ? _vm.i18n('微信绑定') : _vm.i18n('欢迎登录')))]),_c('div',{staticClass:"icve-sso-close-btn",attrs:{"title":_vm.i18n('关闭')},on:{"click":_vm.closeLoginModal}},[_c('svg',{attrs:{"width":"34","height":"34","viewBox":"0 0 24 24","fill":"none","xmlns":"http://www.w3.org/2000/svg"}},[_c('path',{attrs:{"d":"M18 6L6 18M6 6L18 18","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}})])])]),_c('div',{staticClass:"icve-sso-source_space"},[_c('div',{staticClass:"icve-sso-l"},[_c('div',{staticClass:"icve-sso-erm"},[_c('QRCodeLogin',{on:{"loginSuccess":_vm.wxLoginSuccess}})],1)]),_c('div',{staticClass:"icve-sso-xian"}),_c('div',{staticClass:"icve-sso-ri"},[_c('div',{staticClass:"icve-sso-tabs"},[_c('span',{class:_vm.tab == 2 ? 'icve-sso-spanActive' : '',on:{"click":function($event){return _vm.handleClick(2)}}},[_vm._v(" "+_vm._s(_vm.currentLocale == 'cn' ? _vm.i18n('手机验证码登录') : _vm.i18n('邮箱登录'))+" ")]),_c('span',{class:_vm.tab == 1 ? 'icve-sso-spanActive' : '',on:{"click":function($event){return _vm.handleClick(1)}}},[_vm._v(" "+_vm._s(_vm.i18n('账号密码登录'))+" ")]),_c('div',{staticClass:"icve-sso-qiehuan",on:{"click":_vm.changeLanguage}},[_c('a',{attrs:{"title":_vm.i18n('中->英'),"href":"#"}},[_c('img',{attrs:{"alt":"","src":"https://file.icve.com.cn/rc/927/697/E7CAE67C9BE854D9BB773D4AC5A6940D.png"}})])]),_c('div',{staticClass:"icve-sso-xian1"})]),(_vm.tab == 1)?_c('el-form',{ref:"form",staticClass:"icve-sso-demo-ruleForm",attrs:{"model":_vm.form}},[_c('el-form-item',{attrs:{"rules":[{ required: true, message: _vm.i18n('请输入账号'), trigger: 'blur', },],"label":"","prop":"userName"}},[_c('el-input',{attrs:{"placeholder":_vm.i18n('请输入账号'),"prefix-icon":"el-icon-user"},scopedSlots:_vm._u([{key:"prepend",fn:function(){return undefined},proxy:true}],null,false,1321973649),model:{value:(_vm.form.userName),callback:function ($$v) {_vm.$set(_vm.form, "userName", $$v)},expression:"form.userName"}})],1),_c('el-form-item',{attrs:{"rules":[{ required: true, message: _vm.i18n('请输入密码'), trigger: 'blur', },],"label":"","prop":"password"}},[_c('el-input',{attrs:{"placeholder":_vm.i18n('请输入密码'),"prefix-icon":"el-icon-lock","show-password":""},model:{value:(_vm.form.password),callback:function ($$v) {_vm.$set(_vm.form, "password", $$v)},expression:"form.password"}})],1),_c('agreement',{ref:"agreement",attrs:{"source":_vm.source},on:{"change":_vm.change}}),_c('div',{staticClass:"icve-sso-login",on:{"click":_vm.login}},[_vm._v(_vm._s(_vm.wxRandom ? _vm.i18n('账号绑定') : _vm.i18n('登录')))]),_c('div',{staticClass:"icve-sso-customer"},[_c('div',{staticClass:"icve-sso-tip"},[_c('span',[_vm._v(_vm._s(_vm.i18n('手机号登录新用户自动注册')))])])])],1):_vm._e(),(_vm.tab == 2 && _vm.currentLocale == 'cn')?_c('el-form',{ref:"phoneForm",staticClass:"icve-sso-demo-ruleForm",attrs:{"model":_vm.phoneForm}},[_c('el-form-item',{staticClass:"icve-sso-Prefix",attrs:{"rules":_vm.isRules ? [{ required: true, message: _vm.i18n('请输入手机号'), trigger: 'blur', }, { pattern: /^1[3456789]\d{9}$/, message: _vm.i18n('手机号码格式错误'), trigger: 'change', },] : [],"label":"","prop":"mobile"}},[_c('div',{staticClass:"icve-sso-prefix",on:{"click":_vm.showNationalityModal}},[_vm._v(" "+_vm._s(_vm.gjMsg)+" ")]),_c('el-input',{staticClass:"icve-sso-mobile_login",attrs:{"placeholder":_vm.i18n('请输入手机号'),"prefix-icon":"el-icon-mobile-phone"},model:{value:(_vm.phoneForm.mobile),callback:function ($$v) {_vm.$set(_vm.phoneForm, "mobile", $$v)},expression:"phoneForm.mobile"}})],1),_c('el-form-item',{class:_vm.txyzmShow ? 'icve-sso-Code1' : 'icve-sso-Code',attrs:{"rules":[{ required: true, message: _vm.i18n('请输入验证码'), trigger: 'blur', },],"label":"","prop":"msgCode"}},[_c('img',{staticClass:"icve-sso-code",attrs:{"alt":"","src":"https://file.icve.com.cn/rc/737/546/B8588913D6F3ACDCC1275979123080D6.png"}}),_c('el-input',{attrs:{"placeholder":_vm.i18n('请输入验证码'),"prefix-icon":""},model:{value:(_vm.phoneForm.msgCode),callback:function ($$v) {_vm.$set(_vm.phoneForm, "msgCode", $$v)},expression:"phoneForm.msgCode"}}),(!_vm.sms_timer)?_c('div',{staticClass:"icve-sso-djs",on:{"click":_vm.obtain}},[_vm._v(" "+_vm._s(_vm.i18n('获取验证码'))+" ")]):_c('div',{staticClass:"icve-sso-djs"},[_vm._v(" "+_vm._s(_vm.sms_time_count + _vm.i18n('秒重获'))+" ")])],1),(_vm.accountList.length > 0)?_c('div',{staticClass:"icve-sso-success-tip",staticStyle:{"color":"#95a1bc"}},[_vm._v(" "+_vm._s(_vm.i18n('安全提醒:检测到当前手机号已绑定多个账号。为保障账户安全,本次登录后,未选择的账号将自动解除手机号绑定。'))+" ")]):_vm._e(),(_vm.accountList.length > 0)?_c('el-form-item',[_c('div',{staticClass:"icve-sso-moreUserName"},[_c('ul',_vm._l((_vm.accountList),function(i,idx){return _c('li',{key:i.id},[_c('div',{staticClass:"icve-sso-lee"},[_c('div',{staticClass:"icve-sso-tp",on:{"click":function($event){return _vm.phonechange(i.userName)}}},[_vm._v(" "+_vm._s(i.userName)+" ")]),_c('div',{staticClass:"icve-sso-b"},[_vm._v(" "+_vm._s(_vm.i18n('最后登录时间'))+":"+_vm._s(i.dateLastVisit || '--')+" ")])]),_c('div',{staticClass:"icve-sso-ree"},[_c('el-checkbox',{on:{"change":function($event){return _vm.inverseSelected(i, idx)}},model:{value:(i.checked),callback:function ($$v) {_vm.$set(i, "checked", $$v)},expression:"i.checked"}})],1)])}),0)])]):_vm._e(),_c('agreement',{ref:"agreement",attrs:{"source":_vm.source},on:{"change":_vm.change}}),_c('div',{staticClass:"icve-sso-login",on:{"click":_vm.phonVerify}},[_vm._v(_vm._s(_vm.wxRandom ? _vm.i18n('账号绑定') : _vm.i18n('登录'))+" ")]),_c('div',{staticClass:"icve-sso-customer"},[_c('div',{staticClass:"icve-sso-tip"},[_c('span',[_vm._v(_vm._s(_vm.i18n('手机号登录新用户自动注册')))])])])],1):_vm._e(),(_vm.tab == 2 && _vm.currentLocale == 'en')?_c('el-form',{ref:"emailForm",staticClass:"icve-sso-demo-ruleForm",attrs:{"model":_vm.emailForm}},[_c('el-form-item',{attrs:{"rules":[{ required: true, message: _vm.i18n('请输入邮箱'), trigger: 'blur', },],"label":"","prop":"email"}},[_c('el-input',{attrs:{"placeholder":_vm.i18n('请输入邮箱')},model:{value:(_vm.emailForm.email),callback:function ($$v) {_vm.$set(_vm.emailForm, "email", $$v)},expression:"emailForm.email"}})],1),_c('el-form-item',{staticClass:"icve-sso-Code",attrs:{"rules":[{ required: true, message: _vm.i18n('请输入邮箱验证码'), trigger: 'blur', },],"label":"","prop":"msgCode"}},[_c('el-input',{attrs:{"placeholder":_vm.i18n('请输入邮箱验证码'),"prefix-icon":""},model:{value:(_vm.emailForm.msgCode),callback:function ($$v) {_vm.$set(_vm.emailForm, "msgCode", $$v)},expression:"emailForm.msgCode"}}),(!_vm.sms_timer)?_c('div',{staticClass:"icve-sso-djs",on:{"click":_vm.emailObtain}},[_vm._v(" "+_vm._s(_vm.i18n('获取验证码'))+" ")]):_c('div',{staticClass:"icve-sso-djs"},[_vm._v(" "+_vm._s(_vm.sms_time_count + _vm.i18n('秒重获'))+" ")])],1),_c('agreement',{ref:"agreement",attrs:{"source":_vm.source},on:{"change":_vm.change}}),_c('div',{staticClass:"icve-sso-login",on:{"click":_vm.emailLogin}},[_vm._v(_vm._s(_vm.wxRandom ? _vm.i18n('账号绑定') : _vm.i18n('登录'))+" ")]),_c('div',{staticClass:"icve-sso-customer"},[_c('div',{staticClass:"icve-sso-tip"},[_c('span',[_vm._v(_vm._s(_vm.i18n('邮箱登录新用户自动注册')))])])])],1):_vm._e()],1)]),_c('div',{staticClass:"icve-sso-footer1"},[_c('div',{staticClass:"icve-sso-h5"},[_vm._v(_vm._s(_vm.footMsg))]),_c('div',{staticClass:"icve-sso-h6"},[_vm._v(_vm._s(_vm.footMsg1))])])])],1),(_vm.testShow)?_c('div',{staticClass:"custom-dialog-overlay",on:{"click":function($event){if($event.target !== $event.currentTarget)return null;return _vm.handleClose.apply(null, arguments)}}},[_c('div',{staticClass:"custom-dialog icve-sso-test icve-sso-test1"},[_c('div',{staticClass:"custom-dialog-header"},[_c('h3',{staticClass:"custom-dialog-title"},[_vm._v(_vm._s(_vm.i18n('提示')))])]),_c('div',{staticClass:"custom-dialog-body"},[_c('span',[_vm._v(_vm._s(_vm.test)+"ssssssss")])]),_c('div',{staticClass:"custom-dialog-footer"},[_c('button',{staticClass:"custom-primary-button",on:{"click":_vm.handleClose}},[_vm._v(_vm._s(_vm.i18n('确定')))])])])]):_vm._e(),(_vm.ishbzhShow)?_c('div',{staticClass:"custom-dialog-overlay"},[_c('div',{staticClass:"custom-dialog icve-sso-test"},[_c('div',{staticClass:"custom-dialog-header"},[_c('h3',{staticClass:"custom-dialog-title"},[_vm._v(_vm._s(_vm.i18n('提示')))])]),_c('div',{staticClass:"custom-dialog-body"},[_vm._v(" "+_vm._s(_vm.i18n('检测到该手机号绑定了多个账号,账号名称为:'))+" "),_vm._l((_vm.accountList),function(i,j){return _c('span',{key:j},[_vm._v(_vm._s(i.userName.replace(/^(.{2}).+(.)/, '$1**$2'))+"("+_vm._s(i.userType)+"),")])}),_vm._v(" "+_vm._s(_vm.i18n('建议您合并多余账号'))+" ")],2),_c('div',{staticClass:"custom-dialog-footer"},[_c('button',{staticClass:"custom-plain-button",on:{"click":function($event){_vm.ishbzhShow = false}}},[_vm._v(_vm._s(_vm.i18n('继续登录')))]),_c('button',{staticClass:"custom-primary-button",attrs:{"disabled":!_vm.isMerged},on:{"click":_vm.hbtiaozhuan}},[_vm._v(_vm._s(_vm.i18n('合并账号'))+" ")])])])]):_vm._e(),(_vm.bdwxShow)?_c('div',{staticClass:"custom-dialog-overlay"},[_c('div',{staticClass:"custom-dialog"},[_c('div',{staticClass:"custom-dialog-header"},[_c('h3',{staticClass:"custom-dialog-title"},[_vm._v(_vm._s(_vm.i18n('微信绑定')))])]),_c('div',{staticClass:"custom-dialog-body"},[_c('div',{staticClass:"icve-sso-wxdl"},[_c('QRCodeLogin',{attrs:{"bdwxShow":_vm.bdwxShow},on:{"loginSuccess":_vm.wxLoginSuccess}})],1)]),_c('div',{staticClass:"custom-dialog-footer"},[_c('button',{staticClass:"custom-plain-button",on:{"click":_vm.bztx}},[_vm._v(_vm._s(_vm.i18n('不再提醒')))]),_c('button',{staticClass:"custom-plain-button",on:{"click":_vm.xcbd}},[_vm._v(_vm._s(_vm.i18n('下次绑定')))])])])]):_vm._e(),(_vm.isOneYearBeforeLogin)?_c('div',{staticClass:"custom-dialog-overlay"},[_c('div',{staticClass:"custom-dialog icve-sso-test",staticStyle:{"width":"540px"}},[_c('div',{staticClass:"custom-dialog-header"},[_c('h3',{staticClass:"custom-dialog-title"},[_vm._v(_vm._s(_vm.i18n('安全提醒:检测到当前手机号已绑定多个账号,且部分账号已超过一年未登录。为保障账户安全,这些长期未登录的账号将自动解除手机号绑定。'))+" ")])]),_c('div',{staticClass:"custom-dialog-body"},[_c('div',{staticClass:"icve-sso-oneYearBeforeLogin"},[_c('div',{staticClass:"icve-sso-oneYearBeforeLogin-title"}),_c('ul',_vm._l((_vm.userList),function(i,idx){return _c('li',{key:idx},[_c('div',{staticClass:"icve-sso-lee"},[_c('div',{staticClass:"icve-sso-tp"},[_vm._v(_vm._s(i.userName))]),_c('div',{staticClass:"icve-sso-b"},[_vm._v(_vm._s(_vm.i18n('最后登录时间'))+":"+_vm._s(i.dateLastVisit || '--'))])])])}),0)])]),_c('div',{staticClass:"custom-dialog-footer"},[_c('button',{staticClass:"custom-primary-button",on:{"click":_vm.oneYearBeforeLogin}},[_vm._v(_vm._s(_vm.i18n('确定')))])])])]):_vm._e(),(_vm.phoneBindShow)?_c('div',{staticClass:"custom-dialog-overlay"},[_c('div',{staticClass:"custom-dialog"},[_c('div',{staticClass:"custom-dialog-header"},[_c('h3',{staticClass:"custom-dialog-title"},[_vm._v(_vm._s(_vm.i18n('手机绑定')))])]),_c('div',{staticClass:"custom-dialog-body"},[_c('MobileBinding',{attrs:{"userId":_vm.userId,"mobileType":_vm.mobileType},on:{"loginSuccess":function($event){return _vm.loginSuccess(_vm.tzToken)}}})],1)])]):_vm._e(),(_vm.editPasswordShow)?_c('div',{staticClass:"custom-dialog-overlay",on:{"click":function($event){if($event.target !== $event.currentTarget)return null;return _vm.xcbd.apply(null, arguments)}}},[_c('div',{staticClass:"custom-dialog"},[_c('div',{staticClass:"custom-dialog-header"},[_c('h3',{staticClass:"custom-dialog-title"},[_vm._v(" "+_vm._s(_vm.isWeakPwd ? _vm.i18n('您当前设置的密码强度不足,存在安全风险,请尽快修改为更复杂的密码。') : _vm.i18n('首次登录完善基本信息'))+" ")])]),_c('div',{staticClass:"custom-dialog-body"},[_c('improveInformation',{attrs:{"weakPwd":_vm.isWeakPwd,"tzToken":_vm.tzToken},on:{"loginSuccess":function($event){return _vm.loginSuccess(_vm.tzToken)}}})],1)])]):_vm._e(),_c('NationalitySelector',{attrs:{"value":_vm.nationalityModalShow},on:{"change":_vm.handleNationalityChange,"close":function($event){_vm.nationalityModalShow = false}}}),(_vm.loadLanguage)?_c('verifyComponents',{ref:"verifyComponents",on:{"success":_vm.CaptchaSuccess}}):_vm._e()],1):_vm._e()
66843
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"c6825d74-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/userCenterLogin.vue?vue&type=template&id=96e3601c
66844
+ var userCenterLoginvue_type_template_id_96e3601c_render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.loginShow)?_c('div',{staticClass:"icve-sso-login-bg"},[_c('div',{staticClass:"icve-sso-escrool"},[_c('el-scrollbar',{staticStyle:{"height":"100%"}},[_c('div',{staticClass:"icve-sso-title-wrapper"},[_c('div',{staticClass:"icve-sso-title"},[_vm._v(_vm._s(_vm.wxRandom ? _vm.i18n('微信绑定') : _vm.i18n('欢迎登录')))]),_c('div',{staticClass:"icve-sso-close-btn",attrs:{"title":_vm.i18n('关闭')},on:{"click":_vm.closeLoginModal}},[_c('svg',{attrs:{"width":"34","height":"34","viewBox":"0 0 24 24","fill":"none","xmlns":"http://www.w3.org/2000/svg"}},[_c('path',{attrs:{"d":"M18 6L6 18M6 6L18 18","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}})])])]),_c('div',{staticClass:"icve-sso-source_space"},[_c('div',{staticClass:"icve-sso-l"},[_c('div',{staticClass:"icve-sso-erm"},[_c('QRCodeLogin',{on:{"loginSuccess":_vm.wxLoginSuccess}})],1)]),_c('div',{staticClass:"icve-sso-xian"}),_c('div',{staticClass:"icve-sso-ri"},[_c('div',{staticClass:"icve-sso-tabs"},[_c('span',{class:_vm.tab == 2 ? 'icve-sso-spanActive' : '',on:{"click":function($event){return _vm.handleClick(2)}}},[_vm._v(" "+_vm._s(_vm.currentLocale == 'cn' ? _vm.i18n('手机验证码登录') : _vm.i18n('邮箱登录'))+" ")]),_c('span',{class:_vm.tab == 1 ? 'icve-sso-spanActive' : '',on:{"click":function($event){return _vm.handleClick(1)}}},[_vm._v(" "+_vm._s(_vm.i18n('账号密码登录'))+" ")]),_c('div',{staticClass:"icve-sso-qiehuan",on:{"click":_vm.changeLanguage}},[_c('a',{attrs:{"title":_vm.i18n('中->英'),"href":"#"}},[_c('img',{attrs:{"alt":"","src":"https://file.icve.com.cn/rc/927/697/E7CAE67C9BE854D9BB773D4AC5A6940D.png"}})])]),_c('div',{staticClass:"icve-sso-xian1"})]),(_vm.tab == 1)?_c('el-form',{ref:"form",staticClass:"icve-sso-demo-ruleForm",attrs:{"model":_vm.form}},[_c('el-form-item',{attrs:{"rules":[{ required: true, message: _vm.i18n('请输入账号'), trigger: 'blur', },],"label":"","prop":"userName"}},[_c('el-input',{attrs:{"placeholder":_vm.i18n('请输入账号'),"prefix-icon":"el-icon-user"},scopedSlots:_vm._u([{key:"prepend",fn:function(){return undefined},proxy:true}],null,false,1321973649),model:{value:(_vm.form.userName),callback:function ($$v) {_vm.$set(_vm.form, "userName", $$v)},expression:"form.userName"}})],1),_c('el-form-item',{attrs:{"rules":[{ required: true, message: _vm.i18n('请输入密码'), trigger: 'blur', },],"label":"","prop":"password"}},[_c('el-input',{attrs:{"placeholder":_vm.i18n('请输入密码'),"prefix-icon":"el-icon-lock","show-password":""},model:{value:(_vm.form.password),callback:function ($$v) {_vm.$set(_vm.form, "password", $$v)},expression:"form.password"}})],1),_c('agreement',{ref:"agreement",attrs:{"source":_vm.source},on:{"change":_vm.change}}),_c('div',{staticClass:"icve-sso-login",on:{"click":_vm.login}},[_vm._v(_vm._s(_vm.wxRandom ? _vm.i18n('账号绑定') : _vm.i18n('登录')))]),_c('div',{staticClass:"icve-sso-customer"},[_c('div',{staticClass:"icve-sso-tip"},[_c('span',[_vm._v(_vm._s(_vm.i18n('手机号登录新用户自动注册')))])])])],1):_vm._e(),(_vm.tab == 2 && _vm.currentLocale == 'cn')?_c('el-form',{ref:"phoneForm",staticClass:"icve-sso-demo-ruleForm",attrs:{"model":_vm.phoneForm}},[_c('el-form-item',{staticClass:"icve-sso-Prefix",attrs:{"rules":_vm.isRules ? [{ required: true, message: _vm.i18n('请输入手机号'), trigger: 'blur', }, { pattern: /^1[3456789]\d{9}$/, message: _vm.i18n('手机号码格式错误'), trigger: 'change', },] : [],"label":"","prop":"mobile"}},[_c('div',{staticClass:"icve-sso-prefix",on:{"click":_vm.showNationalityModal}},[_vm._v(" "+_vm._s(_vm.gjMsg)+" ")]),_c('el-input',{staticClass:"icve-sso-mobile_login",attrs:{"placeholder":_vm.i18n('请输入手机号'),"prefix-icon":"el-icon-mobile-phone"},model:{value:(_vm.phoneForm.mobile),callback:function ($$v) {_vm.$set(_vm.phoneForm, "mobile", $$v)},expression:"phoneForm.mobile"}})],1),_c('el-form-item',{class:_vm.txyzmShow ? 'icve-sso-Code1' : 'icve-sso-Code',attrs:{"rules":[{ required: true, message: _vm.i18n('请输入验证码'), trigger: 'blur', },],"label":"","prop":"msgCode"}},[_c('img',{staticClass:"icve-sso-code",attrs:{"alt":"","src":"https://file.icve.com.cn/rc/737/546/B8588913D6F3ACDCC1275979123080D6.png"}}),_c('el-input',{attrs:{"placeholder":_vm.i18n('请输入验证码'),"prefix-icon":""},model:{value:(_vm.phoneForm.msgCode),callback:function ($$v) {_vm.$set(_vm.phoneForm, "msgCode", $$v)},expression:"phoneForm.msgCode"}}),(!_vm.sms_timer)?_c('div',{staticClass:"icve-sso-djs",on:{"click":_vm.obtain}},[_vm._v(" "+_vm._s(_vm.i18n('获取验证码'))+" ")]):_c('div',{staticClass:"icve-sso-djs"},[_vm._v(" "+_vm._s(_vm.sms_time_count + _vm.i18n('秒重获'))+" ")])],1),(_vm.accountList.length > 0)?_c('div',{staticClass:"icve-sso-success-tip",staticStyle:{"color":"#95a1bc"}},[_vm._v(" "+_vm._s(_vm.i18n('安全提醒:检测到当前手机号已绑定多个账号。为保障账户安全,本次登录后,未选择的账号将自动解除手机号绑定。'))+" ")]):_vm._e(),(_vm.accountList.length > 0)?_c('el-form-item',[_c('div',{staticClass:"icve-sso-moreUserName"},[_c('ul',_vm._l((_vm.accountList),function(i,idx){return _c('li',{key:i.id},[_c('div',{staticClass:"icve-sso-lee"},[_c('div',{staticClass:"icve-sso-tp",on:{"click":function($event){return _vm.phonechange(i.userName)}}},[_vm._v(" "+_vm._s(i.userName)+" ")]),_c('div',{staticClass:"icve-sso-b"},[_vm._v(" "+_vm._s(_vm.i18n('最后登录时间'))+":"+_vm._s(i.dateLastVisit || '--')+" ")])]),_c('div',{staticClass:"icve-sso-ree"},[_c('el-checkbox',{on:{"change":function($event){return _vm.inverseSelected(i, idx)}},model:{value:(i.checked),callback:function ($$v) {_vm.$set(i, "checked", $$v)},expression:"i.checked"}})],1)])}),0)])]):_vm._e(),_c('agreement',{ref:"agreement",attrs:{"source":_vm.source},on:{"change":_vm.change}}),_c('div',{staticClass:"icve-sso-login",on:{"click":_vm.phonVerify}},[_vm._v(_vm._s(_vm.wxRandom ? _vm.i18n('账号绑定') : _vm.i18n('登录'))+" ")]),_c('div',{staticClass:"icve-sso-customer"},[_c('div',{staticClass:"icve-sso-tip"},[_c('span',[_vm._v(_vm._s(_vm.i18n('手机号登录新用户自动注册')))])])])],1):_vm._e(),(_vm.tab == 2 && _vm.currentLocale == 'en')?_c('el-form',{ref:"emailForm",staticClass:"icve-sso-demo-ruleForm",attrs:{"model":_vm.emailForm}},[_c('el-form-item',{attrs:{"rules":[{ required: true, message: _vm.i18n('请输入邮箱'), trigger: 'blur', },],"label":"","prop":"email"}},[_c('el-input',{attrs:{"placeholder":_vm.i18n('请输入邮箱')},model:{value:(_vm.emailForm.email),callback:function ($$v) {_vm.$set(_vm.emailForm, "email", $$v)},expression:"emailForm.email"}})],1),_c('el-form-item',{staticClass:"icve-sso-Code",attrs:{"rules":[{ required: true, message: _vm.i18n('请输入邮箱验证码'), trigger: 'blur', },],"label":"","prop":"msgCode"}},[_c('el-input',{attrs:{"placeholder":_vm.i18n('请输入邮箱验证码'),"prefix-icon":""},model:{value:(_vm.emailForm.msgCode),callback:function ($$v) {_vm.$set(_vm.emailForm, "msgCode", $$v)},expression:"emailForm.msgCode"}}),(!_vm.sms_timer)?_c('div',{staticClass:"icve-sso-djs",on:{"click":_vm.emailObtain}},[_vm._v(" "+_vm._s(_vm.i18n('获取验证码'))+" ")]):_c('div',{staticClass:"icve-sso-djs"},[_vm._v(" "+_vm._s(_vm.sms_time_count + _vm.i18n('秒重获'))+" ")])],1),_c('agreement',{ref:"agreement",attrs:{"source":_vm.source},on:{"change":_vm.change}}),_c('div',{staticClass:"icve-sso-login",on:{"click":_vm.emailLogin}},[_vm._v(_vm._s(_vm.wxRandom ? _vm.i18n('账号绑定') : _vm.i18n('登录'))+" ")]),_c('div',{staticClass:"icve-sso-customer"},[_c('div',{staticClass:"icve-sso-tip"},[_c('span',[_vm._v(_vm._s(_vm.i18n('邮箱登录新用户自动注册')))])])])],1):_vm._e()],1)]),_c('div',{staticClass:"icve-sso-footer1"},[_c('div',{staticClass:"icve-sso-h5"},[_vm._v(_vm._s(_vm.footMsg))]),_c('div',{staticClass:"icve-sso-h6"},[_vm._v(_vm._s(_vm.footMsg1))])])])],1),(_vm.testShow)?_c('div',{staticClass:"custom-dialog-overlay",on:{"click":function($event){if($event.target !== $event.currentTarget)return null;return _vm.handleClose.apply(null, arguments)}}},[_c('div',{staticClass:"custom-dialog icve-sso-test icve-sso-test1"},[_c('div',{staticClass:"custom-dialog-header"},[_c('h3',{staticClass:"custom-dialog-title"},[_vm._v(_vm._s(_vm.i18n('提示')))])]),_c('div',{staticClass:"custom-dialog-body"},[_c('span',[_vm._v(_vm._s(_vm.test)+"ssssssss")])]),_c('div',{staticClass:"custom-dialog-footer"},[_c('button',{staticClass:"custom-primary-button",on:{"click":_vm.handleClose}},[_vm._v(_vm._s(_vm.i18n('确定')))])])])]):_vm._e(),(_vm.ishbzhShow)?_c('div',{staticClass:"custom-dialog-overlay"},[_c('div',{staticClass:"custom-dialog icve-sso-test"},[_c('div',{staticClass:"custom-dialog-header"},[_c('h3',{staticClass:"custom-dialog-title"},[_vm._v(_vm._s(_vm.i18n('提示')))])]),_c('div',{staticClass:"custom-dialog-body"},[_vm._v(" "+_vm._s(_vm.i18n('检测到该手机号绑定了多个账号,账号名称为:'))+" "),_vm._l((_vm.accountList),function(i,j){return _c('span',{key:j},[_vm._v(_vm._s(i.userName.replace(/^(.{2}).+(.)/, '$1**$2'))+"("+_vm._s(i.userType)+"),")])}),_vm._v(" "+_vm._s(_vm.i18n('建议您合并多余账号'))+" ")],2),_c('div',{staticClass:"custom-dialog-footer"},[_c('button',{staticClass:"custom-plain-button",on:{"click":function($event){_vm.ishbzhShow = false}}},[_vm._v(_vm._s(_vm.i18n('继续登录')))]),_c('button',{staticClass:"custom-primary-button",attrs:{"disabled":!_vm.isMerged},on:{"click":_vm.hbtiaozhuan}},[_vm._v(_vm._s(_vm.i18n('合并账号'))+" ")])])])]):_vm._e(),(_vm.bdwxShow)?_c('div',{staticClass:"custom-dialog-overlay"},[_c('div',{staticClass:"custom-dialog"},[_c('div',{staticClass:"custom-dialog-header"},[_c('h3',{staticClass:"custom-dialog-title"},[_vm._v(_vm._s(_vm.i18n('微信绑定')))])]),_c('div',{staticClass:"custom-dialog-body"},[_c('div',{staticClass:"icve-sso-wxdl"},[_c('QRCodeLogin',{attrs:{"bdwxShow":_vm.bdwxShow},on:{"loginSuccess":_vm.wxLoginSuccess}})],1)]),_c('div',{staticClass:"custom-dialog-footer"},[_c('button',{staticClass:"custom-plain-button",on:{"click":_vm.bztx}},[_vm._v(_vm._s(_vm.i18n('不再提醒')))]),_c('button',{staticClass:"custom-plain-button",on:{"click":_vm.xcbd}},[_vm._v(_vm._s(_vm.i18n('下次绑定')))])])])]):_vm._e(),(_vm.isOneYearBeforeLogin)?_c('div',{staticClass:"custom-dialog-overlay"},[_c('div',{staticClass:"custom-dialog icve-sso-test",staticStyle:{"width":"540px"}},[_c('div',{staticClass:"custom-dialog-header"},[_c('h3',{staticClass:"custom-dialog-title"},[_vm._v(_vm._s(_vm.i18n('安全提醒:检测到当前手机号已绑定多个账号,且部分账号已超过一年未登录。为保障账户安全,这些长期未登录的账号将自动解除手机号绑定。'))+" ")])]),_c('div',{staticClass:"custom-dialog-body"},[_c('div',{staticClass:"icve-sso-oneYearBeforeLogin"},[_c('div',{staticClass:"icve-sso-oneYearBeforeLogin-title"}),_c('ul',_vm._l((_vm.userList),function(i,idx){return _c('li',{key:idx},[_c('div',{staticClass:"icve-sso-lee"},[_c('div',{staticClass:"icve-sso-tp"},[_vm._v(_vm._s(i.userName))]),_c('div',{staticClass:"icve-sso-b"},[_vm._v(_vm._s(_vm.i18n('最后登录时间'))+":"+_vm._s(i.dateLastVisit || '--'))])])])}),0)])]),_c('div',{staticClass:"custom-dialog-footer"},[_c('button',{staticClass:"custom-primary-button",on:{"click":_vm.oneYearBeforeLogin}},[_vm._v(_vm._s(_vm.i18n('确定')))])])])]):_vm._e(),(_vm.phoneBindShow)?_c('div',{staticClass:"custom-dialog-overlay"},[_c('div',{staticClass:"custom-dialog"},[_c('div',{staticClass:"custom-dialog-header"},[_c('h3',{staticClass:"custom-dialog-title"},[_vm._v(_vm._s(_vm.i18n('手机绑定')))])]),_c('div',{staticClass:"custom-dialog-body"},[_c('MobileBinding',{attrs:{"userId":_vm.userId,"mobileType":_vm.mobileType},on:{"loginSuccess":function($event){return _vm.loginSuccess(_vm.tzToken)}}})],1)])]):_vm._e(),(_vm.editPasswordShow)?_c('div',{staticClass:"custom-dialog-overlay",on:{"click":function($event){if($event.target !== $event.currentTarget)return null;return _vm.xcbd.apply(null, arguments)}}},[_c('div',{staticClass:"custom-dialog"},[_c('div',{staticClass:"custom-dialog-header"},[_c('h3',{staticClass:"custom-dialog-title"},[_vm._v(" "+_vm._s(_vm.isWeakPwd ? _vm.i18n('您当前设置的密码强度不足,存在安全风险,请尽快修改为更复杂的密码。') : _vm.i18n('首次登录完善基本信息'))+" ")])]),_c('div',{staticClass:"custom-dialog-body"},[_c('improveInformation',{attrs:{"weakPwd":_vm.isWeakPwd,"tzToken":_vm.tzToken},on:{"loginSuccess":function($event){return _vm.loginSuccess(_vm.tzToken)}}})],1)])]):_vm._e(),_c('NationalitySelector',{attrs:{"value":_vm.nationalityModalShow},on:{"change":_vm.handleNationalityChange,"close":function($event){_vm.nationalityModalShow = false}}}),(_vm.loadLanguage)?_c('verifyComponents',{ref:"verifyComponents",on:{"success":_vm.CaptchaSuccess}}):_vm._e()],1):_vm._e()
66845
66845
  }
66846
- var userCenterLoginvue_type_template_id_77df04d6_staticRenderFns = []
66846
+ var userCenterLoginvue_type_template_id_96e3601c_staticRenderFns = []
66847
66847
 
66848
66848
 
66849
- // CONCATENATED MODULE: ./src/components/userCenterLogin.vue?vue&type=template&id=77df04d6
66849
+ // CONCATENATED MODULE: ./src/components/userCenterLogin.vue?vue&type=template&id=96e3601c
66850
66850
 
66851
66851
  // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"c6825d74-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/agreement.vue?vue&type=template&id=2bc413c2&scoped=true
66852
66852
  var agreementvue_type_template_id_2bc413c2_scoped_true_render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:"icve-sso-agreement"},[_c('el-checkbox',{staticClass:"el",on:{"change":_vm.change},model:{value:(_vm.checked),callback:function ($$v) {_vm.checked=$$v},expression:"checked"}}),_c('div',{class:_vm.source == 7 ? 'content1' : 'content'},[_c('div',{},[_vm._v(" "+_vm._s(_vm.i18n('我已阅读并同意'))+" "),_c('span',{on:{"click":_vm.userServices}},[_vm._v(_vm._s(_vm.i18n('用户服务协议')))]),_vm._v(" "+_vm._s(_vm.i18n(','))+" "),_c('span',{on:{"click":_vm.userPrivacy}},[_vm._v(_vm._s(_vm.i18n('隐私协议')))])]),(_vm.$i18n.locale == 'cn' && _vm.show)?_c('div',{staticClass:"r",on:{"click":_vm.recoverYourPassword}},[_c('img',{attrs:{"alt":"","src":"https://file.icve.com.cn/rc/111/261/1BD417BB2DC8C71CEF3B304913617EC4.png"}}),_c('u',[_vm._v(_vm._s(_vm.i18n('找回用户名或密码,请点击')))])]):_vm._e()]),(_vm.$i18n.locale == 'en' && _vm.show)?_c('div',{staticClass:"ren",on:{"click":_vm.recoverYourPassword}},[_c('img',{attrs:{"alt":"","src":"https://file.icve.com.cn/rc/111/261/1BD417BB2DC8C71CEF3B304913617EC4.png"}}),_c('u',[_vm._v(_vm._s(_vm.i18n('找回用户名或密码,请点击')))])]):_vm._e()],1)
@@ -66940,6 +66940,10 @@ var agreement_component = normalizeComponent(
66940
66940
  )
66941
66941
 
66942
66942
  /* harmony default export */ var agreement = (agreement_component.exports);
66943
+ // EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"}
66944
+ var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf");
66945
+ var external_commonjs_vue_commonjs2_vue_root_Vue_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_vue_commonjs2_vue_root_Vue_);
66946
+
66943
66947
  // CONCATENATED MODULE: ./src/api/resourceManagement/login.js
66944
66948
 
66945
66949
  //邮箱注册
@@ -68608,2260 +68612,6 @@ var improveInformation_component = normalizeComponent(
68608
68612
  )
68609
68613
 
68610
68614
  /* harmony default export */ var improveInformation = (improveInformation_component.exports);
68611
- // EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"}
68612
- var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf");
68613
- var external_commonjs_vue_commonjs2_vue_root_Vue_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_vue_commonjs2_vue_root_Vue_);
68614
-
68615
- // CONCATENATED MODULE: ./node_modules/vue-i18n/dist/vue-i18n.esm.js
68616
- /*!
68617
- * vue-i18n v8.28.2
68618
- * (c) 2022 kazuya kawaguchi
68619
- * Released under the MIT License.
68620
- */
68621
- /* */
68622
-
68623
- /**
68624
- * constants
68625
- */
68626
-
68627
- var numberFormatKeys = [
68628
- 'compactDisplay',
68629
- 'currency',
68630
- 'currencyDisplay',
68631
- 'currencySign',
68632
- 'localeMatcher',
68633
- 'notation',
68634
- 'numberingSystem',
68635
- 'signDisplay',
68636
- 'style',
68637
- 'unit',
68638
- 'unitDisplay',
68639
- 'useGrouping',
68640
- 'minimumIntegerDigits',
68641
- 'minimumFractionDigits',
68642
- 'maximumFractionDigits',
68643
- 'minimumSignificantDigits',
68644
- 'maximumSignificantDigits'
68645
- ];
68646
-
68647
- var dateTimeFormatKeys = [
68648
- 'dateStyle',
68649
- 'timeStyle',
68650
- 'calendar',
68651
- 'localeMatcher',
68652
- "hour12",
68653
- "hourCycle",
68654
- "timeZone",
68655
- "formatMatcher",
68656
- 'weekday',
68657
- 'era',
68658
- 'year',
68659
- 'month',
68660
- 'day',
68661
- 'hour',
68662
- 'minute',
68663
- 'second',
68664
- 'timeZoneName' ];
68665
-
68666
- /**
68667
- * utilities
68668
- */
68669
-
68670
- function warn (msg, err) {
68671
- if (typeof console !== 'undefined') {
68672
- console.warn('[vue-i18n] ' + msg);
68673
- /* istanbul ignore if */
68674
- if (err) {
68675
- console.warn(err.stack);
68676
- }
68677
- }
68678
- }
68679
-
68680
- function vue_i18n_esm_error (msg, err) {
68681
- if (typeof console !== 'undefined') {
68682
- console.error('[vue-i18n] ' + msg);
68683
- /* istanbul ignore if */
68684
- if (err) {
68685
- console.error(err.stack);
68686
- }
68687
- }
68688
- }
68689
-
68690
- var isArray = Array.isArray;
68691
-
68692
- function isObject (obj) {
68693
- return obj !== null && typeof obj === 'object'
68694
- }
68695
-
68696
- function isBoolean (val) {
68697
- return typeof val === 'boolean'
68698
- }
68699
-
68700
- function isString (val) {
68701
- return typeof val === 'string'
68702
- }
68703
-
68704
- var vue_i18n_esm_toString = Object.prototype.toString;
68705
- var OBJECT_STRING = '[object Object]';
68706
- function isPlainObject (obj) {
68707
- return vue_i18n_esm_toString.call(obj) === OBJECT_STRING
68708
- }
68709
-
68710
- function isNull (val) {
68711
- return val === null || val === undefined
68712
- }
68713
-
68714
- function isFunction (val) {
68715
- return typeof val === 'function'
68716
- }
68717
-
68718
- function parseArgs () {
68719
- var args = [], len = arguments.length;
68720
- while ( len-- ) args[ len ] = arguments[ len ];
68721
-
68722
- var locale = null;
68723
- var params = null;
68724
- if (args.length === 1) {
68725
- if (isObject(args[0]) || isArray(args[0])) {
68726
- params = args[0];
68727
- } else if (typeof args[0] === 'string') {
68728
- locale = args[0];
68729
- }
68730
- } else if (args.length === 2) {
68731
- if (typeof args[0] === 'string') {
68732
- locale = args[0];
68733
- }
68734
- /* istanbul ignore if */
68735
- if (isObject(args[1]) || isArray(args[1])) {
68736
- params = args[1];
68737
- }
68738
- }
68739
-
68740
- return { locale: locale, params: params }
68741
- }
68742
-
68743
- function looseClone (obj) {
68744
- return JSON.parse(JSON.stringify(obj))
68745
- }
68746
-
68747
- function remove (arr, item) {
68748
- if (arr.delete(item)) {
68749
- return arr
68750
- }
68751
- }
68752
-
68753
- function arrayFrom (arr) {
68754
- var ret = [];
68755
- arr.forEach(function (a) { return ret.push(a); });
68756
- return ret
68757
- }
68758
-
68759
- function includes (arr, item) {
68760
- return !!~arr.indexOf(item)
68761
- }
68762
-
68763
- var vue_i18n_esm_hasOwnProperty = Object.prototype.hasOwnProperty;
68764
- function hasOwn (obj, key) {
68765
- return vue_i18n_esm_hasOwnProperty.call(obj, key)
68766
- }
68767
-
68768
- function merge (target) {
68769
- var arguments$1 = arguments;
68770
-
68771
- var output = Object(target);
68772
- for (var i = 1; i < arguments.length; i++) {
68773
- var source = arguments$1[i];
68774
- if (source !== undefined && source !== null) {
68775
- var key = (void 0);
68776
- for (key in source) {
68777
- if (hasOwn(source, key)) {
68778
- if (isObject(source[key])) {
68779
- output[key] = merge(output[key], source[key]);
68780
- } else {
68781
- output[key] = source[key];
68782
- }
68783
- }
68784
- }
68785
- }
68786
- }
68787
- return output
68788
- }
68789
-
68790
- function looseEqual (a, b) {
68791
- if (a === b) { return true }
68792
- var isObjectA = isObject(a);
68793
- var isObjectB = isObject(b);
68794
- if (isObjectA && isObjectB) {
68795
- try {
68796
- var isArrayA = isArray(a);
68797
- var isArrayB = isArray(b);
68798
- if (isArrayA && isArrayB) {
68799
- return a.length === b.length && a.every(function (e, i) {
68800
- return looseEqual(e, b[i])
68801
- })
68802
- } else if (!isArrayA && !isArrayB) {
68803
- var keysA = Object.keys(a);
68804
- var keysB = Object.keys(b);
68805
- return keysA.length === keysB.length && keysA.every(function (key) {
68806
- return looseEqual(a[key], b[key])
68807
- })
68808
- } else {
68809
- /* istanbul ignore next */
68810
- return false
68811
- }
68812
- } catch (e) {
68813
- /* istanbul ignore next */
68814
- return false
68815
- }
68816
- } else if (!isObjectA && !isObjectB) {
68817
- return String(a) === String(b)
68818
- } else {
68819
- return false
68820
- }
68821
- }
68822
-
68823
- /**
68824
- * Sanitizes html special characters from input strings. For mitigating risk of XSS attacks.
68825
- * @param rawText The raw input from the user that should be escaped.
68826
- */
68827
- function escapeHtml(rawText) {
68828
- return rawText
68829
- .replace(/</g, '&lt;')
68830
- .replace(/>/g, '&gt;')
68831
- .replace(/"/g, '&quot;')
68832
- .replace(/'/g, '&apos;')
68833
- }
68834
-
68835
- /**
68836
- * Escapes html tags and special symbols from all provided params which were returned from parseArgs().params.
68837
- * This method performs an in-place operation on the params object.
68838
- *
68839
- * @param {any} params Parameters as provided from `parseArgs().params`.
68840
- * May be either an array of strings or a string->any map.
68841
- *
68842
- * @returns The manipulated `params` object.
68843
- */
68844
- function escapeParams(params) {
68845
- if(params != null) {
68846
- Object.keys(params).forEach(function (key) {
68847
- if(typeof(params[key]) == 'string') {
68848
- params[key] = escapeHtml(params[key]);
68849
- }
68850
- });
68851
- }
68852
- return params
68853
- }
68854
-
68855
- /* */
68856
-
68857
- function extend (Vue) {
68858
- if (!Vue.prototype.hasOwnProperty('$i18n')) {
68859
- // $FlowFixMe
68860
- Object.defineProperty(Vue.prototype, '$i18n', {
68861
- get: function get () { return this._i18n }
68862
- });
68863
- }
68864
-
68865
- Vue.prototype.$t = function (key) {
68866
- var values = [], len = arguments.length - 1;
68867
- while ( len-- > 0 ) values[ len ] = arguments[ len + 1 ];
68868
-
68869
- var i18n = this.$i18n;
68870
- return i18n._t.apply(i18n, [ key, i18n.locale, i18n._getMessages(), this ].concat( values ))
68871
- };
68872
-
68873
- Vue.prototype.$tc = function (key, choice) {
68874
- var values = [], len = arguments.length - 2;
68875
- while ( len-- > 0 ) values[ len ] = arguments[ len + 2 ];
68876
-
68877
- var i18n = this.$i18n;
68878
- return i18n._tc.apply(i18n, [ key, i18n.locale, i18n._getMessages(), this, choice ].concat( values ))
68879
- };
68880
-
68881
- Vue.prototype.$te = function (key, locale) {
68882
- var i18n = this.$i18n;
68883
- return i18n._te(key, i18n.locale, i18n._getMessages(), locale)
68884
- };
68885
-
68886
- Vue.prototype.$d = function (value) {
68887
- var ref;
68888
-
68889
- var args = [], len = arguments.length - 1;
68890
- while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];
68891
- return (ref = this.$i18n).d.apply(ref, [ value ].concat( args ))
68892
- };
68893
-
68894
- Vue.prototype.$n = function (value) {
68895
- var ref;
68896
-
68897
- var args = [], len = arguments.length - 1;
68898
- while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];
68899
- return (ref = this.$i18n).n.apply(ref, [ value ].concat( args ))
68900
- };
68901
- }
68902
-
68903
- /* */
68904
-
68905
- /**
68906
- * Mixin
68907
- *
68908
- * If `bridge` mode, empty mixin is returned,
68909
- * else regulary mixin implementation is returned.
68910
- */
68911
- function defineMixin (bridge) {
68912
- if ( bridge === void 0 ) bridge = false;
68913
-
68914
- function mounted () {
68915
- if (this !== this.$root && this.$options.__INTLIFY_META__ && this.$el) {
68916
- this.$el.setAttribute('data-intlify', this.$options.__INTLIFY_META__);
68917
- }
68918
- }
68919
-
68920
- return bridge
68921
- ? { mounted: mounted } // delegate `vue-i18n-bridge` mixin implementation
68922
- : { // regulary
68923
- beforeCreate: function beforeCreate () {
68924
- var options = this.$options;
68925
- options.i18n = options.i18n || ((options.__i18nBridge || options.__i18n) ? {} : null);
68926
-
68927
- if (options.i18n) {
68928
- if (options.i18n instanceof VueI18n) {
68929
- // init locale messages via custom blocks
68930
- if ((options.__i18nBridge || options.__i18n)) {
68931
- try {
68932
- var localeMessages = options.i18n && options.i18n.messages ? options.i18n.messages : {};
68933
- var _i18n = options.__i18nBridge || options.__i18n;
68934
- _i18n.forEach(function (resource) {
68935
- localeMessages = merge(localeMessages, JSON.parse(resource));
68936
- });
68937
- Object.keys(localeMessages).forEach(function (locale) {
68938
- options.i18n.mergeLocaleMessage(locale, localeMessages[locale]);
68939
- });
68940
- } catch (e) {
68941
- if (false) {}
68942
- }
68943
- }
68944
- this._i18n = options.i18n;
68945
- this._i18nWatcher = this._i18n.watchI18nData();
68946
- } else if (isPlainObject(options.i18n)) {
68947
- var rootI18n = this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n
68948
- ? this.$root.$i18n
68949
- : null;
68950
- // component local i18n
68951
- if (rootI18n) {
68952
- options.i18n.root = this.$root;
68953
- options.i18n.formatter = rootI18n.formatter;
68954
- options.i18n.fallbackLocale = rootI18n.fallbackLocale;
68955
- options.i18n.formatFallbackMessages = rootI18n.formatFallbackMessages;
68956
- options.i18n.silentTranslationWarn = rootI18n.silentTranslationWarn;
68957
- options.i18n.silentFallbackWarn = rootI18n.silentFallbackWarn;
68958
- options.i18n.pluralizationRules = rootI18n.pluralizationRules;
68959
- options.i18n.preserveDirectiveContent = rootI18n.preserveDirectiveContent;
68960
- }
68961
-
68962
- // init locale messages via custom blocks
68963
- if ((options.__i18nBridge || options.__i18n)) {
68964
- try {
68965
- var localeMessages$1 = options.i18n && options.i18n.messages ? options.i18n.messages : {};
68966
- var _i18n$1 = options.__i18nBridge || options.__i18n;
68967
- _i18n$1.forEach(function (resource) {
68968
- localeMessages$1 = merge(localeMessages$1, JSON.parse(resource));
68969
- });
68970
- options.i18n.messages = localeMessages$1;
68971
- } catch (e) {
68972
- if (false) {}
68973
- }
68974
- }
68975
-
68976
- var ref = options.i18n;
68977
- var sharedMessages = ref.sharedMessages;
68978
- if (sharedMessages && isPlainObject(sharedMessages)) {
68979
- options.i18n.messages = merge(options.i18n.messages, sharedMessages);
68980
- }
68981
-
68982
- this._i18n = new VueI18n(options.i18n);
68983
- this._i18nWatcher = this._i18n.watchI18nData();
68984
-
68985
- if (options.i18n.sync === undefined || !!options.i18n.sync) {
68986
- this._localeWatcher = this.$i18n.watchLocale();
68987
- }
68988
-
68989
- if (rootI18n) {
68990
- rootI18n.onComponentInstanceCreated(this._i18n);
68991
- }
68992
- } else {
68993
- if (false) {}
68994
- }
68995
- } else if (this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n) {
68996
- // root i18n
68997
- this._i18n = this.$root.$i18n;
68998
- } else if (options.parent && options.parent.$i18n && options.parent.$i18n instanceof VueI18n) {
68999
- // parent i18n
69000
- this._i18n = options.parent.$i18n;
69001
- }
69002
- },
69003
-
69004
- beforeMount: function beforeMount () {
69005
- var options = this.$options;
69006
- options.i18n = options.i18n || ((options.__i18nBridge || options.__i18n) ? {} : null);
69007
-
69008
- if (options.i18n) {
69009
- if (options.i18n instanceof VueI18n) {
69010
- // init locale messages via custom blocks
69011
- this._i18n.subscribeDataChanging(this);
69012
- this._subscribing = true;
69013
- } else if (isPlainObject(options.i18n)) {
69014
- this._i18n.subscribeDataChanging(this);
69015
- this._subscribing = true;
69016
- } else {
69017
- if (false) {}
69018
- }
69019
- } else if (this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n) {
69020
- this._i18n.subscribeDataChanging(this);
69021
- this._subscribing = true;
69022
- } else if (options.parent && options.parent.$i18n && options.parent.$i18n instanceof VueI18n) {
69023
- this._i18n.subscribeDataChanging(this);
69024
- this._subscribing = true;
69025
- }
69026
- },
69027
-
69028
- mounted: mounted,
69029
-
69030
- beforeDestroy: function beforeDestroy () {
69031
- if (!this._i18n) { return }
69032
-
69033
- var self = this;
69034
- this.$nextTick(function () {
69035
- if (self._subscribing) {
69036
- self._i18n.unsubscribeDataChanging(self);
69037
- delete self._subscribing;
69038
- }
69039
-
69040
- if (self._i18nWatcher) {
69041
- self._i18nWatcher();
69042
- self._i18n.destroyVM();
69043
- delete self._i18nWatcher;
69044
- }
69045
-
69046
- if (self._localeWatcher) {
69047
- self._localeWatcher();
69048
- delete self._localeWatcher;
69049
- }
69050
- });
69051
- }
69052
- }
69053
- }
69054
-
69055
- /* */
69056
-
69057
- var interpolationComponent = {
69058
- name: 'i18n',
69059
- functional: true,
69060
- props: {
69061
- tag: {
69062
- type: [String, Boolean, Object],
69063
- default: 'span'
69064
- },
69065
- path: {
69066
- type: String,
69067
- required: true
69068
- },
69069
- locale: {
69070
- type: String
69071
- },
69072
- places: {
69073
- type: [Array, Object]
69074
- }
69075
- },
69076
- render: function render (h, ref) {
69077
- var data = ref.data;
69078
- var parent = ref.parent;
69079
- var props = ref.props;
69080
- var slots = ref.slots;
69081
-
69082
- var $i18n = parent.$i18n;
69083
- if (!$i18n) {
69084
- if (false) {}
69085
- return
69086
- }
69087
-
69088
- var path = props.path;
69089
- var locale = props.locale;
69090
- var places = props.places;
69091
- var params = slots();
69092
- var children = $i18n.i(
69093
- path,
69094
- locale,
69095
- onlyHasDefaultPlace(params) || places
69096
- ? useLegacyPlaces(params.default, places)
69097
- : params
69098
- );
69099
-
69100
- var tag = (!!props.tag && props.tag !== true) || props.tag === false ? props.tag : 'span';
69101
- return tag ? h(tag, data, children) : children
69102
- }
69103
- };
69104
-
69105
- function onlyHasDefaultPlace (params) {
69106
- var prop;
69107
- for (prop in params) {
69108
- if (prop !== 'default') { return false }
69109
- }
69110
- return Boolean(prop)
69111
- }
69112
-
69113
- function useLegacyPlaces (children, places) {
69114
- var params = places ? createParamsFromPlaces(places) : {};
69115
-
69116
- if (!children) { return params }
69117
-
69118
- // Filter empty text nodes
69119
- children = children.filter(function (child) {
69120
- return child.tag || child.text.trim() !== ''
69121
- });
69122
-
69123
- var everyPlace = children.every(vnodeHasPlaceAttribute);
69124
- if (false) {}
69125
-
69126
- return children.reduce(
69127
- everyPlace ? assignChildPlace : assignChildIndex,
69128
- params
69129
- )
69130
- }
69131
-
69132
- function createParamsFromPlaces (places) {
69133
- if (false) {}
69134
-
69135
- return Array.isArray(places)
69136
- ? places.reduce(assignChildIndex, {})
69137
- : Object.assign({}, places)
69138
- }
69139
-
69140
- function assignChildPlace (params, child) {
69141
- if (child.data && child.data.attrs && child.data.attrs.place) {
69142
- params[child.data.attrs.place] = child;
69143
- }
69144
- return params
69145
- }
69146
-
69147
- function assignChildIndex (params, child, index) {
69148
- params[index] = child;
69149
- return params
69150
- }
69151
-
69152
- function vnodeHasPlaceAttribute (vnode) {
69153
- return Boolean(vnode.data && vnode.data.attrs && vnode.data.attrs.place)
69154
- }
69155
-
69156
- /* */
69157
-
69158
- var numberComponent = {
69159
- name: 'i18n-n',
69160
- functional: true,
69161
- props: {
69162
- tag: {
69163
- type: [String, Boolean, Object],
69164
- default: 'span'
69165
- },
69166
- value: {
69167
- type: Number,
69168
- required: true
69169
- },
69170
- format: {
69171
- type: [String, Object]
69172
- },
69173
- locale: {
69174
- type: String
69175
- }
69176
- },
69177
- render: function render (h, ref) {
69178
- var props = ref.props;
69179
- var parent = ref.parent;
69180
- var data = ref.data;
69181
-
69182
- var i18n = parent.$i18n;
69183
-
69184
- if (!i18n) {
69185
- if (false) {}
69186
- return null
69187
- }
69188
-
69189
- var key = null;
69190
- var options = null;
69191
-
69192
- if (isString(props.format)) {
69193
- key = props.format;
69194
- } else if (isObject(props.format)) {
69195
- if (props.format.key) {
69196
- key = props.format.key;
69197
- }
69198
-
69199
- // Filter out number format options only
69200
- options = Object.keys(props.format).reduce(function (acc, prop) {
69201
- var obj;
69202
-
69203
- if (includes(numberFormatKeys, prop)) {
69204
- return Object.assign({}, acc, ( obj = {}, obj[prop] = props.format[prop], obj ))
69205
- }
69206
- return acc
69207
- }, null);
69208
- }
69209
-
69210
- var locale = props.locale || i18n.locale;
69211
- var parts = i18n._ntp(props.value, locale, key, options);
69212
-
69213
- var values = parts.map(function (part, index) {
69214
- var obj;
69215
-
69216
- var slot = data.scopedSlots && data.scopedSlots[part.type];
69217
- return slot ? slot(( obj = {}, obj[part.type] = part.value, obj.index = index, obj.parts = parts, obj )) : part.value
69218
- });
69219
-
69220
- var tag = (!!props.tag && props.tag !== true) || props.tag === false ? props.tag : 'span';
69221
- return tag
69222
- ? h(tag, {
69223
- attrs: data.attrs,
69224
- 'class': data['class'],
69225
- staticClass: data.staticClass
69226
- }, values)
69227
- : values
69228
- }
69229
- };
69230
-
69231
- /* */
69232
-
69233
- function bind (el, binding, vnode) {
69234
- if (!assert(el, vnode)) { return }
69235
-
69236
- t(el, binding, vnode);
69237
- }
69238
-
69239
- function update (el, binding, vnode, oldVNode) {
69240
- if (!assert(el, vnode)) { return }
69241
-
69242
- var i18n = vnode.context.$i18n;
69243
- if (localeEqual(el, vnode) &&
69244
- (looseEqual(binding.value, binding.oldValue) &&
69245
- looseEqual(el._localeMessage, i18n.getLocaleMessage(i18n.locale)))) { return }
69246
-
69247
- t(el, binding, vnode);
69248
- }
69249
-
69250
- function unbind (el, binding, vnode, oldVNode) {
69251
- var vm = vnode.context;
69252
- if (!vm) {
69253
- warn('Vue instance does not exists in VNode context');
69254
- return
69255
- }
69256
-
69257
- var i18n = vnode.context.$i18n || {};
69258
- if (!binding.modifiers.preserve && !i18n.preserveDirectiveContent) {
69259
- el.textContent = '';
69260
- }
69261
- el._vt = undefined;
69262
- delete el['_vt'];
69263
- el._locale = undefined;
69264
- delete el['_locale'];
69265
- el._localeMessage = undefined;
69266
- delete el['_localeMessage'];
69267
- }
69268
-
69269
- function assert (el, vnode) {
69270
- var vm = vnode.context;
69271
- if (!vm) {
69272
- warn('Vue instance does not exists in VNode context');
69273
- return false
69274
- }
69275
-
69276
- if (!vm.$i18n) {
69277
- warn('VueI18n instance does not exists in Vue instance');
69278
- return false
69279
- }
69280
-
69281
- return true
69282
- }
69283
-
69284
- function localeEqual (el, vnode) {
69285
- var vm = vnode.context;
69286
- return el._locale === vm.$i18n.locale
69287
- }
69288
-
69289
- function t (el, binding, vnode) {
69290
- var ref$1, ref$2;
69291
-
69292
- var value = binding.value;
69293
-
69294
- var ref = parseValue(value);
69295
- var path = ref.path;
69296
- var locale = ref.locale;
69297
- var args = ref.args;
69298
- var choice = ref.choice;
69299
- if (!path && !locale && !args) {
69300
- warn('value type not supported');
69301
- return
69302
- }
69303
-
69304
- if (!path) {
69305
- warn('`path` is required in v-t directive');
69306
- return
69307
- }
69308
-
69309
- var vm = vnode.context;
69310
- if (choice != null) {
69311
- el._vt = el.textContent = (ref$1 = vm.$i18n).tc.apply(ref$1, [ path, choice ].concat( makeParams(locale, args) ));
69312
- } else {
69313
- el._vt = el.textContent = (ref$2 = vm.$i18n).t.apply(ref$2, [ path ].concat( makeParams(locale, args) ));
69314
- }
69315
- el._locale = vm.$i18n.locale;
69316
- el._localeMessage = vm.$i18n.getLocaleMessage(vm.$i18n.locale);
69317
- }
69318
-
69319
- function parseValue (value) {
69320
- var path;
69321
- var locale;
69322
- var args;
69323
- var choice;
69324
-
69325
- if (isString(value)) {
69326
- path = value;
69327
- } else if (isPlainObject(value)) {
69328
- path = value.path;
69329
- locale = value.locale;
69330
- args = value.args;
69331
- choice = value.choice;
69332
- }
69333
-
69334
- return { path: path, locale: locale, args: args, choice: choice }
69335
- }
69336
-
69337
- function makeParams (locale, args) {
69338
- var params = [];
69339
-
69340
- locale && params.push(locale);
69341
- if (args && (Array.isArray(args) || isPlainObject(args))) {
69342
- params.push(args);
69343
- }
69344
-
69345
- return params
69346
- }
69347
-
69348
- var vue_i18n_esm_Vue;
69349
-
69350
- function install (_Vue, options) {
69351
- if ( options === void 0 ) options = { bridge: false };
69352
-
69353
- /* istanbul ignore if */
69354
- if (false) {}
69355
- install.installed = true;
69356
-
69357
- vue_i18n_esm_Vue = _Vue;
69358
-
69359
- var version = (vue_i18n_esm_Vue.version && Number(vue_i18n_esm_Vue.version.split('.')[0])) || -1;
69360
- /* istanbul ignore if */
69361
- if (false) {}
69362
-
69363
- extend(vue_i18n_esm_Vue);
69364
- vue_i18n_esm_Vue.mixin(defineMixin(options.bridge));
69365
- vue_i18n_esm_Vue.directive('t', { bind: bind, update: update, unbind: unbind });
69366
- vue_i18n_esm_Vue.component(interpolationComponent.name, interpolationComponent);
69367
- vue_i18n_esm_Vue.component(numberComponent.name, numberComponent);
69368
-
69369
- // use simple mergeStrategies to prevent i18n instance lose '__proto__'
69370
- var strats = vue_i18n_esm_Vue.config.optionMergeStrategies;
69371
- strats.i18n = function (parentVal, childVal) {
69372
- return childVal === undefined
69373
- ? parentVal
69374
- : childVal
69375
- };
69376
- }
69377
-
69378
- /* */
69379
-
69380
- var BaseFormatter = function BaseFormatter () {
69381
- this._caches = Object.create(null);
69382
- };
69383
-
69384
- BaseFormatter.prototype.interpolate = function interpolate (message, values) {
69385
- if (!values) {
69386
- return [message]
69387
- }
69388
- var tokens = this._caches[message];
69389
- if (!tokens) {
69390
- tokens = parse(message);
69391
- this._caches[message] = tokens;
69392
- }
69393
- return compile(tokens, values)
69394
- };
69395
-
69396
-
69397
-
69398
- var RE_TOKEN_LIST_VALUE = /^(?:\d)+/;
69399
- var RE_TOKEN_NAMED_VALUE = /^(?:\w)+/;
69400
-
69401
- function parse (format) {
69402
- var tokens = [];
69403
- var position = 0;
69404
-
69405
- var text = '';
69406
- while (position < format.length) {
69407
- var char = format[position++];
69408
- if (char === '{') {
69409
- if (text) {
69410
- tokens.push({ type: 'text', value: text });
69411
- }
69412
-
69413
- text = '';
69414
- var sub = '';
69415
- char = format[position++];
69416
- while (char !== undefined && char !== '}') {
69417
- sub += char;
69418
- char = format[position++];
69419
- }
69420
- var isClosed = char === '}';
69421
-
69422
- var type = RE_TOKEN_LIST_VALUE.test(sub)
69423
- ? 'list'
69424
- : isClosed && RE_TOKEN_NAMED_VALUE.test(sub)
69425
- ? 'named'
69426
- : 'unknown';
69427
- tokens.push({ value: sub, type: type });
69428
- } else if (char === '%') {
69429
- // when found rails i18n syntax, skip text capture
69430
- if (format[(position)] !== '{') {
69431
- text += char;
69432
- }
69433
- } else {
69434
- text += char;
69435
- }
69436
- }
69437
-
69438
- text && tokens.push({ type: 'text', value: text });
69439
-
69440
- return tokens
69441
- }
69442
-
69443
- function compile (tokens, values) {
69444
- var compiled = [];
69445
- var index = 0;
69446
-
69447
- var mode = Array.isArray(values)
69448
- ? 'list'
69449
- : isObject(values)
69450
- ? 'named'
69451
- : 'unknown';
69452
- if (mode === 'unknown') { return compiled }
69453
-
69454
- while (index < tokens.length) {
69455
- var token = tokens[index];
69456
- switch (token.type) {
69457
- case 'text':
69458
- compiled.push(token.value);
69459
- break
69460
- case 'list':
69461
- compiled.push(values[parseInt(token.value, 10)]);
69462
- break
69463
- case 'named':
69464
- if (mode === 'named') {
69465
- compiled.push((values)[token.value]);
69466
- } else {
69467
- if (false) {}
69468
- }
69469
- break
69470
- case 'unknown':
69471
- if (false) {}
69472
- break
69473
- }
69474
- index++;
69475
- }
69476
-
69477
- return compiled
69478
- }
69479
-
69480
- /* */
69481
-
69482
- /**
69483
- * Path parser
69484
- * - Inspired:
69485
- * Vue.js Path parser
69486
- */
69487
-
69488
- // actions
69489
- var APPEND = 0;
69490
- var PUSH = 1;
69491
- var INC_SUB_PATH_DEPTH = 2;
69492
- var PUSH_SUB_PATH = 3;
69493
-
69494
- // states
69495
- var BEFORE_PATH = 0;
69496
- var IN_PATH = 1;
69497
- var BEFORE_IDENT = 2;
69498
- var IN_IDENT = 3;
69499
- var IN_SUB_PATH = 4;
69500
- var IN_SINGLE_QUOTE = 5;
69501
- var IN_DOUBLE_QUOTE = 6;
69502
- var AFTER_PATH = 7;
69503
- var ERROR = 8;
69504
-
69505
- var pathStateMachine = [];
69506
-
69507
- pathStateMachine[BEFORE_PATH] = {
69508
- 'ws': [BEFORE_PATH],
69509
- 'ident': [IN_IDENT, APPEND],
69510
- '[': [IN_SUB_PATH],
69511
- 'eof': [AFTER_PATH]
69512
- };
69513
-
69514
- pathStateMachine[IN_PATH] = {
69515
- 'ws': [IN_PATH],
69516
- '.': [BEFORE_IDENT],
69517
- '[': [IN_SUB_PATH],
69518
- 'eof': [AFTER_PATH]
69519
- };
69520
-
69521
- pathStateMachine[BEFORE_IDENT] = {
69522
- 'ws': [BEFORE_IDENT],
69523
- 'ident': [IN_IDENT, APPEND],
69524
- '0': [IN_IDENT, APPEND],
69525
- 'number': [IN_IDENT, APPEND]
69526
- };
69527
-
69528
- pathStateMachine[IN_IDENT] = {
69529
- 'ident': [IN_IDENT, APPEND],
69530
- '0': [IN_IDENT, APPEND],
69531
- 'number': [IN_IDENT, APPEND],
69532
- 'ws': [IN_PATH, PUSH],
69533
- '.': [BEFORE_IDENT, PUSH],
69534
- '[': [IN_SUB_PATH, PUSH],
69535
- 'eof': [AFTER_PATH, PUSH]
69536
- };
69537
-
69538
- pathStateMachine[IN_SUB_PATH] = {
69539
- "'": [IN_SINGLE_QUOTE, APPEND],
69540
- '"': [IN_DOUBLE_QUOTE, APPEND],
69541
- '[': [IN_SUB_PATH, INC_SUB_PATH_DEPTH],
69542
- ']': [IN_PATH, PUSH_SUB_PATH],
69543
- 'eof': ERROR,
69544
- 'else': [IN_SUB_PATH, APPEND]
69545
- };
69546
-
69547
- pathStateMachine[IN_SINGLE_QUOTE] = {
69548
- "'": [IN_SUB_PATH, APPEND],
69549
- 'eof': ERROR,
69550
- 'else': [IN_SINGLE_QUOTE, APPEND]
69551
- };
69552
-
69553
- pathStateMachine[IN_DOUBLE_QUOTE] = {
69554
- '"': [IN_SUB_PATH, APPEND],
69555
- 'eof': ERROR,
69556
- 'else': [IN_DOUBLE_QUOTE, APPEND]
69557
- };
69558
-
69559
- /**
69560
- * Check if an expression is a literal value.
69561
- */
69562
-
69563
- var literalValueRE = /^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;
69564
- function isLiteral (exp) {
69565
- return literalValueRE.test(exp)
69566
- }
69567
-
69568
- /**
69569
- * Strip quotes from a string
69570
- */
69571
-
69572
- function stripQuotes (str) {
69573
- var a = str.charCodeAt(0);
69574
- var b = str.charCodeAt(str.length - 1);
69575
- return a === b && (a === 0x22 || a === 0x27)
69576
- ? str.slice(1, -1)
69577
- : str
69578
- }
69579
-
69580
- /**
69581
- * Determine the type of a character in a keypath.
69582
- */
69583
-
69584
- function getPathCharType (ch) {
69585
- if (ch === undefined || ch === null) { return 'eof' }
69586
-
69587
- var code = ch.charCodeAt(0);
69588
-
69589
- switch (code) {
69590
- case 0x5B: // [
69591
- case 0x5D: // ]
69592
- case 0x2E: // .
69593
- case 0x22: // "
69594
- case 0x27: // '
69595
- return ch
69596
-
69597
- case 0x5F: // _
69598
- case 0x24: // $
69599
- case 0x2D: // -
69600
- return 'ident'
69601
-
69602
- case 0x09: // Tab
69603
- case 0x0A: // Newline
69604
- case 0x0D: // Return
69605
- case 0xA0: // No-break space
69606
- case 0xFEFF: // Byte Order Mark
69607
- case 0x2028: // Line Separator
69608
- case 0x2029: // Paragraph Separator
69609
- return 'ws'
69610
- }
69611
-
69612
- return 'ident'
69613
- }
69614
-
69615
- /**
69616
- * Format a subPath, return its plain form if it is
69617
- * a literal string or number. Otherwise prepend the
69618
- * dynamic indicator (*).
69619
- */
69620
-
69621
- function formatSubPath (path) {
69622
- var trimmed = path.trim();
69623
- // invalid leading 0
69624
- if (path.charAt(0) === '0' && isNaN(path)) { return false }
69625
-
69626
- return isLiteral(trimmed) ? stripQuotes(trimmed) : '*' + trimmed
69627
- }
69628
-
69629
- /**
69630
- * Parse a string path into an array of segments
69631
- */
69632
-
69633
- function parse$1 (path) {
69634
- var keys = [];
69635
- var index = -1;
69636
- var mode = BEFORE_PATH;
69637
- var subPathDepth = 0;
69638
- var c;
69639
- var key;
69640
- var newChar;
69641
- var type;
69642
- var transition;
69643
- var action;
69644
- var typeMap;
69645
- var actions = [];
69646
-
69647
- actions[PUSH] = function () {
69648
- if (key !== undefined) {
69649
- keys.push(key);
69650
- key = undefined;
69651
- }
69652
- };
69653
-
69654
- actions[APPEND] = function () {
69655
- if (key === undefined) {
69656
- key = newChar;
69657
- } else {
69658
- key += newChar;
69659
- }
69660
- };
69661
-
69662
- actions[INC_SUB_PATH_DEPTH] = function () {
69663
- actions[APPEND]();
69664
- subPathDepth++;
69665
- };
69666
-
69667
- actions[PUSH_SUB_PATH] = function () {
69668
- if (subPathDepth > 0) {
69669
- subPathDepth--;
69670
- mode = IN_SUB_PATH;
69671
- actions[APPEND]();
69672
- } else {
69673
- subPathDepth = 0;
69674
- if (key === undefined) { return false }
69675
- key = formatSubPath(key);
69676
- if (key === false) {
69677
- return false
69678
- } else {
69679
- actions[PUSH]();
69680
- }
69681
- }
69682
- };
69683
-
69684
- function maybeUnescapeQuote () {
69685
- var nextChar = path[index + 1];
69686
- if ((mode === IN_SINGLE_QUOTE && nextChar === "'") ||
69687
- (mode === IN_DOUBLE_QUOTE && nextChar === '"')) {
69688
- index++;
69689
- newChar = '\\' + nextChar;
69690
- actions[APPEND]();
69691
- return true
69692
- }
69693
- }
69694
-
69695
- while (mode !== null) {
69696
- index++;
69697
- c = path[index];
69698
-
69699
- if (c === '\\' && maybeUnescapeQuote()) {
69700
- continue
69701
- }
69702
-
69703
- type = getPathCharType(c);
69704
- typeMap = pathStateMachine[mode];
69705
- transition = typeMap[type] || typeMap['else'] || ERROR;
69706
-
69707
- if (transition === ERROR) {
69708
- return // parse error
69709
- }
69710
-
69711
- mode = transition[0];
69712
- action = actions[transition[1]];
69713
- if (action) {
69714
- newChar = transition[2];
69715
- newChar = newChar === undefined
69716
- ? c
69717
- : newChar;
69718
- if (action() === false) {
69719
- return
69720
- }
69721
- }
69722
-
69723
- if (mode === AFTER_PATH) {
69724
- return keys
69725
- }
69726
- }
69727
- }
69728
-
69729
-
69730
-
69731
-
69732
-
69733
- var I18nPath = function I18nPath () {
69734
- this._cache = Object.create(null);
69735
- };
69736
-
69737
- /**
69738
- * External parse that check for a cache hit first
69739
- */
69740
- I18nPath.prototype.parsePath = function parsePath (path) {
69741
- var hit = this._cache[path];
69742
- if (!hit) {
69743
- hit = parse$1(path);
69744
- if (hit) {
69745
- this._cache[path] = hit;
69746
- }
69747
- }
69748
- return hit || []
69749
- };
69750
-
69751
- /**
69752
- * Get path value from path string
69753
- */
69754
- I18nPath.prototype.getPathValue = function getPathValue (obj, path) {
69755
- if (!isObject(obj)) { return null }
69756
-
69757
- var paths = this.parsePath(path);
69758
- if (paths.length === 0) {
69759
- return null
69760
- } else {
69761
- var length = paths.length;
69762
- var last = obj;
69763
- var i = 0;
69764
- while (i < length) {
69765
- var value = last[paths[i]];
69766
- if (value === undefined || value === null) {
69767
- return null
69768
- }
69769
- last = value;
69770
- i++;
69771
- }
69772
-
69773
- return last
69774
- }
69775
- };
69776
-
69777
- /* */
69778
-
69779
-
69780
-
69781
- var htmlTagMatcher = /<\/?[\w\s="/.':;#-\/]+>/;
69782
- var linkKeyMatcher = /(?:@(?:\.[a-zA-Z]+)?:(?:[\w\-_|./]+|\([\w\-_:|./]+\)))/g;
69783
- var linkKeyPrefixMatcher = /^@(?:\.([a-zA-Z]+))?:/;
69784
- var bracketsMatcher = /[()]/g;
69785
- var defaultModifiers = {
69786
- 'upper': function (str) { return str.toLocaleUpperCase(); },
69787
- 'lower': function (str) { return str.toLocaleLowerCase(); },
69788
- 'capitalize': function (str) { return ("" + (str.charAt(0).toLocaleUpperCase()) + (str.substr(1))); }
69789
- };
69790
-
69791
- var defaultFormatter = new BaseFormatter();
69792
-
69793
- var VueI18n = function VueI18n (options) {
69794
- var this$1 = this;
69795
- if ( options === void 0 ) options = {};
69796
-
69797
- // Auto install if it is not done yet and `window` has `Vue`.
69798
- // To allow users to avoid auto-installation in some cases,
69799
- // this code should be placed here. See #290
69800
- /* istanbul ignore if */
69801
- if (!vue_i18n_esm_Vue && typeof window !== 'undefined' && window.Vue) {
69802
- install(window.Vue);
69803
- }
69804
-
69805
- var locale = options.locale || 'en-US';
69806
- var fallbackLocale = options.fallbackLocale === false
69807
- ? false
69808
- : options.fallbackLocale || 'en-US';
69809
- var messages = options.messages || {};
69810
- var dateTimeFormats = options.dateTimeFormats || options.datetimeFormats || {};
69811
- var numberFormats = options.numberFormats || {};
69812
-
69813
- this._vm = null;
69814
- this._formatter = options.formatter || defaultFormatter;
69815
- this._modifiers = options.modifiers || {};
69816
- this._missing = options.missing || null;
69817
- this._root = options.root || null;
69818
- this._sync = options.sync === undefined ? true : !!options.sync;
69819
- this._fallbackRoot = options.fallbackRoot === undefined
69820
- ? true
69821
- : !!options.fallbackRoot;
69822
- this._fallbackRootWithEmptyString = options.fallbackRootWithEmptyString === undefined
69823
- ? true
69824
- : !!options.fallbackRootWithEmptyString;
69825
- this._formatFallbackMessages = options.formatFallbackMessages === undefined
69826
- ? false
69827
- : !!options.formatFallbackMessages;
69828
- this._silentTranslationWarn = options.silentTranslationWarn === undefined
69829
- ? false
69830
- : options.silentTranslationWarn;
69831
- this._silentFallbackWarn = options.silentFallbackWarn === undefined
69832
- ? false
69833
- : !!options.silentFallbackWarn;
69834
- this._dateTimeFormatters = {};
69835
- this._numberFormatters = {};
69836
- this._path = new I18nPath();
69837
- this._dataListeners = new Set();
69838
- this._componentInstanceCreatedListener = options.componentInstanceCreatedListener || null;
69839
- this._preserveDirectiveContent = options.preserveDirectiveContent === undefined
69840
- ? false
69841
- : !!options.preserveDirectiveContent;
69842
- this.pluralizationRules = options.pluralizationRules || {};
69843
- this._warnHtmlInMessage = options.warnHtmlInMessage || 'off';
69844
- this._postTranslation = options.postTranslation || null;
69845
- this._escapeParameterHtml = options.escapeParameterHtml || false;
69846
-
69847
- if ('__VUE_I18N_BRIDGE__' in options) {
69848
- this.__VUE_I18N_BRIDGE__ = options.__VUE_I18N_BRIDGE__;
69849
- }
69850
-
69851
- /**
69852
- * @param choice {number} a choice index given by the input to $tc: `$tc('path.to.rule', choiceIndex)`
69853
- * @param choicesLength {number} an overall amount of available choices
69854
- * @returns a final choice index
69855
- */
69856
- this.getChoiceIndex = function (choice, choicesLength) {
69857
- var thisPrototype = Object.getPrototypeOf(this$1);
69858
- if (thisPrototype && thisPrototype.getChoiceIndex) {
69859
- var prototypeGetChoiceIndex = (thisPrototype.getChoiceIndex);
69860
- return (prototypeGetChoiceIndex).call(this$1, choice, choicesLength)
69861
- }
69862
-
69863
- // Default (old) getChoiceIndex implementation - english-compatible
69864
- var defaultImpl = function (_choice, _choicesLength) {
69865
- _choice = Math.abs(_choice);
69866
-
69867
- if (_choicesLength === 2) {
69868
- return _choice
69869
- ? _choice > 1
69870
- ? 1
69871
- : 0
69872
- : 1
69873
- }
69874
-
69875
- return _choice ? Math.min(_choice, 2) : 0
69876
- };
69877
-
69878
- if (this$1.locale in this$1.pluralizationRules) {
69879
- return this$1.pluralizationRules[this$1.locale].apply(this$1, [choice, choicesLength])
69880
- } else {
69881
- return defaultImpl(choice, choicesLength)
69882
- }
69883
- };
69884
-
69885
-
69886
- this._exist = function (message, key) {
69887
- if (!message || !key) { return false }
69888
- if (!isNull(this$1._path.getPathValue(message, key))) { return true }
69889
- // fallback for flat key
69890
- if (message[key]) { return true }
69891
- return false
69892
- };
69893
-
69894
- if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {
69895
- Object.keys(messages).forEach(function (locale) {
69896
- this$1._checkLocaleMessage(locale, this$1._warnHtmlInMessage, messages[locale]);
69897
- });
69898
- }
69899
-
69900
- this._initVM({
69901
- locale: locale,
69902
- fallbackLocale: fallbackLocale,
69903
- messages: messages,
69904
- dateTimeFormats: dateTimeFormats,
69905
- numberFormats: numberFormats
69906
- });
69907
- };
69908
-
69909
- var prototypeAccessors = { vm: { configurable: true },messages: { configurable: true },dateTimeFormats: { configurable: true },numberFormats: { configurable: true },availableLocales: { configurable: true },locale: { configurable: true },fallbackLocale: { configurable: true },formatFallbackMessages: { configurable: true },missing: { configurable: true },formatter: { configurable: true },silentTranslationWarn: { configurable: true },silentFallbackWarn: { configurable: true },preserveDirectiveContent: { configurable: true },warnHtmlInMessage: { configurable: true },postTranslation: { configurable: true },sync: { configurable: true } };
69910
-
69911
- VueI18n.prototype._checkLocaleMessage = function _checkLocaleMessage (locale, level, message) {
69912
- var paths = [];
69913
-
69914
- var fn = function (level, locale, message, paths) {
69915
- if (isPlainObject(message)) {
69916
- Object.keys(message).forEach(function (key) {
69917
- var val = message[key];
69918
- if (isPlainObject(val)) {
69919
- paths.push(key);
69920
- paths.push('.');
69921
- fn(level, locale, val, paths);
69922
- paths.pop();
69923
- paths.pop();
69924
- } else {
69925
- paths.push(key);
69926
- fn(level, locale, val, paths);
69927
- paths.pop();
69928
- }
69929
- });
69930
- } else if (isArray(message)) {
69931
- message.forEach(function (item, index) {
69932
- if (isPlainObject(item)) {
69933
- paths.push(("[" + index + "]"));
69934
- paths.push('.');
69935
- fn(level, locale, item, paths);
69936
- paths.pop();
69937
- paths.pop();
69938
- } else {
69939
- paths.push(("[" + index + "]"));
69940
- fn(level, locale, item, paths);
69941
- paths.pop();
69942
- }
69943
- });
69944
- } else if (isString(message)) {
69945
- var ret = htmlTagMatcher.test(message);
69946
- if (ret) {
69947
- var msg = "Detected HTML in message '" + message + "' of keypath '" + (paths.join('')) + "' at '" + locale + "'. Consider component interpolation with '<i18n>' to avoid XSS. See https://bit.ly/2ZqJzkp";
69948
- if (level === 'warn') {
69949
- warn(msg);
69950
- } else if (level === 'error') {
69951
- vue_i18n_esm_error(msg);
69952
- }
69953
- }
69954
- }
69955
- };
69956
-
69957
- fn(level, locale, message, paths);
69958
- };
69959
-
69960
- VueI18n.prototype._initVM = function _initVM (data) {
69961
- var silent = vue_i18n_esm_Vue.config.silent;
69962
- vue_i18n_esm_Vue.config.silent = true;
69963
- this._vm = new vue_i18n_esm_Vue({ data: data, __VUE18N__INSTANCE__: true });
69964
- vue_i18n_esm_Vue.config.silent = silent;
69965
- };
69966
-
69967
- VueI18n.prototype.destroyVM = function destroyVM () {
69968
- this._vm.$destroy();
69969
- };
69970
-
69971
- VueI18n.prototype.subscribeDataChanging = function subscribeDataChanging (vm) {
69972
- this._dataListeners.add(vm);
69973
- };
69974
-
69975
- VueI18n.prototype.unsubscribeDataChanging = function unsubscribeDataChanging (vm) {
69976
- remove(this._dataListeners, vm);
69977
- };
69978
-
69979
- VueI18n.prototype.watchI18nData = function watchI18nData () {
69980
- var this$1 = this;
69981
- return this._vm.$watch('$data', function () {
69982
- var listeners = arrayFrom(this$1._dataListeners);
69983
- var i = listeners.length;
69984
- while(i--) {
69985
- vue_i18n_esm_Vue.nextTick(function () {
69986
- listeners[i] && listeners[i].$forceUpdate();
69987
- });
69988
- }
69989
- }, { deep: true })
69990
- };
69991
-
69992
- VueI18n.prototype.watchLocale = function watchLocale (composer) {
69993
- if (!composer) {
69994
- /* istanbul ignore if */
69995
- if (!this._sync || !this._root) { return null }
69996
- var target = this._vm;
69997
- return this._root.$i18n.vm.$watch('locale', function (val) {
69998
- target.$set(target, 'locale', val);
69999
- target.$forceUpdate();
70000
- }, { immediate: true })
70001
- } else {
70002
- // deal with vue-i18n-bridge
70003
- if (!this.__VUE_I18N_BRIDGE__) { return null }
70004
- var self = this;
70005
- var target$1 = this._vm;
70006
- return this.vm.$watch('locale', function (val) {
70007
- target$1.$set(target$1, 'locale', val);
70008
- if (self.__VUE_I18N_BRIDGE__ && composer) {
70009
- composer.locale.value = val;
70010
- }
70011
- target$1.$forceUpdate();
70012
- }, { immediate: true })
70013
- }
70014
- };
70015
-
70016
- VueI18n.prototype.onComponentInstanceCreated = function onComponentInstanceCreated (newI18n) {
70017
- if (this._componentInstanceCreatedListener) {
70018
- this._componentInstanceCreatedListener(newI18n, this);
70019
- }
70020
- };
70021
-
70022
- prototypeAccessors.vm.get = function () { return this._vm };
70023
-
70024
- prototypeAccessors.messages.get = function () { return looseClone(this._getMessages()) };
70025
- prototypeAccessors.dateTimeFormats.get = function () { return looseClone(this._getDateTimeFormats()) };
70026
- prototypeAccessors.numberFormats.get = function () { return looseClone(this._getNumberFormats()) };
70027
- prototypeAccessors.availableLocales.get = function () { return Object.keys(this.messages).sort() };
70028
-
70029
- prototypeAccessors.locale.get = function () { return this._vm.locale };
70030
- prototypeAccessors.locale.set = function (locale) {
70031
- this._vm.$set(this._vm, 'locale', locale);
70032
- };
70033
-
70034
- prototypeAccessors.fallbackLocale.get = function () { return this._vm.fallbackLocale };
70035
- prototypeAccessors.fallbackLocale.set = function (locale) {
70036
- this._localeChainCache = {};
70037
- this._vm.$set(this._vm, 'fallbackLocale', locale);
70038
- };
70039
-
70040
- prototypeAccessors.formatFallbackMessages.get = function () { return this._formatFallbackMessages };
70041
- prototypeAccessors.formatFallbackMessages.set = function (fallback) { this._formatFallbackMessages = fallback; };
70042
-
70043
- prototypeAccessors.missing.get = function () { return this._missing };
70044
- prototypeAccessors.missing.set = function (handler) { this._missing = handler; };
70045
-
70046
- prototypeAccessors.formatter.get = function () { return this._formatter };
70047
- prototypeAccessors.formatter.set = function (formatter) { this._formatter = formatter; };
70048
-
70049
- prototypeAccessors.silentTranslationWarn.get = function () { return this._silentTranslationWarn };
70050
- prototypeAccessors.silentTranslationWarn.set = function (silent) { this._silentTranslationWarn = silent; };
70051
-
70052
- prototypeAccessors.silentFallbackWarn.get = function () { return this._silentFallbackWarn };
70053
- prototypeAccessors.silentFallbackWarn.set = function (silent) { this._silentFallbackWarn = silent; };
70054
-
70055
- prototypeAccessors.preserveDirectiveContent.get = function () { return this._preserveDirectiveContent };
70056
- prototypeAccessors.preserveDirectiveContent.set = function (preserve) { this._preserveDirectiveContent = preserve; };
70057
-
70058
- prototypeAccessors.warnHtmlInMessage.get = function () { return this._warnHtmlInMessage };
70059
- prototypeAccessors.warnHtmlInMessage.set = function (level) {
70060
- var this$1 = this;
70061
-
70062
- var orgLevel = this._warnHtmlInMessage;
70063
- this._warnHtmlInMessage = level;
70064
- if (orgLevel !== level && (level === 'warn' || level === 'error')) {
70065
- var messages = this._getMessages();
70066
- Object.keys(messages).forEach(function (locale) {
70067
- this$1._checkLocaleMessage(locale, this$1._warnHtmlInMessage, messages[locale]);
70068
- });
70069
- }
70070
- };
70071
-
70072
- prototypeAccessors.postTranslation.get = function () { return this._postTranslation };
70073
- prototypeAccessors.postTranslation.set = function (handler) { this._postTranslation = handler; };
70074
-
70075
- prototypeAccessors.sync.get = function () { return this._sync };
70076
- prototypeAccessors.sync.set = function (val) { this._sync = val; };
70077
-
70078
- VueI18n.prototype._getMessages = function _getMessages () { return this._vm.messages };
70079
- VueI18n.prototype._getDateTimeFormats = function _getDateTimeFormats () { return this._vm.dateTimeFormats };
70080
- VueI18n.prototype._getNumberFormats = function _getNumberFormats () { return this._vm.numberFormats };
70081
-
70082
- VueI18n.prototype._warnDefault = function _warnDefault (locale, key, result, vm, values, interpolateMode) {
70083
- if (!isNull(result)) { return result }
70084
- if (this._missing) {
70085
- var missingRet = this._missing.apply(null, [locale, key, vm, values]);
70086
- if (isString(missingRet)) {
70087
- return missingRet
70088
- }
70089
- } else {
70090
- if (false) {}
70091
- }
70092
-
70093
- if (this._formatFallbackMessages) {
70094
- var parsedArgs = parseArgs.apply(void 0, values);
70095
- return this._render(key, interpolateMode, parsedArgs.params, key)
70096
- } else {
70097
- return key
70098
- }
70099
- };
70100
-
70101
- VueI18n.prototype._isFallbackRoot = function _isFallbackRoot (val) {
70102
- return (this._fallbackRootWithEmptyString? !val : isNull(val)) && !isNull(this._root) && this._fallbackRoot
70103
- };
70104
-
70105
- VueI18n.prototype._isSilentFallbackWarn = function _isSilentFallbackWarn (key) {
70106
- return this._silentFallbackWarn instanceof RegExp
70107
- ? this._silentFallbackWarn.test(key)
70108
- : this._silentFallbackWarn
70109
- };
70110
-
70111
- VueI18n.prototype._isSilentFallback = function _isSilentFallback (locale, key) {
70112
- return this._isSilentFallbackWarn(key) && (this._isFallbackRoot() || locale !== this.fallbackLocale)
70113
- };
70114
-
70115
- VueI18n.prototype._isSilentTranslationWarn = function _isSilentTranslationWarn (key) {
70116
- return this._silentTranslationWarn instanceof RegExp
70117
- ? this._silentTranslationWarn.test(key)
70118
- : this._silentTranslationWarn
70119
- };
70120
-
70121
- VueI18n.prototype._interpolate = function _interpolate (
70122
- locale,
70123
- message,
70124
- key,
70125
- host,
70126
- interpolateMode,
70127
- values,
70128
- visitedLinkStack
70129
- ) {
70130
- if (!message) { return null }
70131
-
70132
- var pathRet = this._path.getPathValue(message, key);
70133
- if (isArray(pathRet) || isPlainObject(pathRet)) { return pathRet }
70134
-
70135
- var ret;
70136
- if (isNull(pathRet)) {
70137
- /* istanbul ignore else */
70138
- if (isPlainObject(message)) {
70139
- ret = message[key];
70140
- if (!(isString(ret) || isFunction(ret))) {
70141
- if (false) {}
70142
- return null
70143
- }
70144
- } else {
70145
- return null
70146
- }
70147
- } else {
70148
- /* istanbul ignore else */
70149
- if (isString(pathRet) || isFunction(pathRet)) {
70150
- ret = pathRet;
70151
- } else {
70152
- if (false) {}
70153
- return null
70154
- }
70155
- }
70156
-
70157
- // Check for the existence of links within the translated string
70158
- if (isString(ret) && (ret.indexOf('@:') >= 0 || ret.indexOf('@.') >= 0)) {
70159
- ret = this._link(locale, message, ret, host, 'raw', values, visitedLinkStack);
70160
- }
70161
-
70162
- return this._render(ret, interpolateMode, values, key)
70163
- };
70164
-
70165
- VueI18n.prototype._link = function _link (
70166
- locale,
70167
- message,
70168
- str,
70169
- host,
70170
- interpolateMode,
70171
- values,
70172
- visitedLinkStack
70173
- ) {
70174
- var ret = str;
70175
-
70176
- // Match all the links within the local
70177
- // We are going to replace each of
70178
- // them with its translation
70179
- var matches = ret.match(linkKeyMatcher);
70180
-
70181
- // eslint-disable-next-line no-autofix/prefer-const
70182
- for (var idx in matches) {
70183
- // ie compatible: filter custom array
70184
- // prototype method
70185
- if (!matches.hasOwnProperty(idx)) {
70186
- continue
70187
- }
70188
- var link = matches[idx];
70189
- var linkKeyPrefixMatches = link.match(linkKeyPrefixMatcher);
70190
- var linkPrefix = linkKeyPrefixMatches[0];
70191
- var formatterName = linkKeyPrefixMatches[1];
70192
-
70193
- // Remove the leading @:, @.case: and the brackets
70194
- var linkPlaceholder = link.replace(linkPrefix, '').replace(bracketsMatcher, '');
70195
-
70196
- if (includes(visitedLinkStack, linkPlaceholder)) {
70197
- if (false) {}
70198
- return ret
70199
- }
70200
- visitedLinkStack.push(linkPlaceholder);
70201
-
70202
- // Translate the link
70203
- var translated = this._interpolate(
70204
- locale, message, linkPlaceholder, host,
70205
- interpolateMode === 'raw' ? 'string' : interpolateMode,
70206
- interpolateMode === 'raw' ? undefined : values,
70207
- visitedLinkStack
70208
- );
70209
-
70210
- if (this._isFallbackRoot(translated)) {
70211
- if (false) {}
70212
- /* istanbul ignore if */
70213
- if (!this._root) { throw Error('unexpected error') }
70214
- var root = this._root.$i18n;
70215
- translated = root._translate(
70216
- root._getMessages(), root.locale, root.fallbackLocale,
70217
- linkPlaceholder, host, interpolateMode, values
70218
- );
70219
- }
70220
- translated = this._warnDefault(
70221
- locale, linkPlaceholder, translated, host,
70222
- isArray(values) ? values : [values],
70223
- interpolateMode
70224
- );
70225
-
70226
- if (this._modifiers.hasOwnProperty(formatterName)) {
70227
- translated = this._modifiers[formatterName](translated);
70228
- } else if (defaultModifiers.hasOwnProperty(formatterName)) {
70229
- translated = defaultModifiers[formatterName](translated);
70230
- }
70231
-
70232
- visitedLinkStack.pop();
70233
-
70234
- // Replace the link with the translated
70235
- ret = !translated ? ret : ret.replace(link, translated);
70236
- }
70237
-
70238
- return ret
70239
- };
70240
-
70241
- VueI18n.prototype._createMessageContext = function _createMessageContext (values, formatter, path, interpolateMode) {
70242
- var this$1 = this;
70243
-
70244
- var _list = isArray(values) ? values : [];
70245
- var _named = isObject(values) ? values : {};
70246
- var list = function (index) { return _list[index]; };
70247
- var named = function (key) { return _named[key]; };
70248
- var messages = this._getMessages();
70249
- var locale = this.locale;
70250
-
70251
- return {
70252
- list: list,
70253
- named: named,
70254
- values: values,
70255
- formatter: formatter,
70256
- path: path,
70257
- messages: messages,
70258
- locale: locale,
70259
- linked: function (linkedKey) { return this$1._interpolate(locale, messages[locale] || {}, linkedKey, null, interpolateMode, undefined, [linkedKey]); }
70260
- }
70261
- };
70262
-
70263
- VueI18n.prototype._render = function _render (message, interpolateMode, values, path) {
70264
- if (isFunction(message)) {
70265
- return message(
70266
- this._createMessageContext(values, this._formatter || defaultFormatter, path, interpolateMode)
70267
- )
70268
- }
70269
-
70270
- var ret = this._formatter.interpolate(message, values, path);
70271
-
70272
- // If the custom formatter refuses to work - apply the default one
70273
- if (!ret) {
70274
- ret = defaultFormatter.interpolate(message, values, path);
70275
- }
70276
-
70277
- // if interpolateMode is **not** 'string' ('row'),
70278
- // return the compiled data (e.g. ['foo', VNode, 'bar']) with formatter
70279
- return interpolateMode === 'string' && !isString(ret) ? ret.join('') : ret
70280
- };
70281
-
70282
- VueI18n.prototype._appendItemToChain = function _appendItemToChain (chain, item, blocks) {
70283
- var follow = false;
70284
- if (!includes(chain, item)) {
70285
- follow = true;
70286
- if (item) {
70287
- follow = item[item.length - 1] !== '!';
70288
- item = item.replace(/!/g, '');
70289
- chain.push(item);
70290
- if (blocks && blocks[item]) {
70291
- follow = blocks[item];
70292
- }
70293
- }
70294
- }
70295
- return follow
70296
- };
70297
-
70298
- VueI18n.prototype._appendLocaleToChain = function _appendLocaleToChain (chain, locale, blocks) {
70299
- var follow;
70300
- var tokens = locale.split('-');
70301
- do {
70302
- var item = tokens.join('-');
70303
- follow = this._appendItemToChain(chain, item, blocks);
70304
- tokens.splice(-1, 1);
70305
- } while (tokens.length && (follow === true))
70306
- return follow
70307
- };
70308
-
70309
- VueI18n.prototype._appendBlockToChain = function _appendBlockToChain (chain, block, blocks) {
70310
- var follow = true;
70311
- for (var i = 0; (i < block.length) && (isBoolean(follow)); i++) {
70312
- var locale = block[i];
70313
- if (isString(locale)) {
70314
- follow = this._appendLocaleToChain(chain, locale, blocks);
70315
- }
70316
- }
70317
- return follow
70318
- };
70319
-
70320
- VueI18n.prototype._getLocaleChain = function _getLocaleChain (start, fallbackLocale) {
70321
- if (start === '') { return [] }
70322
-
70323
- if (!this._localeChainCache) {
70324
- this._localeChainCache = {};
70325
- }
70326
-
70327
- var chain = this._localeChainCache[start];
70328
- if (!chain) {
70329
- if (!fallbackLocale) {
70330
- fallbackLocale = this.fallbackLocale;
70331
- }
70332
- chain = [];
70333
-
70334
- // first block defined by start
70335
- var block = [start];
70336
-
70337
- // while any intervening block found
70338
- while (isArray(block)) {
70339
- block = this._appendBlockToChain(
70340
- chain,
70341
- block,
70342
- fallbackLocale
70343
- );
70344
- }
70345
-
70346
- // last block defined by default
70347
- var defaults;
70348
- if (isArray(fallbackLocale)) {
70349
- defaults = fallbackLocale;
70350
- } else if (isObject(fallbackLocale)) {
70351
- /* $FlowFixMe */
70352
- if (fallbackLocale['default']) {
70353
- defaults = fallbackLocale['default'];
70354
- } else {
70355
- defaults = null;
70356
- }
70357
- } else {
70358
- defaults = fallbackLocale;
70359
- }
70360
-
70361
- // convert defaults to array
70362
- if (isString(defaults)) {
70363
- block = [defaults];
70364
- } else {
70365
- block = defaults;
70366
- }
70367
- if (block) {
70368
- this._appendBlockToChain(
70369
- chain,
70370
- block,
70371
- null
70372
- );
70373
- }
70374
- this._localeChainCache[start] = chain;
70375
- }
70376
- return chain
70377
- };
70378
-
70379
- VueI18n.prototype._translate = function _translate (
70380
- messages,
70381
- locale,
70382
- fallback,
70383
- key,
70384
- host,
70385
- interpolateMode,
70386
- args
70387
- ) {
70388
- var chain = this._getLocaleChain(locale, fallback);
70389
- var res;
70390
- for (var i = 0; i < chain.length; i++) {
70391
- var step = chain[i];
70392
- res =
70393
- this._interpolate(step, messages[step], key, host, interpolateMode, args, [key]);
70394
- if (!isNull(res)) {
70395
- if (step !== locale && "production" !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {
70396
- warn(("Fall back to translate the keypath '" + key + "' with '" + step + "' locale."));
70397
- }
70398
- return res
70399
- }
70400
- }
70401
- return null
70402
- };
70403
-
70404
- VueI18n.prototype._t = function _t (key, _locale, messages, host) {
70405
- var ref;
70406
-
70407
- var values = [], len = arguments.length - 4;
70408
- while ( len-- > 0 ) values[ len ] = arguments[ len + 4 ];
70409
- if (!key) { return '' }
70410
-
70411
- var parsedArgs = parseArgs.apply(void 0, values);
70412
- if(this._escapeParameterHtml) {
70413
- parsedArgs.params = escapeParams(parsedArgs.params);
70414
- }
70415
-
70416
- var locale = parsedArgs.locale || _locale;
70417
-
70418
- var ret = this._translate(
70419
- messages, locale, this.fallbackLocale, key,
70420
- host, 'string', parsedArgs.params
70421
- );
70422
- if (this._isFallbackRoot(ret)) {
70423
- if (false) {}
70424
- /* istanbul ignore if */
70425
- if (!this._root) { throw Error('unexpected error') }
70426
- return (ref = this._root).$t.apply(ref, [ key ].concat( values ))
70427
- } else {
70428
- ret = this._warnDefault(locale, key, ret, host, values, 'string');
70429
- if (this._postTranslation && ret !== null && ret !== undefined) {
70430
- ret = this._postTranslation(ret, key);
70431
- }
70432
- return ret
70433
- }
70434
- };
70435
-
70436
- VueI18n.prototype.t = function t (key) {
70437
- var ref;
70438
-
70439
- var values = [], len = arguments.length - 1;
70440
- while ( len-- > 0 ) values[ len ] = arguments[ len + 1 ];
70441
- return (ref = this)._t.apply(ref, [ key, this.locale, this._getMessages(), null ].concat( values ))
70442
- };
70443
-
70444
- VueI18n.prototype._i = function _i (key, locale, messages, host, values) {
70445
- var ret =
70446
- this._translate(messages, locale, this.fallbackLocale, key, host, 'raw', values);
70447
- if (this._isFallbackRoot(ret)) {
70448
- if (false) {}
70449
- if (!this._root) { throw Error('unexpected error') }
70450
- return this._root.$i18n.i(key, locale, values)
70451
- } else {
70452
- return this._warnDefault(locale, key, ret, host, [values], 'raw')
70453
- }
70454
- };
70455
-
70456
- VueI18n.prototype.i = function i (key, locale, values) {
70457
- /* istanbul ignore if */
70458
- if (!key) { return '' }
70459
-
70460
- if (!isString(locale)) {
70461
- locale = this.locale;
70462
- }
70463
-
70464
- return this._i(key, locale, this._getMessages(), null, values)
70465
- };
70466
-
70467
- VueI18n.prototype._tc = function _tc (
70468
- key,
70469
- _locale,
70470
- messages,
70471
- host,
70472
- choice
70473
- ) {
70474
- var ref;
70475
-
70476
- var values = [], len = arguments.length - 5;
70477
- while ( len-- > 0 ) values[ len ] = arguments[ len + 5 ];
70478
- if (!key) { return '' }
70479
- if (choice === undefined) {
70480
- choice = 1;
70481
- }
70482
-
70483
- var predefined = { 'count': choice, 'n': choice };
70484
- var parsedArgs = parseArgs.apply(void 0, values);
70485
- parsedArgs.params = Object.assign(predefined, parsedArgs.params);
70486
- values = parsedArgs.locale === null ? [parsedArgs.params] : [parsedArgs.locale, parsedArgs.params];
70487
- return this.fetchChoice((ref = this)._t.apply(ref, [ key, _locale, messages, host ].concat( values )), choice)
70488
- };
70489
-
70490
- VueI18n.prototype.fetchChoice = function fetchChoice (message, choice) {
70491
- /* istanbul ignore if */
70492
- if (!message || !isString(message)) { return null }
70493
- var choices = message.split('|');
70494
-
70495
- choice = this.getChoiceIndex(choice, choices.length);
70496
- if (!choices[choice]) { return message }
70497
- return choices[choice].trim()
70498
- };
70499
-
70500
- VueI18n.prototype.tc = function tc (key, choice) {
70501
- var ref;
70502
-
70503
- var values = [], len = arguments.length - 2;
70504
- while ( len-- > 0 ) values[ len ] = arguments[ len + 2 ];
70505
- return (ref = this)._tc.apply(ref, [ key, this.locale, this._getMessages(), null, choice ].concat( values ))
70506
- };
70507
-
70508
- VueI18n.prototype._te = function _te (key, locale, messages) {
70509
- var args = [], len = arguments.length - 3;
70510
- while ( len-- > 0 ) args[ len ] = arguments[ len + 3 ];
70511
-
70512
- var _locale = parseArgs.apply(void 0, args).locale || locale;
70513
- return this._exist(messages[_locale], key)
70514
- };
70515
-
70516
- VueI18n.prototype.te = function te (key, locale) {
70517
- return this._te(key, this.locale, this._getMessages(), locale)
70518
- };
70519
-
70520
- VueI18n.prototype.getLocaleMessage = function getLocaleMessage (locale) {
70521
- return looseClone(this._vm.messages[locale] || {})
70522
- };
70523
-
70524
- VueI18n.prototype.setLocaleMessage = function setLocaleMessage (locale, message) {
70525
- if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {
70526
- this._checkLocaleMessage(locale, this._warnHtmlInMessage, message);
70527
- }
70528
- this._vm.$set(this._vm.messages, locale, message);
70529
- };
70530
-
70531
- VueI18n.prototype.mergeLocaleMessage = function mergeLocaleMessage (locale, message) {
70532
- if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {
70533
- this._checkLocaleMessage(locale, this._warnHtmlInMessage, message);
70534
- }
70535
- this._vm.$set(this._vm.messages, locale, merge(
70536
- typeof this._vm.messages[locale] !== 'undefined' && Object.keys(this._vm.messages[locale]).length
70537
- ? Object.assign({}, this._vm.messages[locale])
70538
- : {},
70539
- message
70540
- ));
70541
- };
70542
-
70543
- VueI18n.prototype.getDateTimeFormat = function getDateTimeFormat (locale) {
70544
- return looseClone(this._vm.dateTimeFormats[locale] || {})
70545
- };
70546
-
70547
- VueI18n.prototype.setDateTimeFormat = function setDateTimeFormat (locale, format) {
70548
- this._vm.$set(this._vm.dateTimeFormats, locale, format);
70549
- this._clearDateTimeFormat(locale, format);
70550
- };
70551
-
70552
- VueI18n.prototype.mergeDateTimeFormat = function mergeDateTimeFormat (locale, format) {
70553
- this._vm.$set(this._vm.dateTimeFormats, locale, merge(this._vm.dateTimeFormats[locale] || {}, format));
70554
- this._clearDateTimeFormat(locale, format);
70555
- };
70556
-
70557
- VueI18n.prototype._clearDateTimeFormat = function _clearDateTimeFormat (locale, format) {
70558
- // eslint-disable-next-line no-autofix/prefer-const
70559
- for (var key in format) {
70560
- var id = locale + "__" + key;
70561
-
70562
- if (!this._dateTimeFormatters.hasOwnProperty(id)) {
70563
- continue
70564
- }
70565
-
70566
- delete this._dateTimeFormatters[id];
70567
- }
70568
- };
70569
-
70570
- VueI18n.prototype._localizeDateTime = function _localizeDateTime (
70571
- value,
70572
- locale,
70573
- fallback,
70574
- dateTimeFormats,
70575
- key,
70576
- options
70577
- ) {
70578
- var _locale = locale;
70579
- var formats = dateTimeFormats[_locale];
70580
-
70581
- var chain = this._getLocaleChain(locale, fallback);
70582
- for (var i = 0; i < chain.length; i++) {
70583
- var current = _locale;
70584
- var step = chain[i];
70585
- formats = dateTimeFormats[step];
70586
- _locale = step;
70587
- // fallback locale
70588
- if (isNull(formats) || isNull(formats[key])) {
70589
- if (step !== locale && "production" !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {
70590
- warn(("Fall back to '" + step + "' datetime formats from '" + current + "' datetime formats."));
70591
- }
70592
- } else {
70593
- break
70594
- }
70595
- }
70596
-
70597
- if (isNull(formats) || isNull(formats[key])) {
70598
- return null
70599
- } else {
70600
- var format = formats[key];
70601
-
70602
- var formatter;
70603
- if (options) {
70604
- formatter = new Intl.DateTimeFormat(_locale, Object.assign({}, format, options));
70605
- } else {
70606
- var id = _locale + "__" + key;
70607
- formatter = this._dateTimeFormatters[id];
70608
- if (!formatter) {
70609
- formatter = this._dateTimeFormatters[id] = new Intl.DateTimeFormat(_locale, format);
70610
- }
70611
- }
70612
-
70613
- return formatter.format(value)
70614
- }
70615
- };
70616
-
70617
- VueI18n.prototype._d = function _d (value, locale, key, options) {
70618
- /* istanbul ignore if */
70619
- if (false) {}
70620
-
70621
- if (!key) {
70622
- var dtf = !options ? new Intl.DateTimeFormat(locale) : new Intl.DateTimeFormat(locale, options);
70623
- return dtf.format(value)
70624
- }
70625
-
70626
- var ret =
70627
- this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key, options);
70628
- if (this._isFallbackRoot(ret)) {
70629
- if (false) {}
70630
- /* istanbul ignore if */
70631
- if (!this._root) { throw Error('unexpected error') }
70632
- return this._root.$i18n.d(value, key, locale)
70633
- } else {
70634
- return ret || ''
70635
- }
70636
- };
70637
-
70638
- VueI18n.prototype.d = function d (value) {
70639
- var args = [], len = arguments.length - 1;
70640
- while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];
70641
-
70642
- var locale = this.locale;
70643
- var key = null;
70644
- var options = null;
70645
-
70646
- if (args.length === 1) {
70647
- if (isString(args[0])) {
70648
- key = args[0];
70649
- } else if (isObject(args[0])) {
70650
- if (args[0].locale) {
70651
- locale = args[0].locale;
70652
- }
70653
- if (args[0].key) {
70654
- key = args[0].key;
70655
- }
70656
- }
70657
-
70658
- options = Object.keys(args[0]).reduce(function (acc, key) {
70659
- var obj;
70660
-
70661
- if (includes(dateTimeFormatKeys, key)) {
70662
- return Object.assign({}, acc, ( obj = {}, obj[key] = args[0][key], obj ))
70663
- }
70664
- return acc
70665
- }, null);
70666
-
70667
- } else if (args.length === 2) {
70668
- if (isString(args[0])) {
70669
- key = args[0];
70670
- }
70671
- if (isString(args[1])) {
70672
- locale = args[1];
70673
- }
70674
- }
70675
-
70676
- return this._d(value, locale, key, options)
70677
- };
70678
-
70679
- VueI18n.prototype.getNumberFormat = function getNumberFormat (locale) {
70680
- return looseClone(this._vm.numberFormats[locale] || {})
70681
- };
70682
-
70683
- VueI18n.prototype.setNumberFormat = function setNumberFormat (locale, format) {
70684
- this._vm.$set(this._vm.numberFormats, locale, format);
70685
- this._clearNumberFormat(locale, format);
70686
- };
70687
-
70688
- VueI18n.prototype.mergeNumberFormat = function mergeNumberFormat (locale, format) {
70689
- this._vm.$set(this._vm.numberFormats, locale, merge(this._vm.numberFormats[locale] || {}, format));
70690
- this._clearNumberFormat(locale, format);
70691
- };
70692
-
70693
- VueI18n.prototype._clearNumberFormat = function _clearNumberFormat (locale, format) {
70694
- // eslint-disable-next-line no-autofix/prefer-const
70695
- for (var key in format) {
70696
- var id = locale + "__" + key;
70697
-
70698
- if (!this._numberFormatters.hasOwnProperty(id)) {
70699
- continue
70700
- }
70701
-
70702
- delete this._numberFormatters[id];
70703
- }
70704
- };
70705
-
70706
- VueI18n.prototype._getNumberFormatter = function _getNumberFormatter (
70707
- value,
70708
- locale,
70709
- fallback,
70710
- numberFormats,
70711
- key,
70712
- options
70713
- ) {
70714
- var _locale = locale;
70715
- var formats = numberFormats[_locale];
70716
-
70717
- var chain = this._getLocaleChain(locale, fallback);
70718
- for (var i = 0; i < chain.length; i++) {
70719
- var current = _locale;
70720
- var step = chain[i];
70721
- formats = numberFormats[step];
70722
- _locale = step;
70723
- // fallback locale
70724
- if (isNull(formats) || isNull(formats[key])) {
70725
- if (step !== locale && "production" !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {
70726
- warn(("Fall back to '" + step + "' number formats from '" + current + "' number formats."));
70727
- }
70728
- } else {
70729
- break
70730
- }
70731
- }
70732
-
70733
- if (isNull(formats) || isNull(formats[key])) {
70734
- return null
70735
- } else {
70736
- var format = formats[key];
70737
-
70738
- var formatter;
70739
- if (options) {
70740
- // If options specified - create one time number formatter
70741
- formatter = new Intl.NumberFormat(_locale, Object.assign({}, format, options));
70742
- } else {
70743
- var id = _locale + "__" + key;
70744
- formatter = this._numberFormatters[id];
70745
- if (!formatter) {
70746
- formatter = this._numberFormatters[id] = new Intl.NumberFormat(_locale, format);
70747
- }
70748
- }
70749
- return formatter
70750
- }
70751
- };
70752
-
70753
- VueI18n.prototype._n = function _n (value, locale, key, options) {
70754
- /* istanbul ignore if */
70755
- if (!VueI18n.availabilities.numberFormat) {
70756
- if (false) {}
70757
- return ''
70758
- }
70759
-
70760
- if (!key) {
70761
- var nf = !options ? new Intl.NumberFormat(locale) : new Intl.NumberFormat(locale, options);
70762
- return nf.format(value)
70763
- }
70764
-
70765
- var formatter = this._getNumberFormatter(value, locale, this.fallbackLocale, this._getNumberFormats(), key, options);
70766
- var ret = formatter && formatter.format(value);
70767
- if (this._isFallbackRoot(ret)) {
70768
- if (false) {}
70769
- /* istanbul ignore if */
70770
- if (!this._root) { throw Error('unexpected error') }
70771
- return this._root.$i18n.n(value, Object.assign({}, { key: key, locale: locale }, options))
70772
- } else {
70773
- return ret || ''
70774
- }
70775
- };
70776
-
70777
- VueI18n.prototype.n = function n (value) {
70778
- var args = [], len = arguments.length - 1;
70779
- while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];
70780
-
70781
- var locale = this.locale;
70782
- var key = null;
70783
- var options = null;
70784
-
70785
- if (args.length === 1) {
70786
- if (isString(args[0])) {
70787
- key = args[0];
70788
- } else if (isObject(args[0])) {
70789
- if (args[0].locale) {
70790
- locale = args[0].locale;
70791
- }
70792
- if (args[0].key) {
70793
- key = args[0].key;
70794
- }
70795
-
70796
- // Filter out number format options only
70797
- options = Object.keys(args[0]).reduce(function (acc, key) {
70798
- var obj;
70799
-
70800
- if (includes(numberFormatKeys, key)) {
70801
- return Object.assign({}, acc, ( obj = {}, obj[key] = args[0][key], obj ))
70802
- }
70803
- return acc
70804
- }, null);
70805
- }
70806
- } else if (args.length === 2) {
70807
- if (isString(args[0])) {
70808
- key = args[0];
70809
- }
70810
- if (isString(args[1])) {
70811
- locale = args[1];
70812
- }
70813
- }
70814
-
70815
- return this._n(value, locale, key, options)
70816
- };
70817
-
70818
- VueI18n.prototype._ntp = function _ntp (value, locale, key, options) {
70819
- /* istanbul ignore if */
70820
- if (!VueI18n.availabilities.numberFormat) {
70821
- if (false) {}
70822
- return []
70823
- }
70824
-
70825
- if (!key) {
70826
- var nf = !options ? new Intl.NumberFormat(locale) : new Intl.NumberFormat(locale, options);
70827
- return nf.formatToParts(value)
70828
- }
70829
-
70830
- var formatter = this._getNumberFormatter(value, locale, this.fallbackLocale, this._getNumberFormats(), key, options);
70831
- var ret = formatter && formatter.formatToParts(value);
70832
- if (this._isFallbackRoot(ret)) {
70833
- if (false) {}
70834
- /* istanbul ignore if */
70835
- if (!this._root) { throw Error('unexpected error') }
70836
- return this._root.$i18n._ntp(value, locale, key, options)
70837
- } else {
70838
- return ret || []
70839
- }
70840
- };
70841
-
70842
- Object.defineProperties( VueI18n.prototype, prototypeAccessors );
70843
-
70844
- var availabilities;
70845
- // $FlowFixMe
70846
- Object.defineProperty(VueI18n, 'availabilities', {
70847
- get: function get () {
70848
- if (!availabilities) {
70849
- var intlDefined = typeof Intl !== 'undefined';
70850
- availabilities = {
70851
- dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',
70852
- numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'
70853
- };
70854
- }
70855
-
70856
- return availabilities
70857
- }
70858
- });
70859
-
70860
- VueI18n.install = install;
70861
- VueI18n.version = '8.28.2';
70862
-
70863
- /* harmony default export */ var vue_i18n_esm = (VueI18n);
70864
-
70865
68615
  // EXTERNAL MODULE: ./src/components/locales/en.json
70866
68616
  var en = __webpack_require__("1779");
70867
68617
 
@@ -70872,35 +68622,71 @@ var zh_CN = __webpack_require__("5e53");
70872
68622
 
70873
68623
 
70874
68624
 
70875
- // 修正导入路径
70876
-
70877
- external_commonjs_vue_commonjs2_vue_root_Vue_default.a.use(vue_i18n_esm);
70878
-
68625
+ // 语言包配置
70879
68626
  const messages = {
70880
- en: {
70881
- ...en,
70882
- },
70883
- cn: {
70884
- ...zh_CN,
70885
- },
68627
+ en: en,
68628
+ cn: zh_CN,
70886
68629
  };
70887
68630
 
70888
- const i18n = new vue_i18n_esm({
70889
- locale: localStorage.getItem('language') || 'cn',
70890
- messages,
70891
- // 添加缺失键的处理
70892
- missing: (locale, key) => {
68631
+ // 简单的国际化工具类
68632
+ class SimpleI18n {
68633
+ constructor() {
68634
+ this.locale = localStorage.getItem('language') || 'cn';
68635
+ this.messages = messages;
68636
+ }
68637
+
68638
+ // 获取当前语言
68639
+ getLocale() {
68640
+ return this.locale;
68641
+ }
68642
+
68643
+ // 设置语言
68644
+ setLocale(locale) {
68645
+ if (this.messages[locale]) {
68646
+ this.locale = locale;
68647
+ localStorage.setItem('language', locale);
68648
+ } else {
68649
+ console.warn(`Locale ${locale} not found`);
68650
+ }
68651
+ }
68652
+
68653
+ // 翻译方法
68654
+ t(key) {
68655
+ const localeMessages = this.messages[this.locale];
68656
+ const translation = localeMessages ? localeMessages[key] : undefined;
68657
+ if (translation !== undefined) {
68658
+ return translation;
68659
+ }
70893
68660
  // 如果找不到翻译,返回key本身
70894
- console.warn(`Missing translation for key: ${key} in locale: ${locale}`);
68661
+ console.warn(`Missing translation for key: ${key} in locale: ${this.locale}`);
70895
68662
  return key;
68663
+ }
68664
+ }
68665
+
68666
+ // 创建单例实例
68667
+ const i18n = new SimpleI18n();
68668
+
68669
+ // 导出Vue插件格式(兼容vue-i18n的使用方式)
68670
+ /* harmony default export */ var utils_i18n = ({
68671
+ install(Vue) {
68672
+ // 在Vue原型上添加$t方法
68673
+ Vue.prototype.$t = (key) => i18n.t(key);
68674
+
68675
+ // 添加$i18n对象,提供locale访问
68676
+ Vue.prototype.$i18n = {
68677
+ get locale() {
68678
+ return i18n.getLocale();
68679
+ },
68680
+ set locale(val) {
68681
+ i18n.setLocale(val);
68682
+ },
68683
+ };
70896
68684
  },
70897
- // 静默缺失警告(可选)
70898
- silentTranslationWarn: true,
70899
- // 静默缺失回退警告(可选)
70900
- silentFallbackWarn: true,
68685
+ // 直接导出翻译方法,供非Vue环境使用
68686
+ t: (key) => i18n.t(key),
68687
+ locale: i18n.getLocale(),
68688
+ setLocale: (locale) => i18n.setLocale(locale),
70901
68689
  });
70902
-
70903
- /* harmony default export */ var utils_i18n = (i18n);
70904
68690
 
70905
68691
  // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/userCenterLogin.vue?vue&type=script&lang=js
70906
68692
 
@@ -70913,6 +68699,7 @@ const i18n = new vue_i18n_esm({
70913
68699
 
70914
68700
 
70915
68701
 
68702
+ external_commonjs_vue_commonjs2_vue_root_Vue_default.a.use(utils_i18n)
70916
68703
  /* harmony default export */ var userCenterLoginvue_type_script_lang_js = ({
70917
68704
  name: 'Login',
70918
68705
  urcSsoI18n: utils_i18n, // 将i18n实例挂载到组件
@@ -71584,8 +69371,8 @@ const i18n = new vue_i18n_esm({
71584
69371
 
71585
69372
  // CONCATENATED MODULE: ./src/components/userCenterLogin.vue?vue&type=script&lang=js
71586
69373
  /* harmony default export */ var components_userCenterLoginvue_type_script_lang_js = (userCenterLoginvue_type_script_lang_js);
71587
- // EXTERNAL MODULE: ./src/components/userCenterLogin.vue?vue&type=style&index=0&id=77df04d6&prod&lang=scss
71588
- var userCenterLoginvue_type_style_index_0_id_77df04d6_prod_lang_scss = __webpack_require__("b7ce");
69374
+ // EXTERNAL MODULE: ./src/components/userCenterLogin.vue?vue&type=style&index=0&id=96e3601c&prod&lang=scss
69375
+ var userCenterLoginvue_type_style_index_0_id_96e3601c_prod_lang_scss = __webpack_require__("bfcb");
71589
69376
 
71590
69377
  // CONCATENATED MODULE: ./src/components/userCenterLogin.vue
71591
69378
 
@@ -71598,8 +69385,8 @@ var userCenterLoginvue_type_style_index_0_id_77df04d6_prod_lang_scss = __webpack
71598
69385
 
71599
69386
  var userCenterLogin_component = normalizeComponent(
71600
69387
  components_userCenterLoginvue_type_script_lang_js,
71601
- userCenterLoginvue_type_template_id_77df04d6_render,
71602
- userCenterLoginvue_type_template_id_77df04d6_staticRenderFns,
69388
+ userCenterLoginvue_type_template_id_96e3601c_render,
69389
+ userCenterLoginvue_type_template_id_96e3601c_staticRenderFns,
71603
69390
  false,
71604
69391
  null,
71605
69392
  null,