vue-layout-gitcode 1.9.75 → 1.9.77

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.
@@ -7960,6 +7960,24 @@ const gitCodeLayout$1 = {
7960
7960
  smsLogin: "短信登录",
7961
7961
  resetPwdSuccess: "修改密码成功"
7962
7962
  },
7963
+ bindPhone: {
7964
+ text01: "绑定手机号",
7965
+ text02: "根据国家相关规定,您需要绑定手机号后才能继续使用{siteName}"
7966
+ },
7967
+ bindPhoneConflict: {
7968
+ text01: "账号绑定确认",
7969
+ text02: "您输入的手机号 {country} {mobile} 已被以下账号绑定:",
7970
+ text03: "当前绑定账号:",
7971
+ text04: "查看用户主页",
7972
+ text05: "当前登录账号",
7973
+ text06: "您可以选择以下操作:",
7974
+ text07: "更换绑定账号",
7975
+ text08: "更换手机号",
7976
+ text09: "将手机号从 「{oldUsername}」 解绑,重新绑定到 「{newUsername}」",
7977
+ text10: "为 「{newUsername}」 绑定其他手机号。如果您有多个手机号,可以保留两个账号",
7978
+ text11: "请注意:",
7979
+ text12: "选择「更换绑定账号后」:您将无法通过该手机号登录原账号 「{ oldUsername }」"
7980
+ },
7963
7981
  link: {
7964
7982
  agreement: "用户协议",
7965
7983
  privacyPolicy: "隐私政策",
@@ -8287,6 +8305,24 @@ const gitCodeLayout = {
8287
8305
  smsLogin: "verify with SMS",
8288
8306
  resetPwdSuccess: "Password successfully changed"
8289
8307
  },
8308
+ bindPhone: {
8309
+ text01: "Bind mobile",
8310
+ text02: "According to relevant national regulations, you need to bind your phone before you can continue using {siteName}."
8311
+ },
8312
+ bindPhoneConflict: {
8313
+ text01: "Bind confirm",
8314
+ text02: "The phone number {country} {mobile} you entered has been bound to the following account:",
8315
+ text03: "Current bound account:",
8316
+ text04: "View user homepage",
8317
+ text05: "Current login account",
8318
+ text06: "You can choose the following actions:",
8319
+ text07: "Change the bound account",
8320
+ text08: "Change phone",
8321
+ text09: "Unbind the phone number from 「{oldUsername}」 and rebind it to 「{newUsername}」",
8322
+ text10: "Bind another phone for 「{newUsername}」. If you have multiple phone numbers, you can keep two accounts",
8323
+ text11: "Please note:",
8324
+ text12: "After selecting 「Change bound account」: You will not be able to log in to the original account 「{ oldUsername }」 through this phone number"
8325
+ },
8290
8326
  link: {
8291
8327
  agreement: "User Agreement",
8292
8328
  privacyPolicy: "Privacy Policy",
@@ -8895,6 +8931,7 @@ const isGitCodeHost = () => {
8895
8931
  if (typeof window === "undefined" || typeof location === "undefined") return false;
8896
8932
  return location.hostname.includes("gitcode");
8897
8933
  };
8934
+ const currentSiteName = () => isGitCodeHost() ? "GitCode" : "AtomGit";
8898
8935
  const currentHelpDocsUrl = () => isGitCodeHost() ? HELP_DOCS_URL_GITCODE : HELP_DOCS_URL_ATOMGIT;
8899
8936
  const currentHelpDocsAboutUsUrl = () => isGitCodeHost() ? HELP_DOCS_URL_GITCODE + "/docs/help/home/aboutus/" : HELP_DOCS_URL_ATOMGIT + "/docs/help/home/aboutus/";
8900
8937
  const currentHelpDocsAiCommunityUrl = () => isGitCodeHost() ? HELP_DOCS_URL_GITCODE + "/docs/help/home/ai-community/" : HELP_DOCS_URL_ATOMGIT + "/docs/help/home/ai-community/";
@@ -9179,7 +9216,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
9179
9216
  window.removeEventListener("scroll", handleScroll);
9180
9217
  });
9181
9218
  return (_ctx, _cache) => {
9182
- return openBlock(), createElementBlock(Fragment, null, [
9219
+ return openBlock(), createElementBlock("div", null, [
9183
9220
  toolsFloatCollapseStatus.value === unref(TOOLS_FLOAT_COLLAPSE_STATUS).COLLAPSE ? (openBlock(), createElementBlock("div", {
9184
9221
  key: 0,
9185
9222
  class: "tools-float-expand-btn",
@@ -9488,7 +9525,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
9488
9525
  }, null, 8, _hoisted_33$1)
9489
9526
  ])) : createCommentVNode("", true)
9490
9527
  ])
9491
- ], 64);
9528
+ ]);
9492
9529
  };
9493
9530
  }
9494
9531
  });
@@ -13877,6 +13914,40 @@ function headRequest(request) {
13877
13914
  userInfo
13878
13915
  );
13879
13916
  },
13917
+ // 未绑定手机号的账号,手机号码-尝试绑定操作
13918
+ toBindPhone(data) {
13919
+ const submitData = filterApiParams({
13920
+ mobile: data.mobile,
13921
+ verification_code: data.verification_code,
13922
+ mask: data.mask,
13923
+ send_code_biz_enum: "BINDING_MOBILE",
13924
+ captcha_id: data == null ? void 0 : data.captchaId,
13925
+ token: data == null ? void 0 : data.token,
13926
+ authenticate: data == null ? void 0 : data.authenticate
13927
+ });
13928
+ return reqCatch(
13929
+ () => request({
13930
+ url: "/api/v1/user/bind-mobile",
13931
+ method: "post",
13932
+ data: submitData
13933
+ }),
13934
+ submitData
13935
+ );
13936
+ },
13937
+ // 手机号码绑定冲突,根据mask,来更换绑定账号
13938
+ toChangeBindAccount(data) {
13939
+ const submitData = filterApiParams({
13940
+ mask: data.mask
13941
+ });
13942
+ return reqCatch(
13943
+ () => request({
13944
+ url: "/api/v1/user/confirm-bind-mobile",
13945
+ method: "post",
13946
+ data: submitData
13947
+ }),
13948
+ submitData
13949
+ );
13950
+ },
13880
13951
  /** gitcode手机号验证注册 */
13881
13952
  registerByMobile(data) {
13882
13953
  return reqCatch(
@@ -14539,13 +14610,13 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
14539
14610
  return {};
14540
14611
  }
14541
14612
  };
14542
- const accountInfo = ref(userInfo.value || getLocalStorageUserInfo());
14613
+ const accountInfo = ref((userInfo == null ? void 0 : userInfo.value) || getLocalStorageUserInfo());
14543
14614
  const haveVisited = ref(false);
14544
14615
  const useReport2 = inject("useReport");
