@jctrans-materials/comps-vue3 1.0.42-beta.0 → 1.0.42-beta.1

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.
package/dist/index.esm.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { ref, computed, onMounted, onBeforeUnmount, defineComponent, toRef, watch, openBlock, createElementBlock, normalizeClass, createElementVNode, renderSlot, Fragment, renderList, toDisplayString, withModifiers, createCommentVNode, withDirectives, withKeys, normalizeStyle, vModelText, unref, createBlock, Teleport, createTextVNode, vShow, createVNode, reactive, resolveComponent, mergeProps, toHandlers, withCtx, useSlots, Transition, resolveDynamicComponent, createSlots, isRef, onUnmounted, useModel, normalizeProps, guardReactiveProps, nextTick, getCurrentInstance, createStaticVNode, provide, createApp } from "vue";
2
- import { locationSearchV2, reportNewTypeDataApi, slideGetApi, slideCheckApi, setTokenAll, getAuthSessionItems, getSessionHeaderValue, getProjectId, loginByFacebookApi, loginByLinkedinApi, validateAccountExistApi, findListByMobileEmailApi, validateCompanyApi, sendLoginCodeCustomizedApi, changePwdApi, getCompanyOptionApi, checkAccountExistsFPApi, getMEVCodeApi, resetPasswordApi, emitter, MODAL_ACTION, resetAuthSessionItems, registerJoinCompanyBindWechatApi, registerJoinCompanyApi, registerUserCompBindWechatApi, registerApi, Encrypt, getLocalIpDataApi, findPAreaCodeApi, findDictApi, inviteJoinGetCompApi, sendEmailCodeApi, sendMobileCodeApi, getLoginQrCode, setAuthSessionItems, loginByQrCode, getFirstDomain, loginApi, loginByEmailOrMobileCodeApi, loginPwdBindWechatApi, loginCodeBindWechatApi, getAppId, completeJoinCompanyRedirectApi, completeCompRedirectApi, getUserInfoApi, bindThirdPartyByPwdApi, bindThirdPartyByCodeApi, registerJoinCompByThirdPartyApi, registerByThirdPartyApi, resetGioSessionItems, getRememberAccount, Decrypt, setRememberMe, registerThirdPartyCustomizedApi, registerCustomizedApi, tracker, normalizeClickPageAttrs, initSharedConfig } from "@jctrans-materials/shared";
2
+ import { locationSearchV2, reportNewTypeDataApi, slideGetApi, slideCheckApi, setTokenAll, getAuthSessionItems, getSessionHeaderValue, getProjectId, loginByFacebookApi, loginByLinkedinApi, findListByMobileEmailApi, validateCompanyApi, validateAccountExistApi, sendLoginCodeCustomizedApi, changePwdApi, getCompanyOptionApi, checkAccountExistsFPApi, getMEVCodeApi, resetPasswordApi, emitter, MODAL_ACTION, resetAuthSessionItems, registerJoinCompanyBindWechatApi, registerJoinCompanyApi, registerUserCompBindWechatApi, registerApi, Encrypt, getLocalIpDataApi, findPAreaCodeApi, findDictApi, inviteJoinGetCompApi, sendEmailCodeApi, sendMobileCodeApi, getLoginQrCode, setAuthSessionItems, loginByQrCode, getFirstDomain, loginApi, loginByEmailOrMobileCodeApi, loginPwdBindWechatApi, loginCodeBindWechatApi, getAppId, completeJoinCompanyRedirectApi, completeCompRedirectApi, getUserInfoApi, bindThirdPartyByPwdApi, bindThirdPartyByCodeApi, registerJoinCompByThirdPartyApi, registerByThirdPartyApi, resetGioSessionItems, getRememberAccount, Decrypt, setRememberMe, registerThirdPartyCustomizedApi, registerCustomizedApi, tracker, normalizeClickPageAttrs, initSharedConfig } from "@jctrans-materials/shared";
3
3
  import { MODAL_ACTION as MODAL_ACTION2, createRequest, emitter as emitter2, getAppId as getAppId2, initSharedConfig as initSharedConfig2 } from "@jctrans-materials/shared";
4
4
  import { useFormItem, ElMessage, vLoading, ElInput, ElDialog, ElForm, ElFormItem, ElButton, ElSelect, ElOption, ElRow, ElCol, ElCheckbox, ElRadioButton, ElRadioGroup, ElMessageBox, ElCascader, ElTag } from "element-plus";
5
5
  function _mergeNamespaces(n, m) {
@@ -1772,7 +1772,7 @@ const _hoisted_4$s = {
1772
1772
  key: 0,
1773
1773
  class: "search-tag collapse"
1774
1774
  };
1775
- const _hoisted_5$o = ["placeholder"];
1775
+ const _hoisted_5$p = ["placeholder"];
1776
1776
  const _hoisted_6$l = { class: "suffix-area" };
1777
1777
  const _hoisted_7$h = {
1778
1778
  key: 1,
@@ -2193,7 +2193,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
2193
2193
  onBlur: onLocalBlur,
2194
2194
  onInput,
2195
2195
  onKeydown: withKeys(handleDelete, ["delete"])
2196
- }, null, 46, _hoisted_5$o), [
2196
+ }, null, 46, _hoisted_5$p), [
2197
2197
  [vModelText, query.value]
2198
2198
  ])
2199
2199
  ]),
@@ -3214,7 +3214,7 @@ const _hoisted_1$C = {
3214
3214
  const _hoisted_2$x = { class: "modal-header" };
3215
3215
  const _hoisted_3$u = { class: "header-title" };
3216
3216
  const _hoisted_4$r = { class: "modal-body" };
3217
- const _hoisted_5$n = { class: "form-item" };
3217
+ const _hoisted_5$o = { class: "form-item" };
3218
3218
  const _hoisted_6$k = { class: "required" };
3219
3219
  const _hoisted_7$g = { class: "input-box" };
3220
3220
  const _hoisted_8$f = ["placeholder"];
@@ -3368,7 +3368,7 @@ const _sfc_main$G = {
3368
3368
  }, "×")
3369
3369
  ]),
