vue-layout-gitcode 1.9.75 → 1.9.76

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-DhJlAmJw.js"));
14915
+ const UserSearch = defineAsyncComponent(() => import("./UserSearch-BbnnevNM.js"));
14916
+ const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-DbCEgJNP.js"));
14917
+ const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-D2mnfMKQ.js"));
14918
+ const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-Dp06EH7J.js"));
14919
+ const SearchPrefixTag = defineAsyncComponent(() => import("./SearchPrefixTag-Cd_d9kuX.js"));
14920
+ const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-DJNlkA3e.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-BNbX6Jxz.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--pFAVB40.js"));
16472
+ const ProjectMenuListV2 = defineAsyncComponent(() => import("./ProjectMenuListV2-TqxgRlnd.js"));
16473
+ const ProjectMenuList = defineAsyncComponent(() => import("./ProjectMenuList-RaCW33qV.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-D2p5wt2_.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-DwbacarD.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,14 @@ 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
+ cacheForm.user_id = "";
22753
+ cacheForm.mask = "";
22754
+ };
22601
22755
  let timer = null;
22602
22756
  let interval = null;
22603
22757
  const logos = reactive([
@@ -22836,6 +22990,38 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
22836
22990
  }
22837
22991
  // ...VerifyPassword
22838
22992
  ]);
22993
+ const BindPhoneForm = reactive([
22994
+ {
22995
+ type: "inputSelect",
22996
+ key: "mobile",
22997
+ label: $t("gitCodeLayout.LoginModal.subtitle.phone"),
22998
+ required: true,
22999
+ rules: [
23000
+ {
23001
+ message: $t("gitCodeLayout.LoginModal.tips.fillNecessaryInfo"),
23002
+ trigger: "change",
23003
+ validator: (rule, value, cb) => {
23004
+ var _a;
23005
+ const { country } = ((_a = FormRef.value) == null ? void 0 : _a.Data) || {};
23006
+ return mobilePhoneValidator(rule, value, cb, country);
23007
+ }
23008
+ }
23009
+ ]
23010
+ },
23011
+ {
23012
+ type: "inputButton",
23013
+ key: "verificationcode",
23014
+ label: $t("gitCodeLayout.LoginModal.action.phone"),
23015
+ required: true,
23016
+ rules: FormRules.codes,
23017
+ props: {
23018
+ autocomplete: true,
23019
+ countdown: false,
23020
+ second: 59,
23021
+ aliasKey: "mobile"
23022
+ }
23023
+ }
23024
+ ]);
22839
23025
  const ForgetPasswordForm = reactive([
22840
23026
  {
22841
23027
  type: "input",
@@ -22892,6 +23078,21 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
22892
23078
  showBack: false
22893
23079
  };
22894
23080
  }
23081
+ if (formType.value === "bindPhone") {
23082
+ return {
23083
+ dict: BindPhoneForm.map((item) => {
23084
+ return {
23085
+ ...item,
23086
+ defaultValue: item.key === "mobile" ? cacheForm.mobile : item.key === "verificationcode" ? cacheForm.verificationcode : "",
23087
+ editableSelect: false
23088
+ };
23089
+ }),
23090
+ showLabel: true,
23091
+ layout: "horizontal",
23092
+ showTitle: false,
23093
+ showBack: false
23094
+ };
23095
+ }
22895
23096
  if (formType.value === "forget") {
22896
23097
  return {
22897
23098
  dict: ForgetPasswordForm,
@@ -22933,6 +23134,15 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
22933
23134
  };
22934
23135
  }
22935
23136
  });
23137
+ const formCellClass = computed(() => {
23138
+ if (formType.value === "register") {
23139
+ return "login-form-register-cell";
23140
+ }
23141
+ if (formType.value === "bindPhone") {
23142
+ return "login-form-bindphone-cell";
23143
+ }
23144
+ return "login-form-common-cell";
23145
+ });
22936
23146
  const catchFormErrors = (conf) => {
22937
23147
  const { errors } = conf;
22938
23148
  for (const key in errors) {
@@ -22966,7 +23176,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
22966
23176
  emits("directClose");
22967
23177
  return;
22968
23178
  }
22969
- dealLog($t("gitCodeLayout.LoginModal.tips.updatePassword"), "success", "login");
23179
+ handleLoginFeedback($t("gitCodeLayout.LoginModal.tips.updatePassword"), "success", "login");
22970
23180
  } else {
22971
23181
  extraErrors.requestInfo = result2.error.error_message;
22972
23182
  }
@@ -23049,16 +23259,37 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23049
23259
  }
23050
23260
  };
23051
23261
  const loginSuccess = (data, inputMobile) => {
23262
+ bindOperateLoading.value = false;
23263
+ if (!data || typeof data !== "object") {
23264
+ extraErrors.requestInfo = "登录数据无效";
23265
+ return;
23266
+ }
23052
23267
  const { user_id, mask, mobile, user_status_enum } = data;
23268
+ cacheForm.mobile = mobile || inputMobile || "";
23269
+ cacheForm.user_id = user_id ?? "";
23270
+ cacheForm.mask = mask ?? "";
23053
23271
  extraErrors.requestInfo = "";
23054
- cacheForm.mobile = mobile || inputMobile;
23055
- cacheForm.user_id = user_id;
23056
- cacheForm.mask = mask;
23057
23272
  mfaCheck.value = user_status_enum === "MFA_CHECK";
23273
+ if (user_status_enum === "EMPTY_MOBILE") {
23274
+ formType.value = "bindPhone";
23275
+ }
23058
23276
  };