14545
14616
  watch(
14546
- () => userInfo.value,
14617
+ () => userInfo == null ? void 0 : userInfo.value,
14547
14618
  (newValue) => {
14548
- if (newValue) {
14619
+ if (newValue == null ? void 0 : newValue.id) {
14549
14620
  accountInfo.value = newValue;
14550
14621
  } else {
14551
14622
  accountInfo.value = getLocalStorageUserInfo();
@@ -14632,7 +14703,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
14632
14703
  };
14633
14704
  const handleStorageChange = (e) => {
14634
14705
  if (e.key === "userInfo") {
14635
- if (!userInfo.value) {
14706
+ if (!(userInfo == null ? void 0 : userInfo.value)) {
14636
14707
  try {
14637
14708
  accountInfo.value = JSON.parse(e.newValue || "{}");
14638
14709
  } catch {
@@ -14840,13 +14911,13 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
14840
14911
  var _a;
14841
14912
  const layoutConfig2 = useLayoutConfig();
14842
14913
  const { t: $t } = i18n.global;
14843
- const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-BTFjDFH5.js"));
14844
- const UserSearch = defineAsyncComponent(() => import("./UserSearch-D0DJOvPi.js"));
14845
- const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-DMiQu1xb.js"));
14846
- const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-yEqaAYyO.js"));
14847
- const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-CkBlUFr_.js"));
14848
- const SearchPrefixTag = defineAsyncComponent(() => import("./SearchPrefixTag-Df0K6Viq.js"));
14849
- const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-CDAxcbKx.js"));
14914
+ const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-CdJ59Qnn.js"));
14915
+ const UserSearch = defineAsyncComponent(() => import("./UserSearch--F1ygnvX.js"));
14916
+ const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-Bkb59e54.js"));
14917
+ const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-DgBGqeSt.js"));
14918
+ const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-BjhcwXJ3.js"));
14919
+ const SearchPrefixTag = defineAsyncComponent(() => import("./SearchPrefixTag-B_WBP73a.js"));
14920
+ const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-B-h6kgJA.js"));
14850
14921
  const props = __props;
14851
14922
  const repoInfo = inject("repoInfo");
14852
14923
  const orgInfo = inject("orgInfo");
@@ -15595,7 +15666,7 @@ const autoAvokeLogin = ({ isLogin, loginFunc, openHarmonyGuide, loginSuccess, lo
15595
15666
  loginFunc({ type: "login", triggerType: "", loginTriggerSource: "router_login_auth", ...loginFuncOpts }, loginSuccess, openHarmonyGuide);
15596
15667
  }
15597
15668
  };
15598
- const NoticeModal = defineAsyncComponent(() => import("./notice-D8v_WGT1.js"));
15669
+ const NoticeModal = defineAsyncComponent(() => import("./notice-BryYNf1k.js"));
15599
15670
  function clearNotice() {
15600
15671
  if (localStorage$2.getItem("validator_email")) {
15601
15672
  localStorage$2.removeItem("validator_email");
@@ -15638,7 +15709,7 @@ const _hoisted_7$3 = { class: "g-header-body-right h-full" };
15638
15709
  const _hoisted_8$3 = { key: 2 };
15639
15710
  const _sfc_main$n = /* @__PURE__ */ defineComponent({
15640
15711
  ...{
15641
- name: "header"
15712
+ name: "GitCodeHeader"
15642
15713
  },
15643
15714
  __name: "index",
15644
15715
  props: {
@@ -16397,9 +16468,9 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
16397
16468
  const layoutConfig2 = useLayoutConfig();
16398
16469
  const { t: t2 } = i18n.global;
16399
16470
  const route = useRoute();
16400
- const MenuItem = defineAsyncComponent(() => import("./MenuItem-CNLHrak0.js"));
16401
- const ProjectMenuListV2 = defineAsyncComponent(() => import("./ProjectMenuListV2-C2caaQYu.js"));
16402
- const ProjectMenuList = defineAsyncComponent(() => import("./ProjectMenuList-DZW2jdiW.js"));
16471
+ const MenuItem = defineAsyncComponent(() => import("./MenuItem-CXcashFh.js"));
16472
+ const ProjectMenuListV2 = defineAsyncComponent(() => import("./ProjectMenuListV2-BT-x9vbw.js"));
16473
+ const ProjectMenuList = defineAsyncComponent(() => import("./ProjectMenuList-CAHPr81W.js"));
16403
16474
  const props = __props;
16404
16475
  console.log("slotKeys", props.slotKeys);
16405
16476
  console.log("props", props);
@@ -18228,7 +18299,7 @@ const createLoginConfig = (request) => {
18228
18299
  const resultData = result2.data.data;
18229
18300
  const { user_status_enum } = resultData;
18230
18301
  await successFunc(resultData);
18231
- if (user_status_enum !== "MFA_CHECK") {
18302
+ if (!["EMPTY_MOBILE", "MFA_CHECK"].includes(user_status_enum)) {
18232
18303
  phoneAndPasswordLogin(resultData, API, LoginMethodEnum.PASSWORD);
18233
18304
  }
18234
18305
  } else {
@@ -18241,6 +18312,53 @@ const createLoginConfig = (request) => {
18241
18312
  });
18242
18313
  }
18243
18314
  },
18315
+ // 未绑定手机号的账号,进行手机号码绑定操作
18316
+ async bindPhone({ param, loginParams, graphValidate, yunpianGraphValidate }) {
18317
+ var _a, _b;
18318
+ const { successFunc = () => {
18319
+ }, failFunc = () => {
18320
+ } } = param;
18321
+ const result2 = await API.toBindPhone(loginParams);
18322
+ if ([GRAPH_CODE, GRAPH_CODE_01].includes((_a = result2 == null ? void 0 : result2.error) == null ? void 0 : _a.error_code)) {
18323
+ graphValidate();
18324
+ return;
18325
+ }
18326
+ if (((_b = result2 == null ? void 0 : result2.error) == null ? void 0 : _b.error_code) === YUNPIAN_GRAPH_CODE) {
18327
+ yunpianGraphValidate();
18328
+ return;
18329
+ }
18330
+ if (!result2.error) {
18331
+ const resultData = result2.data.data;
18332
+ const { mask, username, user_status_enum } = resultData;
18333
+ if (username && user_status_enum === "EMPTY_MOBILE") {
18334
+ failFunc({ isConflict: true, errorMessage: "手机号被占用", mask, occupiedUsername: username });
18335
+ return;
18336
+ }
18337
+ await successFunc(resultData);
18338
+ if (!["MFA_CHECK"].includes(user_status_enum)) {
18339
+ phoneAndPasswordLogin(resultData, API, LoginMethodEnum.PASSWORD);
18340
+ }
18341
+ } else {
18342
+ failFunc({ errorMessage: result2.error.error_message });
18343
+ }
18344
+ },
18345
+ // 手机号码绑定冲突,用户选择更换绑定账号
18346
+ async changeBindAccount({ param, loginParams }) {
18347
+ const { successFunc = () => {
18348
+ }, failFunc = () => {
18349
+ } } = param;
18350
+ const result2 = await API.toChangeBindAccount(loginParams);
18351
+ if (!result2.error) {
18352
+ const resultData = result2.data.data;
18353
+ const { user_status_enum } = resultData;
18354
+ await successFunc(resultData);
18355
+ if (!["MFA_CHECK"].includes(user_status_enum)) {
18356
+ phoneAndPasswordLogin(resultData, API, LoginMethodEnum.PASSWORD);
18357
+ }
18358
+ } else {
18359
+ failFunc(result2.error.error_message);
18360
+ }
18361
+ },
18244
18362
  // 小程序登录 - 获取二维码
18245
18363
  async miniProgramGetQrCode() {
18246
18364
  return await API.createMiniProgramQRCode({ platform: "wechat_mini_program" });
@@ -19245,7 +19363,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
19245
19363
  size: __props.size,
19246
19364
  "label-size": __props.labelSize,
19247
19365
  "label-align": __props.labelAlign,
19248
- class: "GForm",
19366
+ class: "g-form",
19249
19367
  onInput: handleFormInput,
19250
19368
  requirePosition: "right"
19251
19369
  }, {
@@ -22300,7 +22418,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
22300
22418
  }
22301
22419
  });
22302
22420
  const MFA = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-vue-layout-gitcode"]]);
22303
- const SlidCaptcha = defineAsyncComponent(() => import("./index-DggwUU6A.js"));
22421
+ const SlidCaptcha = defineAsyncComponent(() => import("./index-BLgmBPib.js"));
22304
22422
  const useSlidCaptcha = () => {
22305
22423
  const { mount, unMount } = usePopup("slid-captcha-popup");
22306
22424
  const open = (config) => {
@@ -22319,7 +22437,7 @@ const useSlidCaptcha = () => {
22319
22437
  close: unMount
22320
22438
  };
22321
22439
  };
22322
- const YunpianCaptcha = defineAsyncComponent(() => import("./index-D-LdfOtQ.js"));
22440
+ const YunpianCaptcha = defineAsyncComponent(() => import("./index-1fY58FBB.js"));
22323
22441
  const useYunpianCaptcha = () => {
22324
22442
  const { mount, unMount } = usePopup("yunpian-captcha-popup");
22325
22443
  const open = (config) => {
@@ -22449,7 +22567,10 @@ function useVisibilityPoll(pollFunction, options = {}, shouldPoll) {
22449
22567
  stopPoll
22450
22568
  };
22451
22569
  }
22452
- const _hoisted_1$1 = { class: "flex items-center gap-1 h-[48px]" };
22570
+ const _hoisted_1$1 = {
22571
+ key: 0,
22572
+ class: "flex items-center gap-1 h-[48px]"
22573
+ };
22453
22574
  const _hoisted_2 = { class: "devui-icon__container devui-icon--operable devui-icon--no-slots self-start min-w-[34px] mt-[-6px]" };
22454
22575
  const _hoisted_3 = {
22455
22576
  key: 1,
@@ -22485,45 +22606,70 @@ const _hoisted_21 = { key: 2 };
22485
22606
  const _hoisted_22 = { class: "flex items-center justify-between" };
22486
22607
  const _hoisted_23 = { class: "text-[var(--devui-text-weak)] font-bold text-[16px]" };
22487
22608
  const _hoisted_24 = { class: "text-[12px] leading-[32px]" };
22488
- const _hoisted_25 = { class: "qrcode-container flex flex-col items-center justify-center" };
22489
- const _hoisted_26 = { class: "flex flex-col items-center justify-center w-[180px] h-[180px] relative" };
22490
- const _hoisted_27 = ["src"];
22491
- const _hoisted_28 = {
22609
+ const _hoisted_25 = { key: 3 };
22610
+ const _hoisted_26 = { class: "flex items-center justify-between" };
22611
+ const _hoisted_27 = { class: "text-[var(--devui-text-weak)] font-bold text-[16px]" };
22612
+ const _hoisted_28 = { class: "text-[12px] leading-[32px]" };
22613
+ const _hoisted_29 = { class: "bind-phone-tip" };
22614
+ const _hoisted_30 = { key: 4 };
22615
+ const _hoisted_31 = { class: "flex items-center justify-between mb-3" };
22616
+ const _hoisted_32 = { class: "text-[var(--devui-text-weak)] font-bold text-[16px]" };
22617
+ const _hoisted_33 = { class: "text-[12px] leading-[32px]" };
22618
+ const _hoisted_34 = { class: "bg-[var(--theme-table-header-bg)] p-[16px] border-[var(--theme-line-border)] border rounded" };
22619
+ const _hoisted_35 = { class: "font-bold" };
22620
+ const _hoisted_36 = { class: "my-1" };
22621
+ const _hoisted_37 = ["href"];
22622
+ const _hoisted_38 = { class: "py-4 px-1" };
22623
+ const _hoisted_39 = { class: "font-bold mb-2" };
22624
+ const _hoisted_40 = { class: "list-disc list-outside pl-5" };
22625
+ const _hoisted_41 = { class: "mt-1 mb-2 text-[var(--theme-placeholder)]" };
22626
+ const _hoisted_42 = { class: "mt-1 mb-2 text-[var(--theme-placeholder)]" };
22627
+ const _hoisted_43 = { class: "text-[var(--theme-warning)]" };
22628
+ const _hoisted_44 = { class: "font-bold mb-2" };
22629
+ const _hoisted_45 = { class: "my-[24px] flex justify-between" };
22630
+ const _hoisted_46 = { class: "qrcode-container flex flex-col items-center justify-center" };
22631
+ const _hoisted_47 = { class: "flex flex-col items-center justify-center w-[180px] h-[180px] relative" };
22632
+ const _hoisted_48 = ["src"];
22633
+ const _hoisted_49 = {
22492
22634
  key: 0,
22493
22635
  class: "mask"
22494
22636
  };
22495
- const _hoisted_29 = { class: "flex gap-1 items-center justify-center text-[16px] flex-wrap font-medium" };
22496
- const _hoisted_30 = { class: "text-[#252B3A]" };
22497
- const _hoisted_31 = { class: "text-[var(--theme-link)]" };
22498
- const _hoisted_32 = {
22637
+ const _hoisted_50 = { class: "flex gap-1 items-center justify-center text-[16px] flex-wrap font-medium" };
22638
+ const _hoisted_51 = { class: "text-[#252B3A]" };
22639
+ const _hoisted_52 = { class: "text-[var(--theme-link)]" };
22640
+ const _hoisted_53 = {
22499
22641
  key: 1,
22500
22642
  class: "flex flex-col gap-3 items-center justify-center"
22501
22643
  };
22502
- const _hoisted_33 = { class: "text-[var(--color-success)]" };
22503
- const _hoisted_34 = { class: "text-center" };
22504
- const _hoisted_35 = {
22644
+ const _hoisted_54 = { class: "text-[var(--color-success)]" };
22645
+ const _hoisted_55 = { class: "text-center" };
22646
+ const _hoisted_56 = {
22505
22647
  key: 0,
22506
22648
  class: "text-center text-[16px] mt-[40px] text-[var(--devui-text-weak)] font-bold"
22507
22649
  };
22508
- const _hoisted_36 = {
22650
+ const _hoisted_57 = {
22509
22651
  key: 0,
22510
22652
  class: "login-modal-info h-[20px]"
22511
22653
  };
22512
- const _hoisted_37 = { class: "login-modal-info-left" };
22513
- const _hoisted_38 = {
22654
+ const _hoisted_58 = { class: "login-modal-info-left" };
22655
+ const _hoisted_59 = {
22514
22656
  key: 0,
22515
22657
  class: "mt-[18px]"
22516
22658
  };
22517
- const _hoisted_39 = { class: "flex justify-center" };
22518
- const _hoisted_40 = { class: "flex items-center justify-center pr-[16px] mt-[16px]" };
22519
- const _hoisted_41 = { class: "harmony-icon" };
22520
- const _hoisted_42 = { class: "w-[50px] h-[20px] last-login-img" };
22521
- const _hoisted_43 = ["src"];
22522
- const _hoisted_44 = { class: "ml-[8px] text-[12px]" };
22523
- const _hoisted_45 = { class: "login-modal-footer flex items-center justify-center" };
22524
- const _hoisted_46 = { key: 2 };
22525
- const _hoisted_47 = { class: "line-clamp-2" };
22526
- const _hoisted_48 = { class: "absolute-btn" };
22659
+ const _hoisted_60 = { class: "flex justify-center" };
22660
+ const _hoisted_61 = { class: "flex items-center justify-center pr-[16px] mt-[16px]" };
22661
+ const _hoisted_62 = { class: "harmony-icon" };
22662
+ const _hoisted_63 = { class: "w-[50px] h-[20px] last-login-img" };
22663
+ const _hoisted_64 = ["src"];
22664
+ const _hoisted_65 = { class: "ml-[8px] text-[12px]" };
22665
+ const _hoisted_66 = { class: "login-modal-footer flex items-center justify-center" };
22666
+ const _hoisted_67 = { key: 2 };
22667
+ const _hoisted_68 = { class: "line-clamp-2" };
22668
+ const _hoisted_69 = { class: "absolute-btn" };
22669
+ const _hoisted_70 = { key: 3 };
22670
+ const _hoisted_71 = { class: "text-[var(--devui-danger)] text-[14px] break-all box-border leading-[20px] h-[40px] mt-[-8px]" };
22671
+ const _hoisted_72 = { class: "line-clamp-2" };
22672
+ const _hoisted_73 = { class: "absolute-btn" };
22527
22673
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
22528
22674
  ...{
22529
22675
  name: "GLoginModal"
@@ -22559,7 +22705,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
22559
22705
  const request = props.request;
22560
22706
  provide("request", request);
22561
22707
  const API = headRequest(request);
22562
- const LoginConfig = createLoginConfig(request, props.loginSuccess);
22708
+ const LoginConfig = createLoginConfig(request);
22563
22709
  const FormRules = getFormRules();
22564
22710
  const { t: $t } = i18n.global;
22565
22711
  const msgError = ref(false);
@@ -22598,6 +22744,12 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
22598
22744
  user_id: "",
22599
22745
  mask: ""
22600
22746
  });
22747
+ const resetCacheForm = () => {
22748
+ cacheForm.mobile = "";
22749
+ cacheForm.verificationcode = "";
22750
+ cacheForm.countdownSecond = 59;
22751
+ cacheForm.country = DEFAULT_COUNTRY;
22752
+ };
22601
22753
  let timer = null;
22602
22754
  let interval = null;
22603
22755
  const logos = reactive([
@@ -22836,6 +22988,38 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
22836
22988
  }
22837
22989
  // ...VerifyPassword
22838
22990
  ]);
22991
+ const BindPhoneForm = reactive([
22992
+ {
22993
+ type: "inputSelect",
22994
+ key: "mobile",
22995
+ label: $t("gitCodeLayout.LoginModal.subtitle.phone"),
22996
+ required: true,
22997
+ rules: [
22998
+ {
22999
+ message: $t("gitCodeLayout.LoginModal.tips.fillNecessaryInfo"),
23000
+ trigger: "change",
23001
+ validator: (rule, value, cb) => {
23002
+ var _a;
23003
+ const { country } = ((_a = FormRef.value) == null ? void 0 : _a.Data) || {};
23004
+ return mobilePhoneValidator(rule, value, cb, country);
23005
+ }
23006
+ }
23007
+ ]
23008
+ },
23009
+ {
23010
+ type: "inputButton",
23011
+ key: "verificationcode",
23012
+ label: $t("gitCodeLayout.LoginModal.action.phone"),
23013
+ required: true,
23014
+ rules: FormRules.codes,
23015
+ props: {
23016
+ autocomplete: true,
23017
+ countdown: false,
23018
+ second: 59,
23019
+ aliasKey: "mobile"
23020
+ }
23021
+ }
23022
+ ]);
22839
23023
  const ForgetPasswordForm = reactive([
22840
23024
  {
22841
23025
  type: "input",
@@ -22892,6 +23076,21 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
22892
23076
  showBack: false
22893
23077
  };
22894
23078
  }
23079
+ if (formType.value === "bindPhone") {
23080
+ return {
23081
+ dict: BindPhoneForm.map((item) => {
23082
+ return {
23083
+ ...item,
23084
+ defaultValue: item.key === "mobile" ? cacheForm.mobile : item.key === "verificationcode" ? cacheForm.verificationcode : "",
23085
+ editableSelect: false
23086
+ };
23087
+ }),
23088
+ showLabel: true,
23089
+ layout: "horizontal",
23090
+ showTitle: false,
23091
+ showBack: false
23092
+ };
23093
+ }
22895
23094
  if (formType.value === "forget") {
22896
23095
  return {
22897
23096
  dict: ForgetPasswordForm,
@@ -22933,6 +23132,15 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
22933
23132
  };
22934
23133
  }
22935
23134
  });
23135
+ const formCellClass = computed(() => {
23136
+ if (formType.value === "register") {
23137
+ return "login-form-register-cell";
23138
+ }
23139
+ if (formType.value === "bindPhone") {
23140
+ return "login-form-bindphone-cell";
23141
+ }
23142
+ return "login-form-common-cell";
23143
+ });
22936
23144
  const catchFormErrors = (conf) => {
22937
23145
  const { errors } = conf;
22938
23146
  for (const key in errors) {
@@ -22966,7 +23174,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
22966
23174
  emits("directClose");
22967
23175
  return;
22968
23176
  }
22969
- dealLog($t("gitCodeLayout.LoginModal.tips.updatePassword"), "success", "login");
23177
+ handleLoginFeedback($t("gitCodeLayout.LoginModal.tips.updatePassword"), "success", "login");
22970
23178
  } else {
22971
23179
  extraErrors.requestInfo = result2.error.error_message;
22972
23180
  }
@@ -23049,16 +23257,37 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23049
23257
  }
23050
23258
  };
23051
23259
  const loginSuccess = (data, inputMobile) => {
23260
+ bindOperateLoading.value = false;
23261
+ if (!data || typeof data !== "object") {
23262
+ extraErrors.requestInfo = "登录数据无效";
23263
+ return;
23264
+ }
23052
23265
  const { user_id, mask, mobile, user_status_enum } = data;
23266
+ cacheForm.mobile = mobile || inputMobile || "";
23267
+ cacheForm.user_id = user_id ?? "";
23268
+ cacheForm.mask = mask ?? "";
23053
23269
  extraErrors.requestInfo = "";
23054
- cacheForm.mobile = mobile || inputMobile;
23055
- cacheForm.user_id = user_id;
23056
- cacheForm.mask = mask;
23057
23270
  mfaCheck.value = user_status_enum === "MFA_CHECK";
23271
+ if (user_status_enum === "EMPTY_MOBILE") {
23272
+ formType.value = "bindPhone";
23273
+ }
23058
23274
  };
23059
23275
  const loginFail = (errorMessage) => {
23060
23276
  extraErrors.requestInfo = errorMessage;
23061
23277
  };
23278
+ const bindPhoneConflictMask = ref("");
23279
+ const bindPhoneFail = ({ isConflict, errorMessage, mask = "", occupiedUsername = "" }) => {
23280
+ extraErrors.requestInfo = errorMessage;
23281
+ if (isConflict) {
23282
+ if (FormRef.value) {
23283
+ FormRef.value.ClearForm();
23284
+ clearFormError();
23285
+ }
23286
+ formType.value = "bindPhoneConflict";
23287
+ bindPhoneConflictMask.value = mask;
23288
+ oldUsername.value = occupiedUsername;
23289
+ }
23290
+ };
23062
23291
  const graphValidate = () => {
23063
23292
  loading.value = false;
23064
23293
  slidCaptcha.open({ onSuccess: (captchaData) => handleConfirm({ captchaId: captchaData.id }) });
@@ -23094,40 +23323,83 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23094
23323
  const res = formData.forms;
23095
23324
  const { country } = ((_b = FormRef.value) == null ? void 0 : _b.Data) || {};
23096
23325
  const mobile = getPhone({ value: res.mobile, country });
23097
- if (formType.value === "forget") {
23098
- handleResetPassword();
23099
- return;
23100
- } else if (formType.value === "register") {
23101
- const check = await LoginCheck();
23102
- if (!check) return;
23103
- await registerAction(res, mobile);
23104
- } else {
23105
- if (tabPanel.value === "password") {
23106
- const passwordParams = {
23107
- type: "password",
23108
- ...res,
23109
- captchaId: info == null ? void 0 : info.captchaId,
23110
- token: info == null ? void 0 : info.token,
23111
- authenticate: info == null ? void 0 : info.authenticate
23112
- };
23113
- await LoginConfig.password({
23114
- param: { validFunc: LoginCheck, successFunc: loginSuccess, failFunc: loginFail, loginDeviceType: "pc", country },
23115
- loginParams: passwordParams,
23326
+ switch (formType.value) {
23327
+ case "forget":
23328
+ handleResetPassword();
23329
+ return;
23330
+ case "register": {
23331
+ const check = await LoginCheck();
23332
+ if (!check) return;
23333
+ await registerAction(res, mobile);
23334
+ break;
23335
+ }
23336
+ case "bindPhone": {
23337
+ currentPhoneCountry.value = country || "+86";
23338
+ userPhone.value = mobile;
23339
+ await LoginConfig.bindPhone({
23340
+ param: {
23341
+ successFunc: loginSuccess,
23342
+ failFunc: bindPhoneFail,
23343
+ loginDeviceType: "pc",
23344
+ country
23345
+ },
23346
+ loginParams: {
23347
+ mobile,
23348
+ verification_code: res.verificationcode,
23349
+ mask: cacheForm.mask
23350
+ },
23116
23351
  graphValidate,
23117
- lintRemoteLogin: handleRemoteLogin,
23118
23352
  yunpianGraphValidate
23119
23353
  });
23120
- } else {
23121
- const phoneParams = {
23122
- type: "verifyCode",
23123
- mobile,
23124
- code: res.code,
23125
- country: country || ""
23126
- };
23127
- await LoginConfig.phone({
23128
- param: { validFunc: LoginCheck, successFunc: loginSuccess, failFunc: loginFail, loginDeviceType: "pc", country },
23129
- loginParams: phoneParams
23130
- });
23354
+ break;
23355
+ }
23356
+ default: {
23357
+ switch (tabPanel.value) {
23358
+ case "password": {
23359
+ const passwordParams = {
23360
+ type: "password",
23361
+ ...res,
23362
+ captchaId: info == null ? void 0 : info.captchaId,
23363
+ token: info == null ? void 0 : info.token,
23364
+ authenticate: info == null ? void 0 : info.authenticate
23365
+ };
23366
+ newUsername.value = (res == null ? void 0 : res.username) || "";
23367
+ await LoginConfig.password({
23368
+ param: {
23369
+ validFunc: LoginCheck,
23370
+ successFunc: loginSuccess,
23371
+ failFunc: loginFail,
23372
+ loginDeviceType: "pc",
23373
+ country
23374
+ },
23375
+ loginParams: passwordParams,
23376
+ graphValidate,
23377
+ lintRemoteLogin: handleRemoteLogin,
23378
+ yunpianGraphValidate
23379
+ });
23380
+ break;
23381
+ }
23382
+ default: {
23383
+ const phoneParams = {
23384
+ type: "verifyCode",
23385
+ mobile,
23386
+ code: res.code,
23387
+ country: country || ""
23388
+ };
23389
+ await LoginConfig.phone({
23390
+ param: {
23391
+ validFunc: LoginCheck,
23392
+ successFunc: loginSuccess,
23393
+ failFunc: loginFail,
23394
+ loginDeviceType: "pc",
23395
+ country
23396
+ },
23397
+ loginParams: phoneParams
23398
+ });
23399
+ break;
23400
+ }
23401
+ }
23402
+ break;
23131
23403
  }
23132
23404
  }
23133
23405
  setTimeout(() => {
@@ -23202,6 +23474,16 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23202
23474
  res = await API.getMobileEmailCode(requestData);
23203
23475
  break;
23204
23476
  }
23477
+ case "bindPhone": {
23478
+ res = await API.verifyRegisterCode({
23479
+ mobile,
23480
+ type: "BINDING_MOBILE",
23481
+ captchaId: conf == null ? void 0 : conf.captchaId,
23482
+ token: conf == null ? void 0 : conf.token,
23483
+ authenticate: conf == null ? void 0 : conf.authenticate
23484
+ });
23485
+ break;
23486
+ }
23205
23487
  default: {
23206
23488
  res = await API.verifyRegisterCode({
23207
23489
  mobile,
@@ -23216,7 +23498,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23216
23498
  return res;
23217
23499
  };
23218
23500
  const handleCountDown = async (conf) => {
23219
- var _a, _b, _c, _d, _e;
23501
+ var _a, _b, _c;
23220
23502
  const formData = await FormRef.value.ValidateFormKeys([conf.key]);
23221
23503
  const mobile = getPhone(conf);
23222
23504
  if (formData.type === "success") {
@@ -23290,45 +23572,17 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23290
23572
  return;
23291
23573
  }
23292
23574
  }
23293
- if (tabPanel.value === "verifyCode" || formType.value === "register" || formType.value === "forget") {
23294
- const res = await handleCountDownSubmission(conf, mobile);
23295
- if (formType.value === "login") {
23296
- if ([GRAPH_CODE, GRAPH_CODE_01].includes((_b = res == null ? void 0 : res.error) == null ? void 0 : _b.error_code)) {
23297
- captchaMode = "tianai";
23298
- slidCaptcha.open({ onSuccess: (captchaData) => handleCountDown({ ...conf, captchaId: captchaData.id, smsReported: true }) });
23299
- return;
23300
- }
23301
- if (((_c = res == null ? void 0 : res.error) == null ? void 0 : _c.error_code) === YUNPIAN_GRAPH_CODE) {
23302
- captchaMode = "yunpian";
23303
- yunpianCaptcha.open({
23304
- onSuccess: (captchaData) => handleCountDown({
23305
- ...conf,
23306
- token: captchaData == null ? void 0 : captchaData.token,
23307
- authenticate: captchaData == null ? void 0 : captchaData.authenticate,
23308
- captchaId: captchaData == null ? void 0 : captchaData.captchaId,
23309
- smsReported: true
23310
- }),
23311
- onFallback: (originalOnSuccess) => {
23312
- captchaMode = "tianai";
23313
- slidCaptcha.open({
23314
- onSuccess: (captchaData) => originalOnSuccess == null ? void 0 : originalOnSuccess({
23315
- captchaId: captchaData.id
23316
- })
23317
- });
23318
- }
23319
- });
23320
- return;
23321
- }
23322
- }
23323
- if (formType.value === "register") {
23324
- if ([GRAPH_CODE, GRAPH_CODE_01].includes((_d = res == null ? void 0 : res.error) == null ? void 0 : _d.error_code)) {
23575
+ if (tabPanel.value === "verifyCode" || ["register", "forget", "bindPhone"].includes(formType.value)) {
23576
+ const verifyCodeRes = await handleCountDownSubmission(conf, mobile);
23577
+ if (["login", "register", "bindPhone"].includes(formType.value)) {
23578
+ if ([GRAPH_CODE, GRAPH_CODE_01].includes((_b = verifyCodeRes == null ? void 0 : verifyCodeRes.error) == null ? void 0 : _b.error_code)) {
23325
23579
  captchaMode = "tianai";
23326
23580
  slidCaptcha.open({
23327
23581
  onSuccess: (captchaData) => handleCountDown({ ...conf, captchaId: captchaData.id, smsReported: true })
23328
23582
  });
23329
23583
  return;
23330
23584
  }
23331
- if (((_e = res == null ? void 0 : res.error) == null ? void 0 : _e.error_code) === YUNPIAN_GRAPH_CODE) {
23585
+ if (((_c = verifyCodeRes == null ? void 0 : verifyCodeRes.error) == null ? void 0 : _c.error_code) === YUNPIAN_GRAPH_CODE) {
23332
23586
  captchaMode = "yunpian";
23333
23587
  yunpianCaptcha.open({
23334
23588
  onSuccess: (captchaData) => handleCountDown({
@@ -23347,9 +23601,10 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23347
23601
  });
23348
23602
  }
23349
23603
  });
23604
+ return;
23350
23605
  }
23351
23606
  }
23352
- if (!res.error) {
23607
+ if (!(verifyCodeRes == null ? void 0 : verifyCodeRes.error)) {
23353
23608
  cacheForm.mobile = conf.value;
23354
23609
  cacheForm.country = conf.country || "";
23355
23610
  localStorage$2.setItem(
@@ -23359,19 +23614,28 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23359
23614
  country: conf.country || ""
23360
23615
  })
23361
23616
  );
23362
- if (Number((res == null ? void 0 : res.data.data.type) === 1)) {
23617
+ if (Number((verifyCodeRes == null ? void 0 : verifyCodeRes.data.data.type) === 1)) {
23363
23618
  formType.value = "register";
23364
23619
  isRegister.value = true;
23365
- dealLog($t("gitCodeLayout.LoginModal.tips.gotoTipsAtNophone"), "success", "register");
23620
+ handleLoginFeedback($t("gitCodeLayout.LoginModal.tips.gotoTipsAtNophone"), "success", "register");
23366
23621
  } else {
23367
23622
  isRegister.value = false;
23368
23623
  const message = isMobileEmail(conf.value);
23369
- dealLog(
23624
+ handleLoginFeedback(
23370
23625
  `${$t("gitCodeLayout.LoginModal.tips.codeSentToYou")}${message}, ${$t("gitCodeLayout.LoginModal.tips.pleaseCheck")}`,
23371
23626
  "success"
23372
23627
  );
23373
23628
  }
23374
- const source = formType.value === "register" ? RegisterForm : formType.value === "forget" ? ForgetPasswordForm : VerifyForm;
23629
+ let source;
23630
+ if (formType.value === "register") {
23631
+ source = RegisterForm;
23632
+ } else if (formType.value === "forget") {
23633
+ source = ForgetPasswordForm;
23634
+ } else if (formType.value === "bindPhone") {
23635
+ source = BindPhoneForm;
23636
+ } else {
23637
+ source = VerifyForm;
23638
+ }
23375
23639
  source.forEach((item) => {
23376
23640
  if (item.key === conf.sourceKey || formType.value === "register" && item.key === "verificationcode") {
23377
23641
  if (item.props) {
@@ -23386,7 +23650,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23386
23650
  setFormErrorKey(formData);
23387
23651
  }
23388
23652
  };
23389
- const dealLog = (msg, type, status2 = "") => {
23653
+ const handleLoginFeedback = (msg, type, status2 = "") => {
23390
23654
  Message({
23391
23655
  message: msg,
23392
23656
  duration: 3e3,
@@ -23422,7 +23686,16 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23422
23686
  }
23423
23687
  };
23424
23688
  const refreshCountDown = (tab, menu) => {
23425
- const source = menu === "register" ? RegisterForm : formType.value === "forget" ? ForgetPasswordForm : tab === "verifyCode" ? VerifyForm : null;
23689
+ let source = null;
23690
+ if (menu === "register") {
23691
+ source = RegisterForm;
23692
+ } else if (formType.value === "forget") {
23693
+ source = ForgetPasswordForm;
23694
+ } else if (menu === "bindPhone") {
23695
+ source = BindPhoneForm;
23696
+ } else if (tab === "verifyCode") {
23697
+ source = VerifyForm;
23698
+ }
23426
23699
  if (source) {
23427
23700
  const countdown = source.find((item) => item.props);
23428
23701
  if ((countdown == null ? void 0 : countdown.props) && Object.prototype.hasOwnProperty.call(countdown.props, "countdown")) {
@@ -23490,6 +23763,44 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23490
23763
  }
23491
23764
  }
23492
23765
  };
23766
+ const currentPhoneCountry = ref("+86");
23767
+ const userPhone = ref("18630942836");
23768
+ const currentPhoneMask = computed(() => {
23769
+ if (userPhone.value.length === 11) {
23770
+ return userPhone.value.slice(0, 3) + "****" + userPhone.value.slice(7);
23771
+ }
23772
+ return userPhone.value;
23773
+ });
23774
+ const oldUsername = ref("");
23775
+ const newUsername = ref("");
23776
+ const currentUserHomePage = computed(() => {
23777
+ return `${layoutConfig2.VITE_HOST}/${oldUsername.value}`;
23778
+ });
23779
+ const bindOperateLoading = ref(false);
23780
+ const changeBindAccountFail = (errorMessage) => {
23781
+ bindOperateLoading.value = false;
23782
+ extraErrors.requestInfo = errorMessage;
23783
+ };
23784
+ const changeBindAndLogin = async () => {
23785
+ await LoginConfig.changeBindAccount({
23786
+ param: {
23787
+ successFunc: loginSuccess,
23788
+ failFunc: changeBindAccountFail,
23789
+ loginDeviceType: "pc"
23790
+ },
23791
+ loginParams: {
23792
+ mask: bindPhoneConflictMask.value
23793
+ }
23794
+ });
23795
+ };
23796
+ const backToChangeMobile = () => {
23797
+ if (bindOperateLoading.value) return;
23798
+ resetCacheForm();
23799
+ formType.value = "bindPhone";
23800
+ oldUsername.value = "";
23801
+ currentPhoneCountry.value = "+86";
23802
+ userPhone.value = "";
23803
+ };
23493
23804
  watch(
23494
23805
  () => [tabPanel.value, formType.value],
23495
23806
  (newVal, oldVal) => {
@@ -23640,6 +23951,12 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23640
23951
  stopPoll();
23641
23952
  return;
23642
23953
  }
23954
+ if (miniProgramCurrentStatus === "EMPTY_MOBILE") {
23955
+ stopPoll();
23956
+ formType.value = "bindPhone";
23957
+ tabPanel.value = "password";
23958
+ return;
23959
+ }
23643
23960
  if (miniProgramCurrentStatus !== "LOGIN") return;
23644
23961
  stopPoll();
23645
23962
  const loginResult = await LoginConfig.miniProgramLogin(miniProgramInfo.value.scene_id);
@@ -23688,6 +24005,9 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23688
24005
  getMiniProgramQrCode();
23689
24006
  return;
23690
24007
  }
24008
+ if (tabPanel.value !== "miniProgram") {
24009
+ return;
24010
+ }
23691
24011
  const { error, data } = await LoginConfig.miniProgramCheckStatus(miniProgramInfo.value.scene_id);
23692
24012
  if (!error) {
23693
24013
  const { status: status2 = "WAITING" } = (data == null ? void 0 : data.data) || {};
@@ -23695,6 +24015,11 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23695
24015
  miniProgramStatus.value = status2;
23696
24016
  return;
23697
24017
  }
24018
+ if (status2 === "EMPTY_MOBILE") {
24019
+ tabPanel.value = "password";
24020
+ formType.value = "bindPhone";
24021
+ return;
24022
+ }
23698
24023
  }
23699
24024
  shouldMiniProgramPoll.value = true;
23700
24025
  startPoll();
@@ -23725,7 +24050,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23725
24050
  return openBlock(), createElementBlock(Fragment, null, [
23726
24051
  createVNode(unref(Modal), {
23727
24052
  modelValue: unref(vModels),
23728
- "onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => isRef(vModels) ? vModels.value = $event : null),
24053
+ "onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => isRef(vModels) ? vModels.value = $event : null),
23729
24054
  "show-close": false,
23730
24055
  "lock-scroll": __props.lockScroll,
23731
24056
  draggable: __props.draggable,
@@ -23735,11 +24060,31 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23735
24060
  class: normalizeClass([
23736
24061
  "login-modal",
23737
24062
  formType.value === "login" ? "login-modal-l" : "login-modal-r",
23738
- formType.value === "register" ? "login-modal-register" : "",
24063
+ ["register", "bindPhone", "bindPhoneConflict"].includes(formType.value) ? "login-modal-register" : "",
23739
24064
  mfaCheck.value ? "login-modal-mfa" : ""
23740
24065
  ]),
23741
24066
  onClose: onModalClose
23742
- }, createSlots({
24067
+ }, {
24068
+ header: withCtx(() => [
24069
+ !mfaCheck.value ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
24070
+ createVNode(GTitle, {
24071
+ icon: unref(IconB),
24072
+ title: FormConfig.value.title,
24073
+ "show-title": FormConfig.value.showTitle,
24074
+ onBack: handleTitleBackClick,
24075
+ "show-back": FormConfig.value.showBack,
24076
+ class: "login-modal-title flex-1"
24077
+ }, null, 8, ["icon", "title", "show-title", "show-back"]),
24078
+ createElementVNode("div", _hoisted_2, [
24079
+ __props.showClose && !showProtoCheck.value ? (openBlock(), createBlock(GIcon, {
24080
+ key: 0,
24081
+ onClick: onClickModalClose,
24082
+ name: "gt-close",
24083
+ size: "18"
24084
+ })) : createCommentVNode("", true)
24085
+ ])
24086
+ ])) : createCommentVNode("", true)
24087
+ ]),
23743
24088
  default: withCtx(() => {
23744
24089
  var _a, _b;
23745
24090
  return [
@@ -23751,7 +24096,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23751
24096
  onFail: handleMFALoginFail,
23752
24097
  mask: cacheForm.mask
23753
24098
  }, null, 8, ["API", "mask"])) : (openBlock(), createElementBlock("div", _hoisted_3, [
23754
- formType.value === "register" || formType.value === "login" ? (openBlock(), createElementBlock("div", _hoisted_4, [
24099
+ ["register", "login", "bindPhone", "bindPhoneConflict"].includes(formType.value) ? (openBlock(), createElementBlock("div", _hoisted_4, [
23755
24100
  createElementVNode("div", _hoisted_5, [
23756
24101
  createElementVNode("img", {
23757
24102
  src: isAIHub.value ? AiLogoType[unref(currentTheme)] : logoType[unref(currentTheme)],
@@ -23845,28 +24190,116 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23845
24190
  ])
23846
24191
  ])
23847
24192
  ])) : createCommentVNode("", true),
24193
+ formType.value === "bindPhone" ? (openBlock(), createElementBlock("div", _hoisted_25, [
24194
+ createElementVNode("div", _hoisted_26, [
24195
+ createElementVNode("div", _hoisted_27, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhone.text01")), 1),
24196
+ createElementVNode("div", _hoisted_28, [
24197
+ createElementVNode("span", {
24198
+ onClick: _cache[4] || (_cache[4] = ($event) => handleTitleBackClick("bindPhone")),
24199
+ class: "text-[var(--theme-link)] cursor-pointer hover:underline"
24200
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.backLogin")), 1)
24201
+ ])
24202
+ ]),
24203
+ createElementVNode("p", _hoisted_29, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhone.text02", { siteName: unref(currentSiteName)() })), 1)
24204
+ ])) : createCommentVNode("", true),
24205
+ formType.value === "bindPhoneConflict" ? (openBlock(), createElementBlock("div", _hoisted_30, [
24206
+ createElementVNode("div", _hoisted_31, [
24207
+ createElementVNode("div", _hoisted_32, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhoneConflict.text01")), 1),
24208
+ createElementVNode("div", _hoisted_33, [
24209
+ createElementVNode("span", {
24210
+ onClick: _cache[5] || (_cache[5] = ($event) => handleTitleBackClick("bindPhoneConflict")),
24211
+ class: "text-[var(--theme-link)] cursor-pointer hover:underline"
24212
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.backLogin")), 1)
24213
+ ])
24214
+ ]),
24215
+ createElementVNode("div", _hoisted_34, [
24216
+ createElementVNode("p", _hoisted_35, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhoneConflict.text02", {
24217
+ country: currentPhoneCountry.value,
24218
+ mobile: currentPhoneMask.value
24219
+ })), 1),
24220
+ createElementVNode("p", _hoisted_36, [
24221
+ createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhoneConflict.text03")) + " 「" + toDisplayString$1(oldUsername.value) + "」 ", 1),
24222
+ createElementVNode("a", {
24223
+ href: currentUserHomePage.value,
24224
+ target: "_blank",
24225
+ class: "text-[var(--theme-link)]"
24226
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhoneConflict.text04")), 9, _hoisted_37)
24227
+ ]),
24228
+ createElementVNode("p", null, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhoneConflict.text05")) + " 「" + toDisplayString$1(newUsername.value) + "」", 1)
24229
+ ]),
24230
+ createElementVNode("div", _hoisted_38, [
24231
+ createElementVNode("p", _hoisted_39, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhoneConflict.text06")), 1),
24232
+ createElementVNode("ul", _hoisted_40, [
24233
+ createElementVNode("li", null, [
24234
+ createElementVNode("p", null, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhoneConflict.text08")), 1),
24235
+ createElementVNode("p", _hoisted_41, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhoneConflict.text10", { newUsername: newUsername.value })), 1)
24236
+ ]),
24237
+ createElementVNode("li", null, [
24238
+ createElementVNode("p", null, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhoneConflict.text07")), 1),
24239
+ createElementVNode("p", _hoisted_42, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhoneConflict.text09", { oldUsername: oldUsername.value, newUsername: newUsername.value })), 1)
24240
+ ])
24241
+ ])
24242
+ ]),
24243
+ createElementVNode("div", _hoisted_43, [
24244
+ createElementVNode("p", _hoisted_44, [
24245
+ createVNode(GIcon, {
24246
+ name: "gt-plane-warningTriangle-orange",
24247
+ class: "mr-1"
24248
+ }),
24249
+ createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhoneConflict.text11")), 1)
24250
+ ]),
24251
+ createElementVNode("p", null, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhoneConflict.text12", { oldUsername: oldUsername.value })), 1)
24252
+ ]),
24253
+ createElementVNode("div", _hoisted_45, [
24254
+ createVNode(unref(Button), {
24255
+ class: "w-[48%]",
24256
+ loading: bindOperateLoading.value,
24257
+ color: "secondary",
24258
+ size: "lg",
24259
+ onClick: changeBindAndLogin
24260
+ }, {
24261
+ default: withCtx(() => [
24262
+ createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhoneConflict.text07")), 1)
24263
+ ]),
24264
+ _: 1
24265
+ }, 8, ["loading"]),
24266
+ createVNode(unref(Button), {
24267
+ class: "w-[48%]",
24268
+ loading: bindOperateLoading.value,
24269
+ size: "lg",
24270
+ variant: "solid",
24271
+ color: "primary",
24272
+ onClick: backToChangeMobile
24273
+ }, {
24274
+ default: withCtx(() => [
24275
+ createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhoneConflict.text08")), 1)
24276
+ ]),
24277
+ _: 1
24278
+ }, 8, ["loading"])
24279
+ ])
24280
+ ])) : createCommentVNode("", true),
23848
24281
  formType.value === "login" && tabPanel.value === "miniProgram" ? (openBlock(), createBlock(DataPanel, {
23849
- key: 3,
24282
+ key: 5,
23850
24283
  loading: miniProgramLoading.value,
23851
24284
  empty: false,
23852
24285
  card: false,
23853
24286
  class: "mini-program-qrcode",
23854
24287
  border: false,
23855
24288
  animation: true,
23856
- onError: _cache[4] || (_cache[4] = (error) => {
24289
+ onError: _cache[6] || (_cache[6] = (error) => {
23857
24290
  console.error("小程序二维码加载失败:", error);
23858
24291
  unref($t) && unref(Message).error(unref($t)("gitCodeLayout.LoginModal.miniProgram.qrCodeError") || "二维码加载失败");
23859
24292
  })
23860
24293
  }, {
23861
24294
  default: withCtx(() => [
23862
- createElementVNode("div", _hoisted_25, [
23863
- createElementVNode("div", _hoisted_26, [
24295
+ createElementVNode("div", _hoisted_46, [
24296
+ createElementVNode("div", _hoisted_47, [
23864
24297
  createElementVNode("img", {
23865
24298
  src: miniProgramInfo.value.qrcode,
23866
24299
  alt: "小程序二维码",
23867
24300
  class: "w-[180px] h-[180px]"
23868
- }, null, 8, _hoisted_27),
23869
- miniProgramStatus.value !== "WAITING" ? (openBlock(), createElementBlock("div", _hoisted_28, [
24301
+ }, null, 8, _hoisted_48),
24302
+ miniProgramStatus.value !== "WAITING" ? (openBlock(), createElementBlock("div", _hoisted_49, [
23870
24303
  miniProgramStatus.value === "TIMEOUT" ? (openBlock(), createElementBlock("div", {
23871
24304
  key: 0,
23872
24305
  onClick: getMiniProgramQrCode,
@@ -23877,18 +24310,18 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23877
24310
  size: "18",
23878
24311
  color: "#3B3E55"
23879
24312
  }),
23880
- createElementVNode("div", _hoisted_29, [
23881
- createElementVNode("div", _hoisted_30, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip01")), 1),
23882
- createElementVNode("button", _hoisted_31, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip02")), 1)
24313
+ createElementVNode("div", _hoisted_50, [
24314
+ createElementVNode("div", _hoisted_51, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip01")), 1),
24315
+ createElementVNode("button", _hoisted_52, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip02")), 1)
23883
24316
  ])
23884
24317
  ])) : createCommentVNode("", true),
23885
- ["SCAN", "CANCEL", "LOGIN"].includes(miniProgramStatus.value) ? (openBlock(), createElementBlock("div", _hoisted_32, [
23886
- createElementVNode("div", _hoisted_33, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip03")), 1),
23887
- createElementVNode("div", _hoisted_34, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip04")), 1)
24318
+ ["SCAN", "CANCEL", "LOGIN"].includes(miniProgramStatus.value) ? (openBlock(), createElementBlock("div", _hoisted_53, [
24319
+ createElementVNode("div", _hoisted_54, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip03")), 1),
24320
+ createElementVNode("div", _hoisted_55, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip04")), 1)
23888
24321
  ])) : createCommentVNode("", true)
23889
24322
  ])) : createCommentVNode("", true)
23890
24323
  ]),
23891
- !["SCAN", "CANCEL", "LOGIN"].includes(miniProgramStatus.value) ? (openBlock(), createElementBlock("p", _hoisted_35, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip05")), 1)) : (openBlock(), createElementBlock("button", {
24324
+ !["SCAN", "CANCEL", "LOGIN"].includes(miniProgramStatus.value) ? (openBlock(), createElementBlock("p", _hoisted_56, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip05")), 1)) : (openBlock(), createElementBlock("button", {
23892
24325
  key: 1,
23893
24326
  onClick: getMiniProgramQrCode,
23894
24327
  class: "mt-2"
@@ -23897,12 +24330,12 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23897
24330
  ]),
23898
24331
  _: 1
23899
24332
  }, 8, ["loading"])) : createCommentVNode("", true),
23900
- (openBlock(), createBlock(unref(_sfc_main$a), {
24333
+ formType.value !== "bindPhoneConflict" ? (openBlock(), createBlock(unref(_sfc_main$a), {
24334
+ ref_key: "FormRef",
24335
+ ref: FormRef,
23901
24336
  key: formType.value,
23902
24337
  DataList: FormConfig.value.dict,
23903
24338
  "show-label": FormConfig.value.showLabel,
23904
- ref_key: "FormRef",
23905
- ref: FormRef,
23906
24339
  onCountDown: handleCountDown,
23907
24340
  onChange: handleFormChange,
23908
24341
  onComplete: handleFormInput,
@@ -23912,7 +24345,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23912
24345
  "message-type": "none",
23913
24346
  "hide-required-mark": "",
23914
24347
  onKeypress: withKeys(handleConfirm, ["enter"]),
23915
- class: normalizeClass(formType.value === "register" ? "mt-[16px] login-form-register-cell" : "login-form-common-cell"),
24348
+ class: normalizeClass(formCellClass.value),
23916
24349
  errors: { msgError: msgError.value },
23917
24350
  formErrors,
23918
24351
  "is-forget": formType.value === "forget"
@@ -23920,26 +24353,26 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23920
24353
  submit: withCtx(() => {
23921
24354
  var _a2;
23922
24355
  return [
23923
- formType.value === "login" && tabPanel.value !== "miniProgram" ? (openBlock(), createElementBlock("div", _hoisted_36, [
23924
- createElementVNode("div", _hoisted_37, [
24356
+ formType.value === "login" && tabPanel.value !== "miniProgram" ? (openBlock(), createElementBlock("div", _hoisted_57, [
24357
+ createElementVNode("div", _hoisted_58, [
23925
24358
  createTextVNode(toDisplayString$1(errorMsg.value) + " ", 1),
23926
24359
  errForRemoteLogin.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
23927
24360
  createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.unusualLogin")), 1),
23928
24361
  createElementVNode("span", {
23929
- onClick: _cache[5] || (_cache[5] = ($event) => handleTabPanelChange("verifyCode")),
24362
+ onClick: _cache[7] || (_cache[7] = ($event) => handleTabPanelChange("verifyCode")),
23930
24363
  class: "login-modal-info-left__link"
23931
24364
  }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.smsLogin")), 1)
23932
24365
  ], 64)) : createCommentVNode("", true)
23933
24366
  ]),
23934
24367
  withDirectives(createElementVNode("div", {
23935
24368
  class: "login-modal-info-right",
23936
- onClick: _cache[6] || (_cache[6] = withModifiers(($event) => formType.value = "forget", ["stop"]))
24369
+ onClick: _cache[8] || (_cache[8] = withModifiers(($event) => formType.value = "forget", ["stop"]))
23937
24370
  }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.forgotPassword")), 513), [
23938
24371
  [vShow, tabPanel.value === "password" && formType.value === "login"]
23939
24372
  ])
23940
24373
  ])) : createCommentVNode("", true),
23941
24374
  formType.value === "login" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
23942
- tabPanel.value !== "miniProgram" ? (openBlock(), createElementBlock("div", _hoisted_38, [
24375
+ tabPanel.value !== "miniProgram" ? (openBlock(), createElementBlock("div", _hoisted_59, [
23943
24376
  createVNode(unref(Button), {
23944
24377
  color: "primary",
23945
24378
  variant: "solid",
@@ -23957,41 +24390,41 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23957
24390
  createElementVNode("div", {
23958
24391
  class: normalizeClass([["login-modal-footer-args", AgreementWarn.value ? "shaking-box" : ""], "mt-[16px]"])
23959
24392
  }, [
23960
- createElementVNode("div", _hoisted_39, [
24393
+ createElementVNode("div", _hoisted_60, [
23961
24394
  createVNode(GAgreement, {
23962
24395
  modelValue: status.value,
23963
- "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => status.value = $event),
24396
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => status.value = $event),
23964
24397
  dataShareChecked: dataShareChecked.value,
23965
- "onUpdate:dataShareChecked": _cache[8] || (_cache[8] = ($event) => dataShareChecked.value = $event),
23966
- onDeclares: _cache[9] || (_cache[9] = (typ) => handleDisplay(typ))
24398
+ "onUpdate:dataShareChecked": _cache[10] || (_cache[10] = ($event) => dataShareChecked.value = $event),
24399
+ onDeclares: _cache[11] || (_cache[11] = (typ) => handleDisplay(typ))
23967
24400
  }, null, 8, ["modelValue", "dataShareChecked"])
23968
24401
  ])
23969
24402
  ], 2),
23970
- createElementVNode("div", _hoisted_40, [
24403
+ createElementVNode("div", _hoisted_61, [
23971
24404
  __props.openHarmonyGuide ? (openBlock(), createElementBlock("div", {
23972
24405
  key: 0,
23973
24406
  class: "text-[var(--theme-link)] flex items-center mt-[12px] cursor-pointer",
23974
24407
  onClick: withModifiers(handleRegisterHarmony, ["stop"])
23975
24408
  }, [
23976
- createElementVNode("div", _hoisted_41, [
23977
- _cache[18] || (_cache[18] = createElementVNode("img", {
24409
+ createElementVNode("div", _hoisted_62, [
24410
+ _cache[20] || (_cache[20] = createElementVNode("img", {
23978
24411
  src: "https://cdn-static.gitcode.com/static/images/guide/openharmony.svg",
23979
24412
  alt: "",
23980
24413
  class: "w-[32px] h-[32px] inline-block harmony-icon-img"
23981
24414
  }, null, -1)),
23982
- createElementVNode("div", _hoisted_42, [
24415
+ createElementVNode("div", _hoisted_63, [
23983
24416
  recentLoginType.value === unref(LoginMethodEnum).HARMONY ? (openBlock(), createElementBlock("img", {
23984
24417
  key: 0,
23985
24418
  src: unref(recentLoginImg),
23986
24419
  class: "w-[50px] h-[20px]"
23987
- }, null, 8, _hoisted_43)) : createCommentVNode("", true)
24420
+ }, null, 8, _hoisted_64)) : createCommentVNode("", true)
23988
24421
  ])
23989
24422
  ]),
23990
- createElementVNode("span", _hoisted_44, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.oh")), 1)
24423
+ createElementVNode("span", _hoisted_65, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.oh")), 1)
23991
24424
  ])) : createCommentVNode("", true)
23992
24425
  ])
23993
24426
  ])) : createCommentVNode("", true),
23994
- createElementVNode("div", _hoisted_45, [
24427
+ createElementVNode("div", _hoisted_66, [
23995
24428
  createVNode(GAuth, {
23996
24429
  logos,
23997
24430
  onAuth: pcAuthLogin,
@@ -24000,28 +24433,28 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
24000
24433
  }, null, 8, ["logos", "recentLoginType"])
24001
24434
  ])
24002
24435
  ], 64)) : createCommentVNode("", true),
24003
- formType.value === "register" || formType.value === "forget" ? (openBlock(), createElementBlock("div", _hoisted_46, [
24436
+ ["register", "forget"].includes(formType.value) ? (openBlock(), createElementBlock("div", _hoisted_67, [
24004
24437
  createElementVNode("div", {
24005
24438
  class: normalizeClass([
24006
24439
  "text-[var(--devui-danger)] text-[14px] break-all box-border leading-[20px] h-[40px]",
24007
24440
  formType.value === "register" ? "mt-[-8px]" : ((_a2 = formErrors == null ? void 0 : formErrors.username) == null ? void 0 : _a2.length) > 42 ? "cursor-pointer" : ""
24008
24441
  ])
24009
24442
  }, [
24010
- createElementVNode("span", _hoisted_47, toDisplayString$1(errorMsg.value), 1)
24443
+ createElementVNode("span", _hoisted_68, toDisplayString$1(errorMsg.value), 1)
24011
24444
  ], 2),
24012
24445
  createElementVNode("div", {
24013
24446
  class: normalizeClass(["register-agree mt-[16px]", [AgreementWarn.value ? "shaking-box" : ""]])
24014
24447
  }, [
24015
24448
  createVNode(_sfc_main$7, {
24016
24449
  modelValue: status.value,
24017
- "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => status.value = $event),
24450
+ "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => status.value = $event),
24018
24451
  dataShareChecked: dataShareChecked.value,
24019
- "onUpdate:dataShareChecked": _cache[11] || (_cache[11] = ($event) => dataShareChecked.value = $event),
24020
- onDeclares: _cache[12] || (_cache[12] = (typ) => handleDisplay(typ)),
24021
- onClick: _cache[13] || (_cache[13] = ($event) => agreementReport("signup_select", `gitcode${status.value ? 1 : 0}`))
24452
+ "onUpdate:dataShareChecked": _cache[13] || (_cache[13] = ($event) => dataShareChecked.value = $event),
24453
+ onDeclares: _cache[14] || (_cache[14] = (typ) => handleDisplay(typ)),
24454
+ onClick: _cache[15] || (_cache[15] = ($event) => agreementReport("signup_select", `gitcode${status.value ? 1 : 0}`))
24022
24455
  }, null, 8, ["modelValue", "dataShareChecked"])
24023
24456
  ], 2),
24024
- createElementVNode("div", _hoisted_48, [
24457
+ createElementVNode("div", _hoisted_69, [
24025
24458
  createVNode(unref(Button), {
24026
24459
  color: "primary",
24027
24460
  variant: "solid",
@@ -24037,50 +24470,46 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
24037
24470
  _: 1
24038
24471
  }, 8, ["disabled", "loading"])
24039
24472
  ])
24473
+ ])) : createCommentVNode("", true),
24474
+ ["bindPhone"].includes(formType.value) ? (openBlock(), createElementBlock("div", _hoisted_70, [
24475
+ createElementVNode("div", _hoisted_71, [
24476
+ createElementVNode("span", _hoisted_72, toDisplayString$1(errorMsg.value), 1)
24477
+ ]),
24478
+ createElementVNode("div", _hoisted_73, [
24479
+ createVNode(unref(Button), {
24480
+ color: "primary",
24481
+ variant: "solid",
24482
+ size: "lg",
24483
+ onClick: handleConfirm,
24484
+ disabled: disabled.value,
24485
+ loading: loading.value,
24486
+ class: "w-[100%] mt-[4px]"
24487
+ }, {
24488
+ default: withCtx(() => [
24489
+ createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.verify")), 1)
24490
+ ]),
24491
+ _: 1
24492
+ }, 8, ["disabled", "loading"])
24493
+ ])
24040
24494
  ])) : createCommentVNode("", true)
24041
24495
  ];
24042
24496
  }),
24043
24497
  _: 1
24044
- }, 8, ["DataList", "show-label", "layout", "class", "errors", "formErrors", "is-forget"]))
24498
+ }, 8, ["DataList", "show-label", "layout", "class", "errors", "formErrors", "is-forget"])) : createCommentVNode("", true)
24045
24499
  ], 2)
24046
24500
  ]))
24047
24501
  ];
24048
24502
  }),
24049
- _: 2
24050
- }, [
24051
- !mfaCheck.value ? {
24052
- name: "header",
24053
- fn: withCtx(() => [
24054
- createElementVNode("div", _hoisted_1$1, [
24055
- createVNode(GTitle, {
24056
- icon: unref(IconB),
24057
- title: FormConfig.value.title,
24058
- "show-title": FormConfig.value.showTitle,
24059
- onBack: handleTitleBackClick,
24060
- "show-back": FormConfig.value.showBack,
24061
- class: "login-modal-title flex-1"
24062
- }, null, 8, ["icon", "title", "show-title", "show-back"]),
24063
- createElementVNode("div", _hoisted_2, [
24064
- __props.showClose && !showProtoCheck.value ? (openBlock(), createBlock(GIcon, {
24065
- key: 0,
24066
- onClick: onClickModalClose,
24067
- name: "gt-close",
24068
- size: "18"
24069
- })) : createCommentVNode("", true)
24070
- ])
24071
- ])
24072
- ]),
24073
- key: "0"
24074
- } : void 0
24075
- ]), 1032, ["modelValue", "lock-scroll", "draggable", "escapable", "append-to-body", "class"]),
24503
+ _: 3
24504
+ }, 8, ["modelValue", "lock-scroll", "draggable", "escapable", "append-to-body", "class"]),
24076
24505
  showProtoCheck.value ? (openBlock(), createBlock(_sfc_main$5, {
24077
24506
  key: 0,
24078
24507
  visible: showProtoCheck.value,
24079
- "onUpdate:visible": _cache[15] || (_cache[15] = ($event) => showProtoCheck.value = $event),
24508
+ "onUpdate:visible": _cache[17] || (_cache[17] = ($event) => showProtoCheck.value = $event),
24080
24509
  onConfirm: agreeAndLogin,
24081
- onDeclares: _cache[16] || (_cache[16] = (typ) => handleDisplay(typ)),
24510
+ onDeclares: _cache[18] || (_cache[18] = (typ) => handleDisplay(typ)),
24082
24511
  dataShareChecked: dataShareChecked.value,
24083
- "onUpdate:dataShareChecked": _cache[17] || (_cache[17] = ($event) => dataShareChecked.value = $event)
24512
+ "onUpdate:dataShareChecked": _cache[19] || (_cache[19] = ($event) => dataShareChecked.value = $event)
24084
24513
  }, null, 8, ["visible", "dataShareChecked"])) : createCommentVNode("", true)
24085
24514
  ], 64);
24086
24515
  };