3370
3370
  createElementVNode("div", _hoisted_4$r, [
3371
- createElementVNode("div", _hoisted_5$n, [
3371
+ createElementVNode("div", _hoisted_5$o, [
3372
3372
  createElementVNode("label", _hoisted_6$k, toDisplayString(unref(isEn) ? `Data To Add` : `需补充的数据`), 1),
3373
3373
  createElementVNode("div", _hoisted_7$g, [
3374
3374
  withDirectives(createElementVNode("input", {
@@ -3558,7 +3558,7 @@ const _hoisted_4$q = {
3558
3558
  key: 0,
3559
3559
  class: "google-input-wrap-prepend"
3560
3560
  };
3561
- const _hoisted_5$m = { class: "google-input-wrap-input" };
3561
+ const _hoisted_5$n = { class: "google-input-wrap-input" };
3562
3562
  function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {
3563
3563
  const _component_el_input = resolveComponent("el-input");
3564
3564
  return openBlock(), createElementBlock("div", {
@@ -3574,7 +3574,7 @@ function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {
3574
3574
  $options.isHavePrepend ? (openBlock(), createElementBlock("div", _hoisted_4$q, [
3575
3575
  renderSlot(_ctx.$slots, "prefix", {}, void 0, true)
3576
3576
  ])) : createCommentVNode("", true),
3577
- createElementVNode("div", _hoisted_5$m, [
3577
+ createElementVNode("div", _hoisted_5$n, [
3578
3578
  createVNode(_component_el_input, mergeProps({ ref: "googleInput" }, _ctx.$attrs, {
3579
3579
  "model-value": $props.modelValue,
3580
3580
  placeholder: $props.placeholder
@@ -3616,7 +3616,7 @@ const _hoisted_4$p = {
3616
3616
  key: 0,
3617
3617
  class: "google-input-wrap-prepend"
3618
3618
  };
3619
- const _hoisted_5$l = { class: "google-input-wrap-input" };
3619
+ const _hoisted_5$m = { class: "google-input-wrap-input" };
3620
3620
  const _sfc_main$E = /* @__PURE__ */ Object.assign({
3621
3621
  name: "GoogleInput",
3622
3622
  inheritAttrs: false
@@ -3713,7 +3713,7 @@ const _sfc_main$E = /* @__PURE__ */ Object.assign({
3713
3713
  isHavePrepend.value ? (openBlock(), createElementBlock("div", _hoisted_4$p, [
3714
3714
  renderSlot(_ctx.$slots, "prefix", {}, void 0, true)
3715
3715
  ])) : createCommentVNode("", true),
3716
- createElementVNode("div", _hoisted_5$l, [
3716
+ createElementVNode("div", _hoisted_5$m, [
3717
3717
  createVNode(unref(ElInput), mergeProps({
3718
3718
  ref_key: "googleInputRef",
3719
3719
  ref: googleInputRef
@@ -10648,7 +10648,7 @@ const _hoisted_3$r = {
10648
10648
  style: { "position": "relative" }
10649
10649
  };
10650
10650
  const _hoisted_4$o = ["src"];
10651
- const _hoisted_5$k = {
10651
+ const _hoisted_5$l = {
10652
10652
  key: 0,
10653
10653
  class: "auth-captcha-loading"
10654
10654
  };
@@ -10694,7 +10694,7 @@ function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
10694
10694
  class: "main-img",
10695
10695
  onLoad: _cache[1] || (_cache[1] = (...args) => $options.handleImageLoaded && $options.handleImageLoaded(...args))
10696
10696
  }, null, 40, _hoisted_4$o),
10697
- $data.loading ? (openBlock(), createElementBlock("div", _hoisted_5$k, [
10697
+ $data.loading ? (openBlock(), createElementBlock("div", _hoisted_5$l, [
10698
10698
  _cache[5] || (_cache[5] = createElementVNode("div", { class: "loading-icon" }, null, -1)),
10699
10699
  createElementVNode("p", _hoisted_6$j, toDisplayString($options.isEn ? "Loading..." : "加载中..."), 1)
10700
10700
  ])) : createCommentVNode("", true),
@@ -10821,7 +10821,7 @@ const _sfc_main$C = {
10821
10821
  formTypeColor: { type: String, default: "1" },
10822
10822
  isEn: Boolean
10823
10823
  },
10824
- emits: ["update:modelValue", "send"],
10824
+ emits: ["update:modelValue", "send", "counting-change"],
10825
10825
  data() {
10826
10826
  return {
10827
10827
  isCounting: false,
@@ -10877,6 +10877,7 @@ const _sfc_main$C = {
10877
10877
  startTimer() {
10878
10878
  if (this.isCounting) return;
10879
10879
  this.isCounting = true;
10880
+ this.$emit("counting-change", true);
10880
10881
  this.countdown = this.duration;
10881
10882
  this.timer = setInterval(() => {
10882
10883
  this.countdown--;
@@ -10895,6 +10896,7 @@ const _sfc_main$C = {
10895
10896
  }
10896
10897
  this.isCounting = false;
10897
10898
  this.countdown = 0;
10899
+ this.$emit("counting-change", false);
10898
10900
  }
10899
10901
  },
10900
10902
  beforeUnmount() {
@@ -10947,7 +10949,7 @@ function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
10947
10949
  }, null, 8, ["visible", "is-en", "onSuccess"])
10948
10950
  ]);
10949
10951
  }
10950
- const CodeInput$1 = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["render", _sfc_render$9], ["__scopeId", "data-v-0d2de7ce"]]);
10952
+ const CodeInput$1 = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["render", _sfc_render$9], ["__scopeId", "data-v-f4407802"]]);
10951
10953
  const __vite_glob_0_3 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
10952
10954
  __proto__: null,
10953
10955
  default: CodeInput$1
@@ -11273,6 +11275,10 @@ function useThirdPartyLogin$1(config) {
11273
11275
  console.log("👉 直接登录成功,准备跳转");
11274
11276
  isBindDialogVisible.value = false;
11275
11277
  isRegisterVisible.value = false;
11278
+ if (unref(config.test)) {
11279
+ logTestLoginResult("第三方(Facebook/LinkedIn)登录", data);
11280
+ return;
11281
+ }
11276
11282
  setTokenAll(data.result);
11277
11283
  if (config.onSuccess) {
11278
11284
  config.onSuccess(data);
@@ -11393,7 +11399,7 @@ function useThirdPartyLogin$1(config) {
11393
11399
  resetBindRegisterState
11394
11400
  };
11395
11401
  }
11396
- async function validateUserEmail$1(rule, value, callback, isEn = true, checkExist = true) {
11402
+ function validateEmailFormat(rule, value, callback, isEn = true) {
11397
11403
  if (!value || value.trim() === "") {
11398
11404
  return callback(
11399
11405
  new Error(isEn ? "Email address is required" : "请输入您的邮箱")
@@ -11421,27 +11427,32 @@ async function validateUserEmail$1(rule, value, callback, isEn = true, checkExis
11421
11427
  )
11422
11428
  );
11423
11429
  }
11424
- if (checkExist) {
11425
- try {
11426
- const { data } = await validateAccountExistApi({ target: value });
11427
- console.log("🍉 ~ constant.ts:67 ~ validateUserEmail ~ data:", data);
11428
- if (data.data) {
11429
- return callback(
11430
- new Error(
11431
- isEn ? "It's already occupied, please re-enter." : "已被占用,请重新输入"
11432
- )
11433
- );
11434
- }
11435
- callback();
11436
- } catch (error) {
11437
- callback(
11430
+ callback();
11431
+ }
11432
+ async function validateUserEmail$1(rule, value, callback, isEn = true, checkExist = true) {
11433
+ let formatError;
11434
+ validateEmailFormat(rule, value, (err) => {
11435
+ formatError = err;
11436
+ }, isEn);
11437
+ if (formatError) return callback(formatError);
11438
+ if (!checkExist) return callback();
11439
+ try {
11440
+ const { data } = await validateAccountExistApi({ target: value });
11441
+ console.log("🍉 ~ constant.ts:67 ~ validateUserEmail ~ data:", data);
11442
+ if (data.data) {
11443
+ return callback(
11438
11444
  new Error(
11439
- isEn ? "Validation failed, please re-enter." : "校验失败,请重新输入"
11445
+ isEn ? "It's already occupied, please re-enter." : "已被占用,请重新输入"
11440
11446
  )
11441
11447
  );
11442
11448
  }
11443
- } else {
11444
- return callback();
11449
+ callback();
11450
+ } catch (error) {
11451
+ callback(
11452
+ new Error(
11453
+ isEn ? "Validation failed, please re-enter." : "校验失败,请重新输入"
11454
+ )
11455
+ );
11445
11456
  }
11446
11457
  }
11447
11458
  async function validateThirdPartyEmail$1(rule, value, callback, isEn = true, context) {
@@ -11575,12 +11586,11 @@ function validateUserPass$1(rule, value, callback, isEn = true) {
11575
11586
  }
11576
11587
  callback();
11577
11588
  }
11578
- async function validateUserMobilefive$1(rule, value, callback, isEn = true, checkExist = true) {
11589
+ function validateMobileFormat(rule, value, callback, isEn = true) {
11579
11590
  const messages = {
11580
11591
  empty: isEn ? "Please enter your cell phone number" : "请输入手机号",
11581
11592
  minLen: isEn ? "please enter at least 2 characters." : "请输入至少 2 个字符.",
11582
- invalid: isEn ? "Invalid mobile address" : "手机号格式错误",
11583
- occupied: isEn ? "It's already occupied, please re- enter." : "已被占用,请重新输入"
11593
+ invalid: isEn ? "Invalid mobile address" : "手机号格式错误"
11584
11594
  };
11585
11595
  if (!value) {
11586
11596
  return callback(new Error(messages.empty));
@@ -11591,6 +11601,14 @@ async function validateUserMobilefive$1(rule, value, callback, isEn = true, chec
11591
11601
  if (value.length < 2) {
11592
11602
  return callback(new Error(messages.minLen));
11593
11603
  }
11604
+ callback();
11605
+ }
11606
+ async function validateUserMobilefive$1(rule, value, callback, isEn = true, checkExist = true) {
11607
+ let formatError;
11608
+ validateMobileFormat(rule, value, (err) => {
11609
+ formatError = err;
11610
+ }, isEn);
11611
+ if (formatError) return callback(formatError);
11594
11612
  if (!checkExist) {
11595
11613
  return callback();
11596
11614
  } else {
@@ -11598,11 +11616,19 @@ async function validateUserMobilefive$1(rule, value, callback, isEn = true, chec
11598
11616
  const res = await validateAccountExistApi({ target: value });
11599
11617
  console.log("🍉 ~ constant.ts:288 ~ validateUserMobilefive ~ res:", res);
11600
11618
  if (res && res.data.data) {
11601
- return callback(new Error(messages.occupied));
11619
+ return callback(
11620
+ new Error(
11621
+ isEn ? "It's already occupied, please re-enter." : "已被占用,请重新输入"
11622
+ )
11623
+ );
11602
11624
  }
11603
11625
  callback();
11604
11626
  } catch (error) {
11605
- callback(new Error(messages.occupied));
11627
+ callback(
11628
+ new Error(
11629
+ isEn ? "It's already occupied, please re-enter." : "已被占用,请重新输入"
11630
+ )
11631
+ );
11606
11632
  }
11607
11633
  }
11608
11634
  }
@@ -11750,6 +11776,29 @@ const handleRedirect$1 = (path, delay = 100) => {
11750
11776
  }
11751
11777
  }, delay);
11752
11778
  };
11779
+ const detectTestMode = (propTest) => {
11780
+ if (propTest === true) return true;
11781
+ if (typeof window === "undefined") return false;
11782
+ if (window.__JC_TEST_MODE__ === true) return true;
11783
+ try {
11784
+ const params = new URLSearchParams(window.location.search);
11785
+ if (params.get("test") === "1" || params.get("testMode") === "1") return true;
11786
+ } catch (_) {
11787
+ }
11788
+ try {
11789
+ const m = document.cookie.match(/(?:^|;\s*)jc-test-mode=([^;]+)/);
11790
+ if (m && m[1] === "1") return true;
11791
+ } catch (_) {
11792
+ }
11793
+ return false;
11794
+ };
11795
+ const logTestLoginResult = (label, data) => {
11796
+ console.log(
11797
+ `%c🧪 [TEST MODE] ${label} 登录接口完整返回值(已跳过 redirect):`,
11798
+ "color:#7c3aed;font-weight:bold",
11799
+ data
11800
+ );
11801
+ };
11753
11802
  const normalizeDelayMs = (delayInput) => {
11754
11803
  if (delayInput === void 0 || delayInput === null || delayInput === "") {
11755
11804
  return 0;
@@ -11814,7 +11863,7 @@ const _hoisted_1$x = { class: "change-pwd-container" };
11814
11863
  const _hoisted_2$t = { class: "header-title" };
11815
11864
  const _hoisted_3$q = { class: "tab-switcher" };
11816
11865
  const _hoisted_4$n = { class: "default-info" };
11817
- const _hoisted_5$j = { class: "title" };
11866
+ const _hoisted_5$k = { class: "title" };
11818
11867
  const _hoisted_6$i = { class: "user-value" };
11819
11868
  const _sfc_main$B = /* @__PURE__ */ defineComponent({
11820
11869
  ...{
@@ -12182,7 +12231,7 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
12182
12231
  createVNode(unref(ElFormItem), { class: "info-item" }, {
12183
12232
  default: withCtx(() => [
12184
12233
  createElementVNode("p", _hoisted_4$n, [
12185
- createElementVNode("span", _hoisted_5$j, toDisplayString(activeTab.value === "email" ? __props.isEn ? "Email" : "邮箱" : __props.isEn ? "Mobile" : "手机号"), 1),
12234
+ createElementVNode("span", _hoisted_5$k, toDisplayString(activeTab.value === "email" ? __props.isEn ? "Email" : "邮箱" : __props.isEn ? "Mobile" : "手机号"), 1),
12186
12235
  createElementVNode("span", _hoisted_6$i, toDisplayString(displayAccount.value), 1)
12187
12236
  ])
12188
12237
  ]),
@@ -12451,7 +12500,7 @@ const _hoisted_1$v = { class: "forgot-pwd-container" };
12451
12500
  const _hoisted_2$r = { class: "header-title" };
12452
12501
  const _hoisted_3$p = { class: "tab-switcher" };
12453
12502
  const _hoisted_4$m = { class: "default-info" };
12454
- const _hoisted_5$i = { class: "title" };
12503
+ const _hoisted_5$j = { class: "title" };
12455
12504
  const _hoisted_6$h = { class: "user-value" };
12456
12505
  const _sfc_main$z = /* @__PURE__ */ defineComponent({
12457
12506
  ...{ name: "ForgotPasswordDialog", inheritAttrs: false },
@@ -12775,7 +12824,7 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
12775
12824
  createVNode(unref(ElFormItem), { class: "info-item" }, {
12776
12825
  default: withCtx(() => [
12777
12826
  createElementVNode("p", _hoisted_4$m, [
12778
- createElementVNode("span", _hoisted_5$i, toDisplayString(activeTab.value === "email" ? __props.isEn ? "Email" : "邮箱" : __props.isEn ? "Mobile" : "手机号"), 1),
12827
+ createElementVNode("span", _hoisted_5$j, toDisplayString(activeTab.value === "email" ? __props.isEn ? "Email" : "邮箱" : __props.isEn ? "Mobile" : "手机号"), 1),
12779
12828
  createElementVNode("span", _hoisted_6$h, toDisplayString(activeTab.value === "email" ? userData.value.email : userData.value.mobile), 1)
12780
12829
  ])
12781
12830
  ]),
@@ -13132,7 +13181,7 @@ const _hoisted_2$p = {
13132
13181
  };
13133
13182
  const _hoisted_3$n = { class: "jc:p-4 jc:text-sm jc:text-center jc:text-gray-500" };
13134
13183
  const _hoisted_4$l = { key: 0 };
13135
- const _hoisted_5$h = {
13184
+ const _hoisted_5$i = {
13136
13185
  key: 1,
13137
13186
  class: "jc:flex jc:flex-wrap jc:justify-center jc:items-center"
13138
13187
  };
@@ -13451,7 +13500,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
13451
13500
  }, createSlots({
13452
13501
  empty: withCtx(() => [
13453
13502
  createElementVNode("div", _hoisted_3$n, [
13454
- loading.value ? (openBlock(), createElementBlock("div", _hoisted_4$l, toDisplayString(unref(isEn) ? "Searching..." : "正在搜索中..."), 1)) : (openBlock(), createElementBlock("div", _hoisted_5$h, [
13503
+ loading.value ? (openBlock(), createElementBlock("div", _hoisted_4$l, toDisplayString(unref(isEn) ? "Searching..." : "正在搜索中..."), 1)) : (openBlock(), createElementBlock("div", _hoisted_5$i, [
13455
13504
  __props.showApplyData ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
13456
13505
  createElementVNode("p", null, toDisplayString(unref(isEn) ? `No results found. ` : `暂无结果,`), 1),
13457
13506
  createElementVNode("div", _hoisted_6$g, [
@@ -13598,7 +13647,7 @@ const _hoisted_2$o = {
13598
13647
  };
13599
13648
  const _hoisted_3$m = { class: "wrapper-main" };
13600
13649
  const _hoisted_4$k = { class: "wrapper-label" };
13601
- const _hoisted_5$g = {
13650
+ const _hoisted_5$h = {
13602
13651
  key: 1,
13603
13652
  class: "wrapper-append"
13604
13653
  };
@@ -13669,7 +13718,7 @@ const _sfc_main$s = /* @__PURE__ */ Object.assign({
13669
13718
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
13670
13719
  ]),
13671
13720
  createElementVNode("p", _hoisted_4$k, toDisplayString(__props.label), 1),
13672
- isHaveAppend.value ? (openBlock(), createElementBlock("div", _hoisted_5$g, [
13721
+ isHaveAppend.value ? (openBlock(), createElementBlock("div", _hoisted_5$h, [
13673
13722
  renderSlot(_ctx.$slots, "suffix", {}, void 0, true)
13674
13723
  ])) : createCommentVNode("", true)
13675
13724
  ])
@@ -15030,7 +15079,7 @@ const _hoisted_1$p = { class: "register-form-container" };
15030
15079
  const _hoisted_2$m = { class: "register-title" };
15031
15080
  const _hoisted_3$l = { class: "resist-company-info-card" };
15032
15081
  const _hoisted_4$j = { class: "card-header" };
15033
- const _hoisted_5$f = { class: "title-group" };
15082
+ const _hoisted_5$g = { class: "title-group" };
15034
15083
  const _hoisted_6$f = { class: "tip-text" };
15035
15084
  const _hoisted_7$d = { class: "company-content" };
15036
15085
  const _hoisted_8$c = { class: "company-name" };
@@ -15148,7 +15197,7 @@ function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) {
15148
15197
  ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
15149
15198
  createElementVNode("div", _hoisted_3$l, [
15150
15199
  createElementVNode("div", _hoisted_4$j, [
15151
- createElementVNode("div", _hoisted_5$f, [
15200
+ createElementVNode("div", _hoisted_5$g, [
15152
15201
  createElementVNode("span", _hoisted_6$f, toDisplayString($props.isEn ? "Company name" : "公司名称"), 1)
15153
15202
  ]),
15154
15203
  createElementVNode("span", {
@@ -17888,7 +17937,7 @@ const _hoisted_1$m = { class: "wechat-choose-type" };
17888
17937
  const _hoisted_2$j = { class: "choose-title" };
17889
17938
  const _hoisted_3$i = { class: "choose-nav" };
17890
17939
  const _hoisted_4$h = { class: "btn-container" };
17891
- const _hoisted_5$e = { class: "btn-content" };
17940
+ const _hoisted_5$f = { class: "btn-content" };
17892
17941
  const _hoisted_6$e = { class: "btn-content" };
17893
17942
  const _sfc_main$m = /* @__PURE__ */ defineComponent({
17894
17943
  __name: "WechatChooseType",
@@ -17915,7 +17964,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
17915
17964
  onClick: handleRegister
17916
17965
  }, {
17917
17966
  default: withCtx(() => [
17918
- createElementVNode("div", _hoisted_5$e, [
17967
+ createElementVNode("div", _hoisted_5$f, [
17919
17968
  _cache[0] || (_cache[0] = createElementVNode("img", {
17920
17969
  class: "icon-account",
17921
17970
  src: _imports_0$7,
@@ -19002,7 +19051,7 @@ const _hoisted_1$k = { class: "complete-info-container" };
19002
19051
  const _hoisted_2$h = { class: "complete-info-container_header" };
19003
19052
  const _hoisted_3$g = { class: "complete-info-container_title" };
19004
19053
  const _hoisted_4$f = { class: "complete-info-container_tip-box" };
19005
- const _hoisted_5$d = { class: "sector-section" };
19054
+ const _hoisted_5$e = { class: "sector-section" };
19006
19055
  const _hoisted_6$d = { class: "sector-label" };
19007
19056
  const _hoisted_7$c = { class: "sector-group" };
19008
19057
  const _hoisted_8$b = ["onClick"];
@@ -19116,7 +19165,7 @@ function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
19116
19165
  key: 0,
19117
19166
  onApplyJoin: $options.handleApplyJoinClick
19118
19167
  }, null, 8, ["onApplyJoin"])) : createCommentVNode("", true),
19119
- createElementVNode("div", _hoisted_5$d, [
19168
+ createElementVNode("div", _hoisted_5$e, [
19120
19169
  createElementVNode("p", _hoisted_6$d, toDisplayString($props.isEn ? "Industry Sector" : "行业类型"), 1),
19121
19170
  createElementVNode("div", _hoisted_7$c, [
19122
19171
  (openBlock(true), createElementBlock(Fragment, null, renderList($data.sectors, (item) => {
@@ -19550,7 +19599,7 @@ const _hoisted_4$e = {
19550
19599
  key: 0,
19551
19600
  class: "kefu-wrapper"
19552
19601
  };
19553
- const _hoisted_5$c = { class: "kefu-text" };
19602
+ const _hoisted_5$d = { class: "kefu-text" };
19554
19603
  const _hoisted_6$c = {
19555
19604
  key: 1,
19556
19605
  class: "form-wrapper"
@@ -19670,7 +19719,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
19670
19719
  src: _imports_0$5,
19671
19720
  class: "kefu-img"
19672
19721
  }, null, -1)),
19673
- createElementVNode("p", _hoisted_5$c, toDisplayString(__props.isEn ? "The current account does not have a phone number and email, and cannot be verified. Please contact customer service directly" : "当前账号没有手机号和邮箱,无法验证,请直接联系客服。"), 1),
19722
+ createElementVNode("p", _hoisted_5$d, toDisplayString(__props.isEn ? "The current account does not have a phone number and email, and cannot be verified. Please contact customer service directly" : "当前账号没有手机号和邮箱,无法验证,请直接联系客服。"), 1),
19674
19723
  createElementVNode("div", null, toDisplayString(__props.isEn ? "Customer Service" : "联系客服"), 1)
19675
19724
  ])) : (openBlock(), createElementBlock("div", _hoisted_6$c, [
19676
19725
  unref(activeStep) === 1 ? (openBlock(), createElementBlock("div", _hoisted_7$b, [
@@ -19878,7 +19927,7 @@ const _hoisted_3$e = {
19878
19927
  class: "user-list"
19879
19928
  };
19880
19929
  const _hoisted_4$d = ["onClick"];
19881
- const _hoisted_5$b = { class: "bind-user-card__right" };
19930
+ const _hoisted_5$c = { class: "bind-user-card__right" };
19882
19931
  const _hoisted_6$b = { class: "bind-user-card__right__title" };
19883
19932
  const _hoisted_7$a = { class: "bind-user-card__right__desc" };
19884
19933
  const _hoisted_8$9 = {
@@ -20168,7 +20217,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
20168
20217
  _cache[12] || (_cache[12] = createElementVNode("div", { class: "bind-user-card__left" }, [
20169
20218
  createElementVNode("div", { class: "account-icon" })
20170
20219
  ], -1)),
20171
- createElementVNode("div", _hoisted_5$b, [
20220
+ createElementVNode("div", _hoisted_5$c, [
20172
20221
  createElementVNode("div", _hoisted_6$b, toDisplayString(__props.isEn ? item.userNameEn || item.userNameCn : item.userNameCn || item.userNameEn), 1),
20173
20222
  createElementVNode("div", _hoisted_7$a, toDisplayString(__props.isEn ? item.compNameEn || item.compNameCn : item.compNameEn || item.compNameEn), 1),
20174
20223
  item.email ? (openBlock(), createElementBlock("div", _hoisted_8$9, [
@@ -20854,7 +20903,7 @@ const _hoisted_1$g = { class: "third-register-form-container" };
20854
20903
  const _hoisted_2$e = { class: "resist-company-info-card" };
20855
20904
  const _hoisted_3$d = { class: "card-header" };
20856
20905
  const _hoisted_4$c = { class: "title-group" };
20857
- const _hoisted_5$a = { class: "tip-text" };
20906
+ const _hoisted_5$b = { class: "tip-text" };
20858
20907
  const _hoisted_6$a = { class: "company-content" };
20859
20908
  const _hoisted_7$9 = { class: "company-name" };
20860
20909
  const _hoisted_8$8 = { class: "location-info" };
@@ -20963,7 +21012,7 @@ function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
20963
21012
  createElementVNode("div", _hoisted_2$e, [
20964
21013
  createElementVNode("div", _hoisted_3$d, [
20965
21014
  createElementVNode("div", _hoisted_4$c, [
20966
- createElementVNode("span", _hoisted_5$a, toDisplayString($props.isEn ? "Company Name" : "公司名称"), 1)
21015
+ createElementVNode("span", _hoisted_5$b, toDisplayString($props.isEn ? "Company Name" : "公司名称"), 1)
20967
21016
  ]),
20968
21017
  createElementVNode("span", {
20969
21018
  class: "change-link",
@@ -21871,7 +21920,7 @@ const _hoisted_1$f = {
21871
21920
  const _hoisted_2$d = { class: "login-section" };
21872
21921
  const _hoisted_3$c = { class: "login-title" };
21873
21922
  const _hoisted_4$b = { key: 0 };
21874
- const _hoisted_5$9 = { key: 1 };
21923
+ const _hoisted_5$a = { key: 1 };
21875
21924
  const _hoisted_6$9 = { class: "tab-header" };
21876
21925
  const _hoisted_7$8 = {
21877
21926
  key: 1,
@@ -21941,7 +21990,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
21941
21990
  $data.formMode === "login" ? (openBlock(), createElementBlock("div", _hoisted_1$f, [
21942
21991
  createElementVNode("div", _hoisted_2$d, [
21943
21992
  createElementVNode("div", _hoisted_3$c, [
21944
- $setup.thirdBindDialogVisible || $setup.thirdRegisterVisible ? (openBlock(), createElementBlock("p", _hoisted_4$b, toDisplayString($setup.isEn ? "New User Registration" : "新用户注册"), 1)) : (openBlock(), createElementBlock("p", _hoisted_5$9, toDisplayString($setup.isEn ? "Welcome Back to JCtrans" : "欢迎回到JCtrans"), 1))
21993
+ $setup.thirdBindDialogVisible || $setup.thirdRegisterVisible ? (openBlock(), createElementBlock("p", _hoisted_4$b, toDisplayString($setup.isEn ? "New User Registration" : "新用户注册"), 1)) : (openBlock(), createElementBlock("p", _hoisted_5$a, toDisplayString($setup.isEn ? "Welcome Back to JCtrans" : "欢迎回到JCtrans"), 1))
21945
21994
  ]),
21946
21995
  ["account", "code"].includes($data.loginType) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
21947
21996
  createElementVNode("div", _hoisted_6$9, [
@@ -22963,7 +23012,7 @@ const _hoisted_1$d = { class: "register-form-container" };
22963
23012
  const _hoisted_2$b = { class: "register-step-header" };
22964
23013
  const _hoisted_3$b = { class: "register-step-title" };
22965
23014
  const _hoisted_4$a = { class: "register-title" };
22966
- const _hoisted_5$8 = { class: "third-party-sign-in" };
23015
+ const _hoisted_5$9 = { class: "third-party-sign-in" };
22967
23016
  const _hoisted_6$8 = { class: "third-party-sign-in-title" };
22968
23017
  const _hoisted_7$7 = { class: "third-party-sign-in-group" };
22969
23018
  const _hoisted_8$6 = {
@@ -23160,7 +23209,7 @@ function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
23160
23209
  ]),
23161
23210
  _: 1
23162
23211
  }, 8, ["disabled", "loading", "onClick"]),
23163
- createElementVNode("div", _hoisted_5$8, [
23212
+ createElementVNode("div", _hoisted_5$9, [
23164
23213
  createElementVNode("div", _hoisted_6$8, toDisplayString($props.isEn ? "Sign in with" : "其他登录方式"), 1),
23165
23214
  createElementVNode("div", _hoisted_7$7, [
23166
23215
  createElementVNode("div", {
@@ -23772,7 +23821,7 @@ const _hoisted_1$a = { class: "wechat-choose-type" };
23772
23821
  const _hoisted_2$8 = { class: "choose-title" };
23773
23822
  const _hoisted_3$8 = { class: "choose-nav" };
23774
23823
  const _hoisted_4$8 = { class: "btn-container" };
23775
- const _hoisted_5$7 = { class: "btn-content" };
23824
+ const _hoisted_5$8 = { class: "btn-content" };
23776
23825
  const _hoisted_6$7 = { class: "btn-content" };
23777
23826
  const _sfc_main$a = /* @__PURE__ */ defineComponent({
23778
23827
  __name: "WechatChooseType",
@@ -23799,7 +23848,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
23799
23848
  onClick: handleRegister
23800
23849
  }, {
23801
23850
  default: withCtx(() => [
23802
- createElementVNode("div", _hoisted_5$7, [
23851
+ createElementVNode("div", _hoisted_5$8, [
23803
23852
  _cache[0] || (_cache[0] = createElementVNode("img", {
23804
23853
  class: "icon-account",
23805
23854
  src: _imports_0$2,
@@ -23833,7 +23882,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
23833
23882
  };
23834
23883
  }
23835
23884
  });
23836
- const WechatChooseType = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-d6500e67"]]);
23885
+ const WechatChooseType = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-09068331"]]);
23837
23886
  const _imports_0$1 = "data:image/webp;base64,UklGRkYDAABXRUJQVlA4WAoAAAAQAAAATwAATwAAQUxQSK0BAAABkJVtT55JrwQkRAISIqEOBgl1sDhoHVAHXQdIQEIkICH780ETOodzEBETgJ+MA3FKG8fvIaQiOm5lCy/j2vVx4RdxVdtKLwmH2pfwBmrqKbQeifr2bTUSdd/WIlH/HpcqOuxnyjJT9/0aqISFkg47AaCJGwDOgeaFZPQb/7dR/I9HSsuwjsuHapaXKRMaAZCOawBQJvoyMqN3PvqEypGrzsZFgvrLmShgXXYrjMDHLSLS6rGR3+ZUCVy7TtfklVz6Dq76XJIPe0gMh9oW8iAHIWpqLeSAbhdJ1L5Hh8ssB1HPTnZsJTjUV4IZxChFHUrartG5nf2TZju2EdQRAaifCgAe9GCG22QnHQoA7J8SAAw02wWxiPtIv4AgnyqAX6NmBxID1Am9S9ehlKqTwQ4kjxpkxj46gORJha6YPBCuR32FzQXxQYOswD7ng457heAj/8ndPmnYF6hwjaoqCUDglEspRAskn1Ml4WF1E/huCY/ZjZ1MT6eM9UNzufBGEocaXgFqZhdem412vJiqCb8JiJdM9f/OdwHg/a4i0soeQZeqvO4pi8bvBWD8PAwAVlA4IHIBAACQDQCdASpQAFAAPjESh0KiIQzPMmYQAYJYgDTVCv5F+Mf4gb4DJX+Sz7l/ANsR/t26P/QD/AegB1gH9L/gHoV9YB+tfoUf7T/efAf+sP68fAV+m//U1vlDvsJaoYWahGVgTNJjQto23T3wmPTWzB6ZzMk6AwAA/v7uqgr/9ZP//7blAnmnE6lioCaVp1+WnldB5HpBbYjxc1NG5XU54UvD9kf2w/pZ7/42ltzXYtGbK1//nqr8tjkze5eVKps78/9WExTMn4pKTe3c8mpsuj8YwNG+XmxN6qsxIT2EwKQHnE5z8J/+pe+1IL/r1o8YBWTv7H+OAb1dnyF/HIBfP7w3V0JsIK9k9luJE6Inls4/P8XLinjMj63/lB+fL9Mg/9VBqi1r084wLn/+c3RisrFoveLUv2I5xww1R/MwdnWNwJwQ8oKLyHlGl0b3UxrGhAtGoS5KzFv4B538wnEyq7d8a9J8x7Ua1ZythfCc5mNgAAAA";
23838
23887
  const _imports_2 = "data:image/webp;base64,UklGRtgAAABXRUJQVlA4WAoAAAAQAAAAHwAAHwAAQUxQSG8AAAABcFXbVq2cCEQ4EYxABBtIhNvg0kAaEMEIJwoRiLB86/b5GxETYP9n6T1rGiyaBULjMJPEAvaaDOwkdgBWSRrAKH4rxsOTq3NzbfD0/Cr+eACzZk/XHl+Bluz5DlRTBnRTOuCSAmHSBlU0xlbzdwIAVlA4IEIAAABwAwCdASogACAAPjESjEYiENDKACADBLSAACWH58lev5ur/aAA/iw///2p6j//i/2//+H8FPIH///0cbN//9v7AAA=";
23839
23888
  function useAuthLogin(options = {}) {
@@ -23847,6 +23896,10 @@ function useAuthLogin(options = {}) {
23847
23896
  "🍉 ~ useAuthLogin.ts:36 ~ executeRedirect ~ loginData:",
23848
23897
  loginData
23849
23898
  );
23899
+ if (unref(options.test)) {
23900
+ logTestLoginResult("账号/验证码/微信/绑定登录", loginData);
23901
+ return;
23902
+ }
23850
23903
  const session = getAuthSessionItems() || {};
23851
23904
  const redirectPath = loginData.redirectPath || session.path || "/";
23852
23905
  if (loginData.result) {
@@ -24128,10 +24181,11 @@ function useAuthLogin(options = {}) {
24128
24181
  handleBindSubmit
24129
24182
  };
24130
24183
  }
24131
- const _hoisted_1$9 = { class: "bind-wechat-title" };
24132
- const _hoisted_2$7 = { class: "title" };
24133
- const _hoisted_3$7 = { class: "sub-title" };
24134
- const _hoisted_4$7 = { class: "register-bottom" };
24184
+ const _hoisted_1$9 = { class: "jc:p-4" };
24185
+ const _hoisted_2$7 = { class: "bind-wechat-title" };
24186
+ const _hoisted_3$7 = { class: "title" };
24187
+ const _hoisted_4$7 = { class: "sub-title" };
24188
+ const _hoisted_5$7 = { class: "register-bottom" };
24135
24189
  const _sfc_main$9 = /* @__PURE__ */ defineComponent({
24136
24190
  __name: "WechatBindLogin",
24137
24191
  props: {
@@ -24204,7 +24258,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
24204
24258
  {
24205
24259
  required: true,
24206
24260
  validator: (rule, value, cb) => {
24207
- validateUserEmail$1(rule, value, cb, props.isEn, false);
24261
+ validateEmailFormat(rule, value, cb, props.isEn);
24208
24262
  },
24209
24263
  trigger: "blur"
24210
24264
  }
@@ -24213,7 +24267,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
24213
24267
  {
24214
24268
  required: true,
24215
24269
  validator: (rule, value, cb) => {
24216
- validateUserMobilefive$1(rule, value, cb, props.isEn, false);
24270
+ validateMobileFormat(rule, value, cb, props.isEn);
24217
24271
  },
24218
24272
  trigger: "blur"
24219
24273
  }
@@ -24313,7 +24367,6 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
24313
24367
  params.areaCode = loginForm.value.areaCode;
24314
24368
  }
24315
24369
  const apiFn = isMobile ? sendMobileCodeApi : sendEmailCodeApi;
24316
- startTimer();
24317
24370
  apiFn(params).then((res) => {
24318
24371
  var _a;
24319
24372
  const verifyCode = ((_a = res.data.data) == null ? void 0 : _a.verifyCode) || res.data.verifyCode;
@@ -24323,6 +24376,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
24323
24376
  } else {
24324
24377
  emailUid.value = verifyCode;
24325
24378
  }
24379
+ startTimer();
24326
24380
  ElMessage.success(
24327
24381
  props.isEn ? "Verification code sent" : "验证码已发送"
24328
24382
  );
@@ -24333,17 +24387,17 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
24333
24387
  console.log("发送注册验证码");
24334
24388
  }
24335
24389
  return (_ctx, _cache) => {
24336
- return openBlock(), createElementBlock("div", null, [
24337
- createElementVNode("div", _hoisted_1$9, [
24338
- createElementVNode("div", _hoisted_2$7, [
24339
- _cache[11] || (_cache[11] = createElementVNode("img", {
24390
+ return openBlock(), createElementBlock("div", _hoisted_1$9, [
24391
+ createElementVNode("div", _hoisted_2$7, [
24392
+ createElementVNode("div", _hoisted_3$7, [
24393
+ _cache[12] || (_cache[12] = createElementVNode("img", {
24340
24394
  class: "icon-auth-wechat",
24341
24395
  src: _imports_0$1,
24342
24396
  alt: ""
24343
24397
  }, null, -1)),
24344
24398
  createTextVNode(" " + toDisplayString(__props.isEn ? "Log in and link with WeChat" : "登录并绑定微信"), 1)
24345
24399
  ]),
24346
- createElementVNode("div", _hoisted_3$7, toDisplayString(__props.isEn ? "After linking, you can log in via WeChat scan, which is convenient and quick" : "绑定后,可通过微信扫码登录,方便快捷"), 1)
24400
+ createElementVNode("div", _hoisted_4$7, toDisplayString(__props.isEn ? "After linking, you can log in via WeChat scan, which is convenient and quick" : "绑定后,可通过微信扫码登录,方便快捷"), 1)
24347
24401
  ]),
24348
24402
  createVNode(unref(ElForm), {
24349
24403
  ref_key: "bindLoginFormRef",
@@ -24493,12 +24547,13 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
24493
24547
  placeholder: __props.isEn ? "Enter 4 Verification Code" : "请输入4位数字验证码",
24494
24548
  ready: codeReady.value,
24495
24549
  "is-en": __props.isEn,
24496
- onSend: handleGetCode
24550
+ onSend: handleGetCode,
24551
+ onCountingChange: _cache[10] || (_cache[10] = (val) => isCounting.value = val)
24497
24552
  }, null, 8, ["modelValue", "label", "placeholder", "ready", "is-en"])
24498
24553
  ]),
24499
24554
  _: 1
24500
24555
  })) : createCommentVNode("", true),
24501
- createElementVNode("div", _hoisted_4$7, [
24556
+ createElementVNode("div", _hoisted_5$7, [
24502
24557
  createVNode(unref(ElButton), {
24503
24558
  class: "submit-btn",
24504
24559
  onClick: handleSubmit,
@@ -24506,7 +24561,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
24506
24561
  }, {
24507
24562
  default: withCtx(() => [
24508
24563
  createTextVNode(toDisplayString(__props.isEn ? "Login and Link" : "登录并绑定") + " ", 1),
24509
- _cache[12] || (_cache[12] = createElementVNode("img", {
24564
+ _cache[13] || (_cache[13] = createElementVNode("img", {
24510
24565
  style: { "width": "16px", "height": "16px", "vertical-align": "middle" },
24511
24566
  src: _imports_2,
24512
24567
  alt: ""
@@ -24520,7 +24575,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
24520
24575
  }, 8, ["model", "rules"]),
24521
24576
  createVNode(JcVerifySlide$1, {
24522
24577
  visible: captchaVisible.value,
24523
- "onUpdate:visible": _cache[10] || (_cache[10] = ($event) => captchaVisible.value = $event),
24578
+ "onUpdate:visible": _cache[11] || (_cache[11] = ($event) => captchaVisible.value = $event),
24524
24579
  "is-en": __props.isEn,
24525
24580
  onSuccess: handleCaptchaSuccess
24526
24581
  }, null, 8, ["visible", "is-en"])
@@ -24528,7 +24583,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
24528
24583
  };
24529
24584
  }
24530
24585
  });
24531
- const WechatBindLogin = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-d7904a47"]]);
24586
+ const WechatBindLogin = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-d48138a4"]]);
24532
24587
  const _sfc_main$8 = {
24533
24588
  name: "CompleteInfoForm",
24534
24589
  components: {
@@ -24624,14 +24679,14 @@ const _sfc_main$8 = {
24624
24679
  phone: [
24625
24680
  {
24626
24681
  required: true,
24627
- validator: (rule, value, cb) => validateUserMobilefive$1(rule, value, cb, this.isEn, false),
24682
+ validator: (rule, value, cb) => validateMobileFormat(rule, value, cb, this.isEn),
24628
24683
  trigger: "blur"
24629
24684
  }
24630
24685
  ],
24631
24686
  email: [
24632
24687
  {
24633
24688
  required: true,
24634
- validator: (rule, value, cb) => validateUserEmail$1(rule, value, cb, this.isEn, false),
24689
+ validator: (rule, value, cb) => validateEmailFormat(rule, value, cb, this.isEn),
24635
24690
  trigger: "blur"
24636
24691
  }
24637
24692
  ],
@@ -24774,7 +24829,6 @@ const _sfc_main$8 = {
24774
24829
  (item) => item.telCode === this.form.areaCode
24775
24830
  ).id;
24776
24831
  }
24777
- startTimer();
24778
24832
  api2(params).then((res) => {
24779
24833
  var _a;
24780
24834
  const verifyCode = ((_a = res.data.data) == null ? void 0 : _a.verifyCode) || res.data.verifyCode;
@@ -24785,6 +24839,7 @@ const _sfc_main$8 = {
24785
24839
  this.emailUid = verifyCode;
24786
24840
  }
24787
24841
  this.codeSent = true;
24842
+ startTimer();
24788
24843
  ElMessage.success(this.isEn ? "Code Sent" : "验证码已发送");
24789
24844
  } else {
24790
24845
  ElMessage.error(
@@ -25216,7 +25271,7 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
25216
25271
  }, 8, ["model", "rules"])
25217
25272
  ]);
25218
25273
  }
25219
- const CompleteInfoForm = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["render", _sfc_render$1], ["__scopeId", "data-v-26754358"]]);
25274
+ const CompleteInfoForm = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["render", _sfc_render$1], ["__scopeId", "data-v-1844ec39"]]);
25220
25275
  const _hoisted_1$7 = { class: "auth-footer-box" };
25221
25276
  const _sfc_main$7 = /* @__PURE__ */ defineComponent({
25222
25277
  __name: "FooterBox",
@@ -25292,7 +25347,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
25292
25347
  const formB = reactive({ code: "", password: "", confirmPassword: "" });
25293
25348
  const userData = ref({});
25294
25349
  const disabledTabs = reactive({ email: false, mobile: false });
25295
- const codeVerifyUuid = ref("");
25350
+ const codeUid = ref("");
25296
25351
  const rulesA = {
25297
25352
  userName: [
25298
25353
  {
@@ -25403,7 +25458,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
25403
25458
  });
25404
25459
  if (res.code === 0) {
25405
25460
  ElMessage.success(props.isEn ? "Verification code sent" : "验证码已发送");
25406
- codeVerifyUuid.value = ((_a = res.data) == null ? void 0 : _a.verifyCode) || "";
25461
+ codeUid.value = ((_a = res.data) == null ? void 0 : _a.verifyCode) || "";
25407
25462
  startTimer();
25408
25463
  } else {
25409
25464
  ElMessage.error(res.msg || "Failed");
@@ -25427,7 +25482,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
25427
25482
  const { data: res } = await resetPasswordApi({
25428
25483
  id: userData.value.id,
25429
25484
  account: userData.value.account,
25430
- codeId: codeVerifyUuid.value,
25485
+ codeId: codeUid.value,
25431
25486
  codeValue: formB.code,
25432
25487
  password: MD5(formB.password).toString(),
25433
25488
  ...verifyData.value
@@ -25451,7 +25506,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
25451
25506
  if (disabledTabs[tab]) return;
25452
25507
  activeTab.value = tab;
25453
25508
  formB.code = "";
25454
- codeVerifyUuid.value = "";
25509
+ codeUid.value = "";
25455
25510
  }
25456
25511
  return (_ctx, _cache) => {
25457
25512
  return openBlock(), createElementBlock("div", _hoisted_1$6, [
@@ -25640,7 +25695,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
25640
25695
  };
25641
25696
  }
25642
25697
  });
25643
- const ForgetPassword = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-a15f18ff"]]);
25698
+ const ForgetPassword = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-74e2cbb2"]]);
25644
25699
  const _hoisted_1$5 = { class: "auth-bottom-tip" };
25645
25700
  const _sfc_main$5 = /* @__PURE__ */ defineComponent({
25646
25701
  __name: "AuthBottomTip",
@@ -25724,8 +25779,10 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
25724
25779
  isEn: { type: Boolean, default: false },
25725
25780
  bindList: { type: Array, default: () => [] }
25726
25781
  },
25727
- setup(__props) {
25782
+ emits: ["login-success"],
25783
+ setup(__props, { emit: __emit }) {
25728
25784
  const props = __props;
25785
+ const emit = __emit;
25729
25786
  const submitting = ref(false);
25730
25787
  const selectedUser = ref(null);
25731
25788
  const currentUser = computed(() => {
@@ -25791,7 +25848,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
25791
25848
  {
25792
25849
  required: true,
25793
25850
  validator: (rule, value, cb) => {
25794
- validateUserEmail$1(rule, value, cb, props.isEn, false);
25851
+ validateEmailFormat(rule, value, cb, props.isEn);
25795
25852
  },
25796
25853
  trigger: "blur"
25797
25854
  }
@@ -25800,7 +25857,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
25800
25857
  {
25801
25858
  required: true,
25802
25859
  validator: (rule, value, cb) => {
25803
- validateUserMobilefive$1(rule, value, cb, props.isEn, false);
25860
+ validateMobileFormat(rule, value, cb, props.isEn);
25804
25861
  },
25805
25862
  trigger: "blur"
25806
25863
  }
@@ -25853,13 +25910,13 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
25853
25910
  };
25854
25911
  if (isMobile) params.areaCode = loginForm.value.areaCode;
25855
25912
  const apiFn = isMobile ? sendMobileCodeApi : sendEmailCodeApi;
25856
- if (startTimerFn) startTimerFn();
25857
25913
  apiFn(params).then((res) => {
25858
25914
  var _a;
25859
25915
  const verifyCode = ((_a = res.data.data) == null ? void 0 : _a.verifyCode) || res.data.verifyCode;
25860
25916
  if (res.data.code === 0 || res.data.code === 200) {
25861
25917
  if (isMobile) mobileUid.value = verifyCode;
25862
25918
  else emailUid.value = verifyCode;
25919
+ if (startTimerFn) startTimerFn();
25863
25920
  ElMessage.success(props.isEn ? "Code sent" : "验证码已发送");
25864
25921
  } else {
25865
25922
  ElMessage.error(res.data.msg);
@@ -25926,6 +25983,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
25926
25983
  });
25927
25984
  }
25928
25985
  apiPromise.then((res) => {
25986
+ var _a, _b, _c, _d, _e, _f;
25929
25987
  console.log("🍉 ~ ThirdBindLogin.vue:483 ~ doBindRequest ~ res:", res);
25930
25988
  if (res.data.code !== 0) {
25931
25989
  return ElMessage.error(
@@ -25938,15 +25996,11 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
25938
25996
  res.data.data
25939
25997
  );
25940
25998
  const data = res.data.data;
25941
- if (data.tgc) {
25942
- api$1.set("tgc", data.tgc, { expires: 30 });
25943
- }
25944
- if (data.result) {
25945
- setTokenAll(data.result);
25946
- }
25947
- if (data.redirectPath) {
25948
- handleRedirect$1(data.redirectPath);
25949
- }
25999
+ emit("login-success", {
26000
+ ...data || {},
26001
+ accountType: ((_a = currentUser.value) == null ? void 0 : _a.accountType) || ((_b = currentUser.value) == null ? void 0 : _b.email) || ((_c = currentUser.value) == null ? void 0 : _c.mobile),
26002
+ mode: "login"
26003
+ });
25950
26004
  return;
25951
26005
  }
25952
26006
  if (res.data.subCode === "USER_HAS_OTHER_BIND") {
@@ -25961,9 +26015,11 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
25961
26015
  if (res.data.tgc) {
25962
26016
  api$1.set("tgc", res.data.tgc, { expires: 30 });
25963
26017
  }
25964
- if (res.data.redirectPath) {
25965
- handleRedirect$1(res.data.redirectPath);
25966
- }
26018
+ emit("login-success", {
26019
+ ...res.data || {},
26020
+ accountType: ((_d = currentUser.value) == null ? void 0 : _d.accountType) || ((_e = currentUser.value) == null ? void 0 : _e.email) || ((_f = currentUser.value) == null ? void 0 : _f.mobile),
26021
+ mode: "login"
26022
+ });
25967
26023
  }).finally(() => {
25968
26024
  submitting.value = false;
25969
26025
  });
@@ -26173,7 +26229,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
26173
26229
  };
26174
26230
  }
26175
26231
  });
26176
- const ThirdBindLogin = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-e5e9036f"]]);
26232
+ const ThirdBindLogin = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-42f093a7"]]);
26177
26233
  const _sfc_main$3 = {
26178
26234
  name: "RegisterForm",
26179
26235
  components: {
@@ -27273,7 +27329,7 @@ function useLoginForm(options) {
27273
27329
  {
27274
27330
  required: true,
27275
27331
  validator: (rule, value, cb) => {
27276
- validateUserEmail$1(rule, value, cb, isEn.value, false);
27332
+ validateEmailFormat(rule, value, cb, isEn.value);
27277
27333
  },
27278
27334
  trigger: "blur"
27279
27335
  }
@@ -27282,7 +27338,7 @@ function useLoginForm(options) {
27282
27338
  {
27283
27339
  required: true,
27284
27340
  validator: (rule, value, cb) => {
27285
- validateUserMobilefive$1(rule, value, cb, isEn.value, false);
27341
+ validateMobileFormat(rule, value, cb, isEn.value);
27286
27342
  },
27287
27343
  trigger: "blur"
27288
27344
  }
@@ -27490,7 +27546,8 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
27490
27546
  loginPath: { default: "http://localhost:8086" },
27491
27547
  showTestThirdBtn: { type: Boolean, default: false },
27492
27548
  baseMode: { default: "login" },
27493
- appId: { default: "" }
27549
+ appId: { default: "" },
27550
+ test: { type: Boolean, default: false }
27494
27551
  },
27495
27552
  emits: ["update:visible", "update:baseMode", "open", "mode-change", "auth-dialog-close", "login-success", "register-success"],
27496
27553
  setup(__props, { emit: __emit }) {
@@ -27527,6 +27584,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
27527
27584
  return false;
27528
27585
  });
27529
27586
  provide("isEn", isEn);
27587
+ const isTestMode = computed(() => detectTestMode(props.test));
27530
27588
  const currentVisible = ref(props.visible);
27531
27589
  const formMode = ref("login");
27532
27590
  const loginType = ref("account");
@@ -27594,6 +27652,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
27594
27652
  } = useAuthLogin({
27595
27653
  appId,
27596
27654
  isEn,
27655
+ test: isTestMode,
27597
27656
  onNeedComplete: (data) => {
27598
27657
  console.log("需要完善信息,暂不关闭弹窗");
27599
27658
  const mode2 = loginType.value === "code" ? "register" : "login";
@@ -27631,6 +27690,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
27631
27690
  } = useThirdPartyLogin$1({
27632
27691
  appId,
27633
27692
  isEn,
27693
+ test: isTestMode,
27634
27694
  onSuccess: (loginData) => {
27635
27695
  const accountType = resolveAccountType(thirdType.value || "");
27636
27696
  emit("login-success", {
@@ -27791,6 +27851,16 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
27791
27851
  function handleWechatLogin() {
27792
27852
  formMode.value = "wechat-bind";
27793
27853
  }
27854
+ function handleThirdBindSuccess(loginData) {
27855
+ const accountType = resolveAccountType(thirdType.value || "");
27856
+ emit("login-success", {
27857
+ ...loginData || {},
27858
+ accountType,
27859
+ mode: "login"
27860
+ });
27861
+ currentVisible.value = false;
27862
+ executeRedirect(loginData);
27863
+ }
27794
27864
  function switchToRegister() {
27795
27865
  sessionStorage.removeItem("jc-auth-uniqueCode");
27796
27866
  formMode.value = "register";
@@ -28091,7 +28161,8 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
28091
28161
  key: 0,
28092
28162
  "is-en": isEn.value,
28093
28163
  "bind-list": unref(bindList),
28094
- class: "jc:mt-1"
28164
+ class: "jc:mt-1",
28165
+ onLoginSuccess: handleThirdBindSuccess
28095
28166
  }, null, 8, ["is-en", "bind-list"])) : createCommentVNode("", true),
28096
28167
  unref(thirdRegisterVisible) ? (openBlock(), createBlock(ThirdRegisterForm, {
28097
28168
  key: 1,
@@ -28194,7 +28265,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
28194
28265
  };
28195
28266
  }
28196
28267
  });
28197
- const index$2 = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-4879eade"]]);
28268
+ const index$2 = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-1899ec69"]]);
28198
28269
  const __vite_glob_0_16 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
28199
28270
  __proto__: null,
28200
28271
  default: index$2