23059
23277
  const loginFail = (errorMessage) => {
23060
23278
  extraErrors.requestInfo = errorMessage;
23061
23279
  };
23280
+ const bindPhoneConflictMask = ref("");
23281
+ const bindPhoneFail = ({ isConflict, errorMessage, mask = "", occupiedUsername = "" }) => {
23282
+ extraErrors.requestInfo = errorMessage;
23283
+ if (isConflict) {
23284
+ if (FormRef.value) {
23285
+ FormRef.value.ClearForm();
23286
+ clearFormError();
23287
+ }
23288
+ formType.value = "bindPhoneConflict";
23289
+ bindPhoneConflictMask.value = mask;
23290
+ oldUsername.value = occupiedUsername;
23291
+ }
23292
+ };
23062
23293
  const graphValidate = () => {
23063
23294
  loading.value = false;
23064
23295
  slidCaptcha.open({ onSuccess: (captchaData) => handleConfirm({ captchaId: captchaData.id }) });
@@ -23094,40 +23325,83 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23094
23325
  const res = formData.forms;
23095
23326
  const { country } = ((_b = FormRef.value) == null ? void 0 : _b.Data) || {};
23096
23327
  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,
23328
+ switch (formType.value) {
23329
+ case "forget":
23330
+ handleResetPassword();
23331
+ return;
23332
+ case "register": {
23333
+ const check = await LoginCheck();
23334
+ if (!check) return;
23335
+ await registerAction(res, mobile);
23336
+ break;
23337
+ }
23338
+ case "bindPhone": {
23339
+ currentPhoneCountry.value = country || "+86";
23340
+ userPhone.value = mobile;
23341
+ await LoginConfig.bindPhone({
23342
+ param: {
23343
+ successFunc: loginSuccess,
23344
+ failFunc: bindPhoneFail,
23345
+ loginDeviceType: "pc",
23346
+ country
23347
+ },
23348
+ loginParams: {
23349
+ mobile,
23350
+ verification_code: res.verificationcode,
23351
+ mask: cacheForm.mask
23352
+ },
23116
23353
  graphValidate,
23117
- lintRemoteLogin: handleRemoteLogin,
23118
23354
  yunpianGraphValidate
23119
23355
  });
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
- });
23356
+ break;
23357
+ }
23358
+ default: {
23359
+ switch (tabPanel.value) {
23360
+ case "password": {
23361
+ const passwordParams = {
23362
+ type: "password",
23363
+ ...res,
23364
+ captchaId: info == null ? void 0 : info.captchaId,
23365
+ token: info == null ? void 0 : info.token,
23366
+ authenticate: info == null ? void 0 : info.authenticate
23367
+ };
23368
+ newUsername.value = (res == null ? void 0 : res.username) || "";
23369
+ await LoginConfig.password({
23370
+ param: {
23371
+ validFunc: LoginCheck,
23372
+ successFunc: loginSuccess,
23373
+ failFunc: loginFail,
23374
+ loginDeviceType: "pc",
23375
+ country
23376
+ },
23377
+ loginParams: passwordParams,
23378
+ graphValidate,
23379
+ lintRemoteLogin: handleRemoteLogin,
23380
+ yunpianGraphValidate
23381
+ });
23382
+ break;
23383
+ }
23384
+ default: {
23385
+ const phoneParams = {
23386
+ type: "verifyCode",
23387
+ mobile,
23388
+ code: res.code,
23389
+ country: country || ""
23390
+ };
23391
+ await LoginConfig.phone({
23392
+ param: {
23393
+ validFunc: LoginCheck,
23394
+ successFunc: loginSuccess,
23395
+ failFunc: loginFail,
23396
+ loginDeviceType: "pc",
23397
+ country
23398
+ },
23399
+ loginParams: phoneParams
23400
+ });
23401
+ break;
23402
+ }
23403
+ }
23404
+ break;
23131
23405
  }
23132
23406
  }
23133
23407
  setTimeout(() => {
@@ -23202,6 +23476,16 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23202
23476
  res = await API.getMobileEmailCode(requestData);
23203
23477
  break;
23204
23478
  }
23479
+ case "bindPhone": {
23480
+ res = await API.verifyRegisterCode({
23481
+ mobile,
23482
+ type: "BINDING_MOBILE",
23483
+ captchaId: conf == null ? void 0 : conf.captchaId,
23484
+ token: conf == null ? void 0 : conf.token,
23485
+ authenticate: conf == null ? void 0 : conf.authenticate
23486
+ });
23487
+ break;
23488
+ }
23205
23489
  default: {
23206
23490
  res = await API.verifyRegisterCode({
23207
23491
  mobile,
@@ -23216,7 +23500,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23216
23500
  return res;
23217
23501
  };
23218
23502
  const handleCountDown = async (conf) => {
23219
- var _a, _b, _c, _d, _e;
23503
+ var _a, _b, _c;
23220
23504
  const formData = await FormRef.value.ValidateFormKeys([conf.key]);
23221
23505
  const mobile = getPhone(conf);
23222
23506
  if (formData.type === "success") {
@@ -23290,45 +23574,17 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23290
23574
  return;
23291
23575
  }
23292
23576
  }
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)) {
23577
+ if (tabPanel.value === "verifyCode" || ["register", "forget", "bindPhone"].includes(formType.value)) {
23578
+ const verifyCodeRes = await handleCountDownSubmission(conf, mobile);
23579
+ if (["login", "register", "bindPhone"].includes(formType.value)) {
23580
+ if ([GRAPH_CODE, GRAPH_CODE_01].includes((_b = verifyCodeRes == null ? void 0 : verifyCodeRes.error) == null ? void 0 : _b.error_code)) {
23325
23581
  captchaMode = "tianai";
23326
23582
  slidCaptcha.open({
23327
23583
  onSuccess: (captchaData) => handleCountDown({ ...conf, captchaId: captchaData.id, smsReported: true })
23328
23584
  });
23329
23585
  return;
23330
23586
  }
23331
- if (((_e = res == null ? void 0 : res.error) == null ? void 0 : _e.error_code) === YUNPIAN_GRAPH_CODE) {
23587
+ if (((_c = verifyCodeRes == null ? void 0 : verifyCodeRes.error) == null ? void 0 : _c.error_code) === YUNPIAN_GRAPH_CODE) {
23332
23588
  captchaMode = "yunpian";
23333
23589
  yunpianCaptcha.open({
23334
23590
  onSuccess: (captchaData) => handleCountDown({
@@ -23347,9 +23603,10 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23347
23603
  });
23348
23604
  }
23349
23605
  });
23606
+ return;
23350
23607
  }
23351
23608
  }
23352
- if (!res.error) {
23609
+ if (!(verifyCodeRes == null ? void 0 : verifyCodeRes.error)) {
23353
23610
  cacheForm.mobile = conf.value;
23354
23611
  cacheForm.country = conf.country || "";
23355
23612
  localStorage$2.setItem(
@@ -23359,19 +23616,28 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23359
23616
  country: conf.country || ""
23360
23617
  })
23361
23618
  );
23362
- if (Number((res == null ? void 0 : res.data.data.type) === 1)) {
23619
+ if (Number((verifyCodeRes == null ? void 0 : verifyCodeRes.data.data.type) === 1)) {
23363
23620
  formType.value = "register";
23364
23621
  isRegister.value = true;
23365
- dealLog($t("gitCodeLayout.LoginModal.tips.gotoTipsAtNophone"), "success", "register");
23622
+ handleLoginFeedback($t("gitCodeLayout.LoginModal.tips.gotoTipsAtNophone"), "success", "register");
23366
23623
  } else {
23367
23624
  isRegister.value = false;
23368
23625
  const message = isMobileEmail(conf.value);
23369
- dealLog(
23626
+ handleLoginFeedback(
23370
23627
  `${$t("gitCodeLayout.LoginModal.tips.codeSentToYou")}${message}, ${$t("gitCodeLayout.LoginModal.tips.pleaseCheck")}`,
23371
23628
  "success"
23372
23629
  );
23373
23630
  }
23374
- const source = formType.value === "register" ? RegisterForm : formType.value === "forget" ? ForgetPasswordForm : VerifyForm;
23631
+ let source;
23632
+ if (formType.value === "register") {
23633
+ source = RegisterForm;
23634
+ } else if (formType.value === "forget") {
23635
+ source = ForgetPasswordForm;
23636
+ } else if (formType.value === "bindPhone") {
23637
+ source = BindPhoneForm;
23638
+ } else {
23639
+ source = VerifyForm;
23640
+ }
23375
23641
  source.forEach((item) => {
23376
23642
  if (item.key === conf.sourceKey || formType.value === "register" && item.key === "verificationcode") {
23377
23643
  if (item.props) {
@@ -23386,7 +23652,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23386
23652
  setFormErrorKey(formData);
23387
23653
  }
23388
23654
  };
23389
- const dealLog = (msg, type, status2 = "") => {
23655
+ const handleLoginFeedback = (msg, type, status2 = "") => {
23390
23656
  Message({
23391
23657
  message: msg,
23392
23658
  duration: 3e3,
@@ -23422,7 +23688,16 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23422
23688
  }
23423
23689
  };
23424
23690
  const refreshCountDown = (tab, menu) => {
23425
- const source = menu === "register" ? RegisterForm : formType.value === "forget" ? ForgetPasswordForm : tab === "verifyCode" ? VerifyForm : null;
23691
+ let source = null;
23692
+ if (menu === "register") {
23693
+ source = RegisterForm;
23694
+ } else if (formType.value === "forget") {
23695
+ source = ForgetPasswordForm;
23696
+ } else if (menu === "bindPhone") {
23697
+ source = BindPhoneForm;
23698
+ } else if (tab === "verifyCode") {
23699
+ source = VerifyForm;
23700
+ }
23426
23701
  if (source) {
23427
23702
  const countdown = source.find((item) => item.props);
23428
23703
  if ((countdown == null ? void 0 : countdown.props) && Object.prototype.hasOwnProperty.call(countdown.props, "countdown")) {
@@ -23490,6 +23765,44 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23490
23765
  }
23491
23766
  }
23492
23767
  };
23768
+ const currentPhoneCountry = ref("+86");
23769
+ const userPhone = ref("18630942836");
23770
+ const currentPhoneMask = computed(() => {
23771
+ if (userPhone.value.length === 11) {
23772
+ return userPhone.value.slice(0, 3) + "****" + userPhone.value.slice(7);
23773
+ }
23774
+ return userPhone.value;
23775
+ });
23776
+ const oldUsername = ref("");
23777
+ const newUsername = ref("");
23778
+ const currentUserHomePage = computed(() => {
23779
+ return `${layoutConfig2.VITE_HOST}/${oldUsername.value}`;
23780
+ });
23781
+ const bindOperateLoading = ref(false);
23782
+ const changeBindAccountFail = (errorMessage) => {
23783
+ bindOperateLoading.value = false;
23784
+ extraErrors.requestInfo = errorMessage;
23785
+ };
23786
+ const changeBindAndLogin = async () => {
23787
+ await LoginConfig.changeBindAccount({
23788
+ param: {
23789
+ successFunc: loginSuccess,
23790
+ failFunc: changeBindAccountFail,
23791
+ loginDeviceType: "pc"
23792
+ },
23793
+ loginParams: {
23794
+ mask: bindPhoneConflictMask.value
23795
+ }
23796
+ });
23797
+ };
23798
+ const backToChangeMobile = () => {
23799
+ if (bindOperateLoading.value) return;
23800
+ resetCacheForm();
23801
+ formType.value = "bindPhone";
23802
+ oldUsername.value = "";
23803
+ currentPhoneCountry.value = "+86";
23804
+ userPhone.value = "";
23805
+ };
23493
23806
  watch(
23494
23807
  () => [tabPanel.value, formType.value],
23495
23808
  (newVal, oldVal) => {
@@ -23640,6 +23953,12 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23640
23953
  stopPoll();
23641
23954
  return;
23642
23955
  }
23956
+ if (miniProgramCurrentStatus === "EMPTY_MOBILE") {
23957
+ stopPoll();
23958
+ formType.value = "bindPhone";
23959
+ tabPanel.value = "password";
23960
+ return;
23961
+ }
23643
23962
  if (miniProgramCurrentStatus !== "LOGIN") return;
23644
23963
  stopPoll();
23645
23964
  const loginResult = await LoginConfig.miniProgramLogin(miniProgramInfo.value.scene_id);
@@ -23688,6 +24007,9 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23688
24007
  getMiniProgramQrCode();
23689
24008
  return;
23690
24009
  }
24010
+ if (tabPanel.value !== "miniProgram") {
24011
+ return;
24012
+ }
23691
24013
  const { error, data } = await LoginConfig.miniProgramCheckStatus(miniProgramInfo.value.scene_id);
23692
24014
  if (!error) {
23693
24015
  const { status: status2 = "WAITING" } = (data == null ? void 0 : data.data) || {};
@@ -23695,6 +24017,11 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23695
24017
  miniProgramStatus.value = status2;
23696
24018
  return;
23697
24019
  }
24020
+ if (status2 === "EMPTY_MOBILE") {
24021
+ tabPanel.value = "password";
24022
+ formType.value = "bindPhone";
24023
+ return;
24024
+ }
23698
24025
  }
23699
24026
  shouldMiniProgramPoll.value = true;
23700
24027
  startPoll();
@@ -23725,7 +24052,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23725
24052
  return openBlock(), createElementBlock(Fragment, null, [
23726
24053
  createVNode(unref(Modal), {
23727
24054
  modelValue: unref(vModels),
23728
- "onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => isRef(vModels) ? vModels.value = $event : null),
24055
+ "onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => isRef(vModels) ? vModels.value = $event : null),
23729
24056
  "show-close": false,
23730
24057
  "lock-scroll": __props.lockScroll,
23731
24058
  draggable: __props.draggable,
@@ -23735,11 +24062,31 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23735
24062
  class: normalizeClass([
23736
24063
  "login-modal",
23737
24064
  formType.value === "login" ? "login-modal-l" : "login-modal-r",
23738
- formType.value === "register" ? "login-modal-register" : "",
24065
+ ["register", "bindPhone", "bindPhoneConflict"].includes(formType.value) ? "login-modal-register" : "",
23739
24066
  mfaCheck.value ? "login-modal-mfa" : ""
23740
24067
  ]),
23741
24068
  onClose: onModalClose
23742
- }, createSlots({
24069
+ }, {
24070
+ header: withCtx(() => [
24071
+ !mfaCheck.value ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
24072
+ createVNode(GTitle, {
24073
+ icon: unref(IconB),
24074
+ title: FormConfig.value.title,
24075
+ "show-title": FormConfig.value.showTitle,
24076
+ onBack: handleTitleBackClick,
24077
+ "show-back": FormConfig.value.showBack,
24078
+ class: "login-modal-title flex-1"
24079
+ }, null, 8, ["icon", "title", "show-title", "show-back"]),
24080
+ createElementVNode("div", _hoisted_2, [
24081
+ __props.showClose && !showProtoCheck.value ? (openBlock(), createBlock(GIcon, {
24082
+ key: 0,
24083
+ onClick: onClickModalClose,
24084
+ name: "gt-close",
24085
+ size: "18"
24086
+ })) : createCommentVNode("", true)
24087
+ ])
24088
+ ])) : createCommentVNode("", true)
24089
+ ]),
23743
24090
  default: withCtx(() => {
23744
24091
  var _a, _b;
23745
24092
  return [
@@ -23751,7 +24098,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23751
24098
  onFail: handleMFALoginFail,
23752
24099
  mask: cacheForm.mask
23753
24100
  }, null, 8, ["API", "mask"])) : (openBlock(), createElementBlock("div", _hoisted_3, [
23754
- formType.value === "register" || formType.value === "login" ? (openBlock(), createElementBlock("div", _hoisted_4, [
24101
+ ["register", "login", "bindPhone", "bindPhoneConflict"].includes(formType.value) ? (openBlock(), createElementBlock("div", _hoisted_4, [
23755
24102
  createElementVNode("div", _hoisted_5, [
23756
24103
  createElementVNode("img", {
23757
24104
  src: isAIHub.value ? AiLogoType[unref(currentTheme)] : logoType[unref(currentTheme)],
@@ -23845,28 +24192,116 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23845
24192
  ])
23846
24193
  ])
23847
24194
  ])) : createCommentVNode("", true),
24195
+ formType.value === "bindPhone" ? (openBlock(), createElementBlock("div", _hoisted_25, [
24196
+ createElementVNode("div", _hoisted_26, [
24197
+ createElementVNode("div", _hoisted_27, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhone.text01")), 1),
24198
+ createElementVNode("div", _hoisted_28, [
24199
+ createElementVNode("span", {
24200
+ onClick: _cache[4] || (_cache[4] = ($event) => handleTitleBackClick("bindPhone")),
24201
+ class: "text-[var(--theme-link)] cursor-pointer hover:underline"
24202
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.backLogin")), 1)
24203
+ ])
24204
+ ]),
24205
+ createElementVNode("p", _hoisted_29, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhone.text02", { siteName: unref(currentSiteName)() })), 1)
24206
+ ])) : createCommentVNode("", true),
24207
+ formType.value === "bindPhoneConflict" ? (openBlock(), createElementBlock("div", _hoisted_30, [
24208
+ createElementVNode("div", _hoisted_31, [
24209
+ createElementVNode("div", _hoisted_32, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhoneConflict.text01")), 1),
24210
+ createElementVNode("div", _hoisted_33, [
24211
+ createElementVNode("span", {
24212
+ onClick: _cache[5] || (_cache[5] = ($event) => handleTitleBackClick("bindPhoneConflict")),
24213
+ class: "text-[var(--theme-link)] cursor-pointer hover:underline"
24214
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.backLogin")), 1)
24215
+ ])
24216
+ ]),
24217
+ createElementVNode("div", _hoisted_34, [
24218
+ createElementVNode("p", _hoisted_35, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhoneConflict.text02", {
24219
+ country: currentPhoneCountry.value,
24220
+ mobile: currentPhoneMask.value
24221
+ })), 1),
24222
+ createElementVNode("p", _hoisted_36, [
24223
+ createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhoneConflict.text03")) + " 「" + toDisplayString$1(oldUsername.value) + "」 ", 1),
24224
+ createElementVNode("a", {
24225
+ href: currentUserHomePage.value,
24226
+ target: "_blank",
24227
+ class: "text-[var(--theme-link)]"
24228
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhoneConflict.text04")), 9, _hoisted_37)
24229
+ ]),
24230
+ createElementVNode("p", null, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhoneConflict.text05")) + " 「" + toDisplayString$1(newUsername.value) + "」", 1)
24231
+ ]),
24232
+ createElementVNode("div", _hoisted_38, [
24233
+ createElementVNode("p", _hoisted_39, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhoneConflict.text06")), 1),
24234
+ createElementVNode("ul", _hoisted_40, [
24235
+ createElementVNode("li", null, [
24236
+ createElementVNode("p", null, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhoneConflict.text08")), 1),
24237
+ createElementVNode("p", _hoisted_41, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhoneConflict.text10", { newUsername: newUsername.value })), 1)
24238
+ ]),
24239
+ createElementVNode("li", null, [
24240
+ createElementVNode("p", null, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhoneConflict.text07")), 1),
24241
+ createElementVNode("p", _hoisted_42, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhoneConflict.text09", { oldUsername: oldUsername.value, newUsername: newUsername.value })), 1)
24242
+ ])
24243
+ ])
24244
+ ]),
24245
+ createElementVNode("div", _hoisted_43, [
24246
+ createElementVNode("p", _hoisted_44, [
24247
+ createVNode(GIcon, {
24248
+ name: "gt-plane-warningTriangle-orange",
24249
+ class: "mr-1"
24250
+ }),
24251
+ createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhoneConflict.text11")), 1)
24252
+ ]),
24253
+ createElementVNode("p", null, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhoneConflict.text12", { oldUsername: oldUsername.value })), 1)
24254
+ ]),
24255
+ createElementVNode("div", _hoisted_45, [
24256
+ createVNode(unref(Button), {
24257
+ class: "w-[48%]",
24258
+ loading: bindOperateLoading.value,
24259
+ color: "secondary",
24260
+ size: "lg",
24261
+ onClick: changeBindAndLogin
24262
+ }, {
24263
+ default: withCtx(() => [
24264
+ createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhoneConflict.text07")), 1)
24265
+ ]),
24266
+ _: 1
24267
+ }, 8, ["loading"]),
24268
+ createVNode(unref(Button), {
24269
+ class: "w-[48%]",
24270
+ loading: bindOperateLoading.value,
24271
+ size: "lg",
24272
+ variant: "solid",
24273
+ color: "primary",
24274
+ onClick: backToChangeMobile
24275
+ }, {
24276
+ default: withCtx(() => [
24277
+ createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.bindPhoneConflict.text08")), 1)
24278
+ ]),
24279
+ _: 1
24280
+ }, 8, ["loading"])
24281
+ ])
24282
+ ])) : createCommentVNode("", true),
23848
24283
  formType.value === "login" && tabPanel.value === "miniProgram" ? (openBlock(), createBlock(DataPanel, {
23849
- key: 3,
24284
+ key: 5,
23850
24285
  loading: miniProgramLoading.value,
23851
24286
  empty: false,
23852
24287
  card: false,
23853
24288
  class: "mini-program-qrcode",
23854
24289
  border: false,
23855
24290
  animation: true,
23856
- onError: _cache[4] || (_cache[4] = (error) => {
24291
+ onError: _cache[6] || (_cache[6] = (error) => {
23857
24292
  console.error("小程序二维码加载失败:", error);
23858
24293
  unref($t) && unref(Message).error(unref($t)("gitCodeLayout.LoginModal.miniProgram.qrCodeError") || "二维码加载失败");
23859
24294
  })
23860
24295
  }, {
23861
24296
  default: withCtx(() => [
23862
- createElementVNode("div", _hoisted_25, [
23863
- createElementVNode("div", _hoisted_26, [
24297
+ createElementVNode("div", _hoisted_46, [
24298
+ createElementVNode("div", _hoisted_47, [
23864
24299
  createElementVNode("img", {
23865
24300
  src: miniProgramInfo.value.qrcode,
23866
24301
  alt: "小程序二维码",
23867
24302
  class: "w-[180px] h-[180px]"
23868
- }, null, 8, _hoisted_27),
23869
- miniProgramStatus.value !== "WAITING" ? (openBlock(), createElementBlock("div", _hoisted_28, [
24303
+ }, null, 8, _hoisted_48),
24304
+ miniProgramStatus.value !== "WAITING" ? (openBlock(), createElementBlock("div", _hoisted_49, [
23870
24305
  miniProgramStatus.value === "TIMEOUT" ? (openBlock(), createElementBlock("div", {
23871
24306
  key: 0,
23872
24307
  onClick: getMiniProgramQrCode,
@@ -23877,18 +24312,18 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23877
24312
  size: "18",
23878
24313
  color: "#3B3E55"
23879
24314
  }),
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)
24315
+ createElementVNode("div", _hoisted_50, [
24316
+ createElementVNode("div", _hoisted_51, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip01")), 1),
24317
+ createElementVNode("button", _hoisted_52, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip02")), 1)
23883
24318
  ])
23884
24319
  ])) : 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)
24320
+ ["SCAN", "CANCEL", "LOGIN"].includes(miniProgramStatus.value) ? (openBlock(), createElementBlock("div", _hoisted_53, [
24321
+ createElementVNode("div", _hoisted_54, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip03")), 1),
24322
+ createElementVNode("div", _hoisted_55, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip04")), 1)
23888
24323
  ])) : createCommentVNode("", true)
23889
24324
  ])) : createCommentVNode("", true)
23890
24325
  ]),
23891
- !["SCAN", "CANCEL", "LOGIN"].includes(miniProgramStatus.value) ? (openBlock(), createElementBlock("p", _hoisted_35, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip05")), 1)) : (openBlock(), createElementBlock("button", {
24326
+ !["SCAN", "CANCEL", "LOGIN"].includes(miniProgramStatus.value) ? (openBlock(), createElementBlock("p", _hoisted_56, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip05")), 1)) : (openBlock(), createElementBlock("button", {
23892
24327
  key: 1,
23893
24328
  onClick: getMiniProgramQrCode,
23894
24329
  class: "mt-2"
@@ -23897,12 +24332,12 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23897
24332
  ]),
23898
24333
  _: 1
23899
24334
  }, 8, ["loading"])) : createCommentVNode("", true),
23900
- (openBlock(), createBlock(unref(_sfc_main$a), {
24335
+ formType.value !== "bindPhoneConflict" ? (openBlock(), createBlock(unref(_sfc_main$a), {
24336
+ ref_key: "FormRef",
24337
+ ref: FormRef,
23901
24338
  key: formType.value,
23902
24339
  DataList: FormConfig.value.dict,
23903
24340
  "show-label": FormConfig.value.showLabel,
23904
- ref_key: "FormRef",
23905
- ref: FormRef,
23906
24341
  onCountDown: handleCountDown,
23907
24342
  onChange: handleFormChange,
23908
24343
  onComplete: handleFormInput,
@@ -23912,7 +24347,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23912
24347
  "message-type": "none",
23913
24348
  "hide-required-mark": "",
23914
24349
  onKeypress: withKeys(handleConfirm, ["enter"]),
23915
- class: normalizeClass(formType.value === "register" ? "mt-[16px] login-form-register-cell" : "login-form-common-cell"),
24350
+ class: normalizeClass(formCellClass.value),
23916
24351
  errors: { msgError: msgError.value },
23917
24352
  formErrors,
23918
24353
  "is-forget": formType.value === "forget"
@@ -23920,26 +24355,26 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23920
24355
  submit: withCtx(() => {
23921
24356
  var _a2;
23922
24357
  return [
23923
- formType.value === "login" && tabPanel.value !== "miniProgram" ? (openBlock(), createElementBlock("div", _hoisted_36, [
23924
- createElementVNode("div", _hoisted_37, [
24358
+ formType.value === "login" && tabPanel.value !== "miniProgram" ? (openBlock(), createElementBlock("div", _hoisted_57, [
24359
+ createElementVNode("div", _hoisted_58, [
23925
24360
  createTextVNode(toDisplayString$1(errorMsg.value) + " ", 1),
23926
24361
  errForRemoteLogin.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
23927
24362
  createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.unusualLogin")), 1),
23928
24363
  createElementVNode("span", {
23929
- onClick: _cache[5] || (_cache[5] = ($event) => handleTabPanelChange("verifyCode")),
24364
+ onClick: _cache[7] || (_cache[7] = ($event) => handleTabPanelChange("verifyCode")),
23930
24365
  class: "login-modal-info-left__link"
23931
24366
  }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.smsLogin")), 1)
23932
24367
  ], 64)) : createCommentVNode("", true)
23933
24368
  ]),
23934
24369
  withDirectives(createElementVNode("div", {
23935
24370
  class: "login-modal-info-right",
23936
- onClick: _cache[6] || (_cache[6] = withModifiers(($event) => formType.value = "forget", ["stop"]))
24371
+ onClick: _cache[8] || (_cache[8] = withModifiers(($event) => formType.value = "forget", ["stop"]))
23937
24372
  }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.forgotPassword")), 513), [
23938
24373
  [vShow, tabPanel.value === "password" && formType.value === "login"]
23939
24374
  ])
23940
24375
  ])) : createCommentVNode("", true),
23941
24376
  formType.value === "login" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
23942
- tabPanel.value !== "miniProgram" ? (openBlock(), createElementBlock("div", _hoisted_38, [
24377
+ tabPanel.value !== "miniProgram" ? (openBlock(), createElementBlock("div", _hoisted_59, [
23943
24378
  createVNode(unref(Button), {
23944
24379
  color: "primary",
23945
24380
  variant: "solid",
@@ -23957,41 +24392,41 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
23957
24392
  createElementVNode("div", {
23958
24393
  class: normalizeClass([["login-modal-footer-args", AgreementWarn.value ? "shaking-box" : ""], "mt-[16px]"])
23959
24394
  }, [
23960
- createElementVNode("div", _hoisted_39, [
24395
+ createElementVNode("div", _hoisted_60, [
23961
24396
  createVNode(GAgreement, {
23962
24397
  modelValue: status.value,
23963
- "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => status.value = $event),
24398
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => status.value = $event),
23964
24399
  dataShareChecked: dataShareChecked.value,
23965
- "onUpdate:dataShareChecked": _cache[8] || (_cache[8] = ($event) => dataShareChecked.value = $event),
23966
- onDeclares: _cache[9] || (_cache[9] = (typ) => handleDisplay(typ))
24400
+ "onUpdate:dataShareChecked": _cache[10] || (_cache[10] = ($event) => dataShareChecked.value = $event),
24401
+ onDeclares: _cache[11] || (_cache[11] = (typ) => handleDisplay(typ))
23967
24402
  }, null, 8, ["modelValue", "dataShareChecked"])
23968
24403
  ])
23969
24404
  ], 2),
23970
- createElementVNode("div", _hoisted_40, [
24405
+ createElementVNode("div", _hoisted_61, [
23971
24406
  __props.openHarmonyGuide ? (openBlock(), createElementBlock("div", {
23972
24407
  key: 0,
23973
24408
  class: "text-[var(--theme-link)] flex items-center mt-[12px] cursor-pointer",
23974
24409
  onClick: withModifiers(handleRegisterHarmony, ["stop"])
23975
24410
  }, [
23976
- createElementVNode("div", _hoisted_41, [
23977
- _cache[18] || (_cache[18] = createElementVNode("img", {
24411
+ createElementVNode("div", _hoisted_62, [
24412
+ _cache[20] || (_cache[20] = createElementVNode("img", {
23978
24413
  src: "https://cdn-static.gitcode.com/static/images/guide/openharmony.svg",
23979
24414
  alt: "",
23980
24415
  class: "w-[32px] h-[32px] inline-block harmony-icon-img"
23981
24416
  }, null, -1)),
23982
- createElementVNode("div", _hoisted_42, [
24417
+ createElementVNode("div", _hoisted_63, [
23983
24418
  recentLoginType.value === unref(LoginMethodEnum).HARMONY ? (openBlock(), createElementBlock("img", {
23984
24419
  key: 0,
23985
24420
  src: unref(recentLoginImg),
23986
24421
  class: "w-[50px] h-[20px]"
23987
- }, null, 8, _hoisted_43)) : createCommentVNode("", true)
24422
+ }, null, 8, _hoisted_64)) : createCommentVNode("", true)
23988
24423
  ])
23989
24424
  ]),
23990
- createElementVNode("span", _hoisted_44, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.oh")), 1)
24425
+ createElementVNode("span", _hoisted_65, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.oh")), 1)
23991
24426
  ])) : createCommentVNode("", true)
23992
24427
  ])
23993
24428
  ])) : createCommentVNode("", true),
23994
- createElementVNode("div", _hoisted_45, [
24429
+ createElementVNode("div", _hoisted_66, [
23995
24430
  createVNode(GAuth, {
23996
24431
  logos,
23997
24432
  onAuth: pcAuthLogin,
@@ -24000,28 +24435,28 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
24000
24435
  }, null, 8, ["logos", "recentLoginType"])
24001
24436
  ])
24002
24437
  ], 64)) : createCommentVNode("", true),
24003
- formType.value === "register" || formType.value === "forget" ? (openBlock(), createElementBlock("div", _hoisted_46, [
24438
+ ["register", "forget"].includes(formType.value) ? (openBlock(), createElementBlock("div", _hoisted_67, [
24004
24439
  createElementVNode("div", {
24005
24440
  class: normalizeClass([
24006
24441
  "text-[var(--devui-danger)] text-[14px] break-all box-border leading-[20px] h-[40px]",
24007
24442
  formType.value === "register" ? "mt-[-8px]" : ((_a2 = formErrors == null ? void 0 : formErrors.username) == null ? void 0 : _a2.length) > 42 ? "cursor-pointer" : ""
24008
24443
  ])
24009
24444
  }, [
24010
- createElementVNode("span", _hoisted_47, toDisplayString$1(errorMsg.value), 1)
24445
+ createElementVNode("span", _hoisted_68, toDisplayString$1(errorMsg.value), 1)
24011
24446
  ], 2),
24012
24447
  createElementVNode("div", {
24013
24448
  class: normalizeClass(["register-agree mt-[16px]", [AgreementWarn.value ? "shaking-box" : ""]])
24014
24449
  }, [
24015
24450
  createVNode(_sfc_main$7, {
24016
24451
  modelValue: status.value,
24017
- "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => status.value = $event),
24452
+ "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => status.value = $event),
24018
24453
  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}`))
24454
+ "onUpdate:dataShareChecked": _cache[13] || (_cache[13] = ($event) => dataShareChecked.value = $event),
24455
+ onDeclares: _cache[14] || (_cache[14] = (typ) => handleDisplay(typ)),
24456
+ onClick: _cache[15] || (_cache[15] = ($event) => agreementReport("signup_select", `gitcode${status.value ? 1 : 0}`))
24022
24457
  }, null, 8, ["modelValue", "dataShareChecked"])
24023
24458
  ], 2),
24024
- createElementVNode("div", _hoisted_48, [
24459
+ createElementVNode("div", _hoisted_69, [
24025
24460
  createVNode(unref(Button), {
24026
24461
  color: "primary",
24027
24462
  variant: "solid",
@@ -24037,50 +24472,46 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
24037
24472
  _: 1
24038
24473
  }, 8, ["disabled", "loading"])
24039
24474
  ])
24475
+ ])) : createCommentVNode("", true),
24476
+ ["bindPhone"].includes(formType.value) ? (openBlock(), createElementBlock("div", _hoisted_70, [
24477
+ createElementVNode("div", _hoisted_71, [
24478
+ createElementVNode("span", _hoisted_72, toDisplayString$1(errorMsg.value), 1)
24479
+ ]),
24480
+ createElementVNode("div", _hoisted_73, [
24481
+ createVNode(unref(Button), {
24482
+ color: "primary",
24483
+ variant: "solid",
24484
+ size: "lg",
24485
+ onClick: handleConfirm,
24486
+ disabled: disabled.value,
24487
+ loading: loading.value,
24488
+ class: "w-[100%] mt-[4px]"
24489
+ }, {
24490
+ default: withCtx(() => [
24491
+ createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.verify")), 1)
24492
+ ]),
24493
+ _: 1
24494
+ }, 8, ["disabled", "loading"])
24495
+ ])
24040
24496
  ])) : createCommentVNode("", true)
24041
24497
  ];
24042
24498
  }),
24043
24499
  _: 1
24044
- }, 8, ["DataList", "show-label", "layout", "class", "errors", "formErrors", "is-forget"]))
24500
+ }, 8, ["DataList", "show-label", "layout", "class", "errors", "formErrors", "is-forget"])) : createCommentVNode("", true)
24045
24501
  ], 2)
24046
24502
  ]))
24047
24503
  ];
24048
24504
  }),
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"]),
24505
+ _: 3
24506
+ }, 8, ["modelValue", "lock-scroll", "draggable", "escapable", "append-to-body", "class"]),
24076
24507
  showProtoCheck.value ? (openBlock(), createBlock(_sfc_main$5, {
24077
24508
  key: 0,
24078
24509
  visible: showProtoCheck.value,
24079
- "onUpdate:visible": _cache[15] || (_cache[15] = ($event) => showProtoCheck.value = $event),
24510
+ "onUpdate:visible": _cache[17] || (_cache[17] = ($event) => showProtoCheck.value = $event),
24080
24511
  onConfirm: agreeAndLogin,
24081
- onDeclares: _cache[16] || (_cache[16] = (typ) => handleDisplay(typ)),
24512
+ onDeclares: _cache[18] || (_cache[18] = (typ) => handleDisplay(typ)),
24082
24513
  dataShareChecked: dataShareChecked.value,
24083
- "onUpdate:dataShareChecked": _cache[17] || (_cache[17] = ($event) => dataShareChecked.value = $event)
24514
+ "onUpdate:dataShareChecked": _cache[19] || (_cache[19] = ($event) => dataShareChecked.value = $event)
24084
24515
  }, null, 8, ["visible", "dataShareChecked"])) : createCommentVNode("", true)
24085
24516
  ], 64);
24086
24517
  };