vue-layout-gitcode 1.3.50 → 1.3.52

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.
@@ -40,6 +40,8 @@ import "vue-devui-lal/layout/style.css";
40
40
  import { RadioGroup, Radio } from "vue-devui-lal/radio";
41
41
  import "@devui-design/icons/icomoon/devui-icon.css";
42
42
  import "vue-devui-lal/radio/style.css";
43
+ import { EditableSelect } from "vue-devui-lal/editable-select";
44
+ import "vue-devui-lal/editable-select/style.css";
43
45
  import { Checkbox } from "vue-devui-lal/checkbox";
44
46
  import "vue-devui-lal/checkbox/style.css";
45
47
  import { Modal } from "vue-devui-lal/modal";
@@ -476,6 +478,7 @@ const OAUTH_CANCEL = "oauth_cancel";
476
478
  const OAUTH_LOGIN_TYPE_KEY = "oauthType";
477
479
  const REGISTER_SOURCE_TAB = "register_source_tab";
478
480
  const LOGIN_MODAL_TRIGGER_SOURCE = "login_trigger_source";
481
+ const REGISTER_CLICK_TO_LOGIN = "register_click_to_login";
479
482
  /*! @license DOMPurify 3.2.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.6/LICENSE */
480
483
  const {
481
484
  entries,
@@ -7747,12 +7750,16 @@ const gitCodeLayout$1 = {
7747
7750
  phone: "手机号码",
7748
7751
  cipher: "密码",
7749
7752
  otherLogin: "其他登录方式",
7750
- useAgrAndPriPolTip: "用户协议与隐私政策提示"
7753
+ useAgrAndPriPolTip: "用户协议与隐私政策提示",
7754
+ desc: "代码有我,智能随行"
7751
7755
  },
7752
7756
  action: {
7753
7757
  oh: "鸿蒙开发者登录",
7754
7758
  login: "登 录",
7755
- registerAgain: "注册新账号",
7759
+ noAccount: "没有账号?",
7760
+ haveAccount: "已有账号?",
7761
+ registerAgain: "点击注册",
7762
+ backLogin: "返回登录",
7756
7763
  phone: "手机验证码",
7757
7764
  readAgree: "我已阅读并同意",
7758
7765
  verify: "确 认",
@@ -7797,7 +7804,7 @@ const gitCodeLayout$1 = {
7797
7804
  },
7798
7805
  registerDesc: "GitCode 与华为云共同为用户提供代码托管服务,在使用代码托管相关服务时,将同步授权并开通华为云服务,并与重庆开源共创科技有限公司(GitCode的运营主体)关联及共享。",
7799
7806
  rule: {
7800
- username: "只允许字母、数字或者下划线(_)、中划线(-),350个字符,必须以字母开头。",
7807
+ username: "以字母开头,3-50个字符,仅含字母、数字、下划线(_)或中划线(-)",
7801
7808
  pleaseFill: "请填写{label}",
7802
7809
  passwordLetter: "密码最少包含一个大写字母、一个小写字母、一个数字",
7803
7810
  passwordLength: "密码最少包含一个大写字母、一个小写字母、一个数字, 长度为8~30之间"
@@ -7808,7 +7815,7 @@ const gitCodeLayout$1 = {
7808
7815
  tip02: "点击重试",
7809
7816
  tip03: "扫码完成",
7810
7817
  tip04: "请在手机上确认操作",
7811
- tip05: "打开微信扫一扫,快速登录/注册",
7818
+ tip05: "微信扫一扫,快速登录/注册",
7812
7819
  tip06: "重新扫码"
7813
7820
  },
7814
7821
  mfatip5: "为了确保你的账户安全,请完成多因素身份验证",
@@ -8031,12 +8038,16 @@ const gitCodeLayout = {
8031
8038
  phone: "Phone number",
8032
8039
  cipher: "Password",
8033
8040
  otherLogin: "Other login methods",
8034
- useAgrAndPriPolTip: "User Agreement and Privacy Policy Notice"
8041
+ useAgrAndPriPolTip: "User Agreement and Privacy Policy Notice",
8042
+ desc: "Code with me, intelligent companion"
8035
8043
  },
8036
8044
  action: {
8037
8045
  oh: "OpenHarmony Developers",
8038
8046
  login: "Log In",
8047
+ noAccount: "No account?",
8048
+ haveAccount: "Have an account?",
8039
8049
  registerAgain: "Sign up",
8050
+ backLogin: "Log in",
8040
8051
  phone: "SMS code",
8041
8052
  readAgree: "I have read and agree to",
8042
8053
  verify: "Confirm",
@@ -8081,7 +8092,7 @@ const gitCodeLayout = {
8081
8092
  },
8082
8093
  registerDesc: "GitCode and Huawei Cloud jointly provide code hosting services for users. When using code hosting services, you will synchronize authorization and activate Huawei Cloud services, and share information with Chongqing Open Source Co-Creation Technology Co., Ltd. (the operator of GitCode).",
8083
8094
  rule: {
8084
- username: "Only letters, numbers, underscores (_), hyphens (-) are allowed, 3 to 20 characters, must start with a letter.",
8095
+ username: "Only letters, numbers, underscores (_), hyphens (-) are allowed, 3 to 50 characters, must start with a letter.",
8085
8096
  pleaseFill: "Please fill in {label}",
8086
8097
  passwordLetter: "Password must contain at least one uppercase letter, one lowercase letter, and one number",
8087
8098
  passwordLength: "Password must contain at least one uppercase letter, one lowercase letter, and one number, length 8-30 characters"
@@ -10910,13 +10921,13 @@ const proxyService = (params, customConfigs) => {
10910
10921
  };
10911
10922
  const _hoisted_1$v = { class: "home-nav-right" };
10912
10923
  const _hoisted_2$l = { class: "home-nav-item" };
10913
- const _hoisted_3$i = {
10924
+ const _hoisted_3$j = {
10914
10925
  key: 0,
10915
10926
  class: "tooltip-sign"
10916
10927
  };
10917
- const _hoisted_4$e = { class: "home-nav-tooltip-wrapper" };
10918
- const _hoisted_5$a = { class: "home-nav-text" };
10919
- const _hoisted_6$7 = {
10928
+ const _hoisted_4$g = { class: "home-nav-tooltip-wrapper" };
10929
+ const _hoisted_5$c = { class: "home-nav-text" };
10930
+ const _hoisted_6$8 = {
10920
10931
  key: 1,
10921
10932
  class: "tools-list"
10922
10933
  };
@@ -10952,16 +10963,16 @@ const _hoisted_23$3 = {
10952
10963
  key: 0,
10953
10964
  class: "absolute top-0 right-0 text-[var(--theme-aide-text)]"
10954
10965
  };
10955
- const _hoisted_24 = { class: "font-[600] text-[var(--theme-aide-text)] mt-3 text-sm leading-[20px]" };
10956
- const _hoisted_25 = { class: "mt-3" };
10957
- const _hoisted_26 = {
10966
+ const _hoisted_24$1 = { class: "font-[600] text-[var(--theme-aide-text)] mt-3 text-sm leading-[20px]" };
10967
+ const _hoisted_25$1 = { class: "mt-3" };
10968
+ const _hoisted_26$1 = {
10958
10969
  key: 1,
10959
10970
  class: "finish flex items-center"
10960
10971
  };
10961
- const _hoisted_27 = { class: "flex justify-center items-center w-[30px] h-[30px] rounded-[50%] bg-[#0EB07B]" };
10962
- const _hoisted_28 = { class: "ml-2 font-[600] text-[var(--theme-aide-text)] text-sm leading-[20px]" };
10963
- const _hoisted_29 = { class: "home-nav-item" };
10964
- const _hoisted_30 = ["src", "alt"];
10972
+ const _hoisted_27$1 = { class: "flex justify-center items-center w-[30px] h-[30px] rounded-[50%] bg-[#0EB07B]" };
10973
+ const _hoisted_28$1 = { class: "ml-2 font-[600] text-[var(--theme-aide-text)] text-sm leading-[20px]" };
10974
+ const _hoisted_29$1 = { class: "home-nav-item" };
10975
+ const _hoisted_30$1 = ["src", "alt"];
10965
10976
  const _sfc_main$B = /* @__PURE__ */ defineComponent({
10966
10977
  __name: "index",
10967
10978
  props: {
@@ -11130,8 +11141,8 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
11130
11141
  "overlay-class": "tools-tag-tooltip"
11131
11142
  }, {
11132
11143
  content: withCtx(() => [
11133
- createElementVNode("div", _hoisted_4$e, [
11134
- createElementVNode("div", _hoisted_5$a, toDisplayString$1(unref(t2)("gitCodeLayout.userSetting.menu.growthCenter")), 1)
11144
+ createElementVNode("div", _hoisted_4$g, [
11145
+ createElementVNode("div", _hoisted_5$c, toDisplayString$1(unref(t2)("gitCodeLayout.userSetting.menu.growthCenter")), 1)
11135
11146
  ])
11136
11147
  ]),
11137
11148
  default: withCtx(() => [
@@ -11145,13 +11156,13 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
11145
11156
  src: "https://cdn-static.gitcode.com/static/images/homeweb/czzx.svg",
11146
11157
  alt: ""
11147
11158
  }, null, -1)),
11148
- !_ctx.isLogin || !isSignIn.value ? (openBlock(), createElementBlock("div", _hoisted_3$i, toDisplayString$1(!_ctx.isLogin ? unref(t2)("gitCodeLayout.growthCenter.receive") : unref(t2)("gitCodeLayout.growthCenter.signIn")), 1)) : createCommentVNode("", true)
11159
+ !_ctx.isLogin || !isSignIn.value ? (openBlock(), createElementBlock("div", _hoisted_3$j, toDisplayString$1(!_ctx.isLogin ? unref(t2)("gitCodeLayout.growthCenter.receive") : unref(t2)("gitCodeLayout.growthCenter.signIn")), 1)) : createCommentVNode("", true)
11149
11160
  ])
11150
11161
  ])
11151
11162
  ]),
11152
11163
  _: 1
11153
11164
  })) : createCommentVNode("", true),
11154
- isModuleVisible(unref(ToolsFloatDisplayItem).ELSE) ? (openBlock(), createElementBlock("div", _hoisted_6$7, [
11165
+ isModuleVisible(unref(ToolsFloatDisplayItem).ELSE) ? (openBlock(), createElementBlock("div", _hoisted_6$8, [
11155
11166
  createVNode(unref(Tooltip), {
11156
11167
  position: "left",
11157
11168
  "overlay-class": "tools-tag-tooltip"
@@ -11268,10 +11279,10 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
11268
11279
  rateNow.value !== null ? (openBlock(), createElementBlock("div", _hoisted_23$3, [
11269
11280
  createElementVNode("span", null, toDisplayString$1(rateIcon[rateNow.value].title), 1)
11270
11281
  ])) : createCommentVNode("", true),
11271
- createElementVNode("div", _hoisted_24, [
11282
+ createElementVNode("div", _hoisted_24$1, [
11272
11283
  createElementVNode("span", null, toDisplayString$1(unref(t2)("gitCodeLayout.home.improveQuestion")) + "?", 1)
11273
11284
  ]),
11274
- createElementVNode("div", _hoisted_25, [
11285
+ createElementVNode("div", _hoisted_25$1, [
11275
11286
  createVNode(unref(Textarea), {
11276
11287
  modelValue: opinionText.value,
11277
11288
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => opinionText.value = $event),
@@ -11295,15 +11306,15 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
11295
11306
  ])
11296
11307
  ])) : createCommentVNode("", true)
11297
11308
  ])
11298
- ])) : (openBlock(), createElementBlock("div", _hoisted_26, [
11299
- createElementVNode("div", _hoisted_27, [
11309
+ ])) : (openBlock(), createElementBlock("div", _hoisted_26$1, [
11310
+ createElementVNode("div", _hoisted_27$1, [
11300
11311
  createVNode(GIcon, {
11301
11312
  name: "gt-success",
11302
11313
  size: "14px",
11303
11314
  color: "#fff"
11304
11315
  })
11305
11316
  ]),
11306
- createElementVNode("div", _hoisted_28, [
11317
+ createElementVNode("div", _hoisted_28$1, [
11307
11318
  createElementVNode("span", null, toDisplayString$1(unref(t2)("gitCodeLayout.home.thankFaceback")) + "!", 1)
11308
11319
  ])
11309
11320
  ]))
@@ -11348,7 +11359,7 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
11348
11359
  onClick: _cache[2] || (_cache[2] = //@ts-ignore
11349
11360
  (...args) => unref(scrollToTop) && unref(scrollToTop)(...args))
11350
11361
  }, [
11351
- createElementVNode("div", _hoisted_29, [
11362
+ createElementVNode("div", _hoisted_29$1, [
11352
11363
  createVNode(GIcon, {
11353
11364
  name: "gt-plane-Topping1",
11354
11365
  size: "20px"
@@ -11371,7 +11382,7 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
11371
11382
  width: "200",
11372
11383
  src: activeAdItem.value.imgUrl,
11373
11384
  alt: activeAdItem.value.title
11374
- }, null, 8, _hoisted_30)
11385
+ }, null, 8, _hoisted_30$1)
11375
11386
  ])) : createCommentVNode("", true)
11376
11387
  ]);
11377
11388
  };
@@ -14449,6 +14460,13 @@ function headRequest(request) {
14449
14460
  url: `/aihub/api/v1/theme/label/config/list`,
14450
14461
  method: "get"
14451
14462
  }));
14463
+ },
14464
+ // 获取今日技术历史
14465
+ getTodayTechHistory() {
14466
+ return reqCatch(() => request({
14467
+ url: `/uc/api/v1/operation/tech-history`,
14468
+ method: "get"
14469
+ }));
14452
14470
  }
14453
14471
  };
14454
14472
  }
@@ -14473,7 +14491,7 @@ const _hoisted_1$t = {
14473
14491
  class: "ai-home-mb-menu-wrap md:!hidden"
14474
14492
  };
14475
14493
  const _hoisted_2$k = { class: "right-content cursor-pointer" };
14476
- const _hoisted_3$h = { class: "list-menu-ai-home" };
14494
+ const _hoisted_3$i = { class: "list-menu-ai-home" };
14477
14495
  const _sfc_main$y = /* @__PURE__ */ defineComponent({
14478
14496
  __name: "AiHubMenusMobile",
14479
14497
  props: ["activeMenu", "menuList", "isRouterLink"],
@@ -14499,7 +14517,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
14499
14517
  class: normalizeClass(["menu-bg", { "menu-bg-white": !isHome.value }])
14500
14518
  }, {
14501
14519
  menu: withCtx(() => [
14502
- createElementVNode("ul", _hoisted_3$h, [
14520
+ createElementVNode("ul", _hoisted_3$i, [
14503
14521
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.menuList, (item) => {
14504
14522
  var _a;
14505
14523
  return openBlock(), createElementBlock("li", {
@@ -14550,9 +14568,9 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
14550
14568
  const AiHubMenusMobile = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__scopeId", "data-v-gitcode-layout-lib"]]);
14551
14569
  const _hoisted_1$s = { class: "ai-hub-menus-item_label" };
14552
14570
  const _hoisted_2$j = ["onMouseenter"];
14553
- const _hoisted_3$g = { class: "ai-hub-menus-themetablist" };
14554
- const _hoisted_4$d = { class: "flex items-center gap-[8px] font-semibold" };
14555
- const _hoisted_5$9 = { class: "w-[32px] h-[32px] flex items-center justify-center" };
14571
+ const _hoisted_3$h = { class: "ai-hub-menus-themetablist" };
14572
+ const _hoisted_4$f = { class: "flex items-center gap-[8px] font-semibold" };
14573
+ const _hoisted_5$b = { class: "w-[32px] h-[32px] flex items-center justify-center" };
14556
14574
  const _sfc_main$x = /* @__PURE__ */ defineComponent({
14557
14575
  __name: "AiHubMenus",
14558
14576
  props: ["scene"],
@@ -14687,7 +14705,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
14687
14705
  position: ["top-start"]
14688
14706
  }, {
14689
14707
  menu: withCtx(() => [
14690
- createElementVNode("ul", _hoisted_3$g, [
14708
+ createElementVNode("ul", _hoisted_3$h, [
14691
14709
  (openBlock(true), createElementBlock(Fragment, null, renderList(themeTablist.value, (item, index22) => {
14692
14710
  return openBlock(), createBlock(GLink, {
14693
14711
  key: index22,
@@ -14745,14 +14763,14 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
14745
14763
  href: activeMenu.value.url
14746
14764
  }, {
14747
14765
  default: withCtx(() => [
14748
- createElementVNode("span", _hoisted_4$d, [
14766
+ createElementVNode("span", _hoisted_4$f, [
14749
14767
  createVNode(GIcon, {
14750
14768
  size: "24px",
14751
14769
  name: activeMenu.value.icon
14752
14770
  }, null, 8, ["name"]),
14753
14771
  createTextVNode(" " + toDisplayString$1(activeMenu.value.label), 1)
14754
14772
  ]),
14755
- createElementVNode("div", _hoisted_5$9, [
14773
+ createElementVNode("div", _hoisted_5$b, [
14756
14774
  createVNode(GIcon, {
14757
14775
  size: "18px",
14758
14776
  name: "gt-line-down",
@@ -16586,10 +16604,10 @@ const _hoisted_2$i = {
16586
16604
  key: 1,
16587
16605
  class: "org-layout-toolbar"
16588
16606
  };
16589
- const _hoisted_3$f = { class: "org-layout-toolbar-title flex-1 ellipsis-two-line" };
16590
- const _hoisted_4$c = { class: "text-xs" };
16591
- const _hoisted_5$8 = { class: "flex items-center w-full" };
16592
- const _hoisted_6$6 = {
16607
+ const _hoisted_3$g = { class: "org-layout-toolbar-title flex-1 ellipsis-two-line" };
16608
+ const _hoisted_4$e = { class: "text-xs" };
16609
+ const _hoisted_5$a = { class: "flex items-center w-full" };
16610
+ const _hoisted_6$7 = {
16593
16611
  key: 1,
16594
16612
  class: "flex items-center min-w-[30px]"
16595
16613
  };
@@ -16769,7 +16787,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
16769
16787
  height: 28,
16770
16788
  is_round: false
16771
16789
  }, null, 8, ["src", "name"]),
16772
- createElementVNode("div", _hoisted_3$f, toDisplayString$1((_c = unref(orgInfo)) == null ? void 0 : _c.name), 1)
16790
+ createElementVNode("div", _hoisted_3$g, toDisplayString$1((_c = unref(orgInfo)) == null ? void 0 : _c.name), 1)
16773
16791
  ];
16774
16792
  }),
16775
16793
  _: 1
@@ -16784,7 +16802,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
16784
16802
  default: withCtx(() => {
16785
16803
  var _a2;
16786
16804
  return [
16787
- createElementVNode("span", _hoisted_4$c, toDisplayString$1(((_a2 = _ctx.orgProps) == null ? void 0 : _a2.isOrgFollow) ? unref(t2)("gitCodeLayout.home.alreadyFollowed") : unref(t2)("gitCodeLayout.home.focusOn")), 1)
16805
+ createElementVNode("span", _hoisted_4$e, toDisplayString$1(((_a2 = _ctx.orgProps) == null ? void 0 : _a2.isOrgFollow) ? unref(t2)("gitCodeLayout.home.alreadyFollowed") : unref(t2)("gitCodeLayout.home.focusOn")), 1)
16788
16806
  ];
16789
16807
  }),
16790
16808
  _: 1
@@ -16806,7 +16824,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
16806
16824
  default: withCtx(() => {
16807
16825
  var _a2, _b2, _c, _d, _e, _f, _g;
16808
16826
  return [
16809
- createElementVNode("h2", _hoisted_5$8, [
16827
+ createElementVNode("h2", _hoisted_5$a, [
16810
16828
  createVNode(GLink, {
16811
16829
  href: (_a2 = unref(breadcrumb)[0]) == null ? void 0 : _a2.path,
16812
16830
  class: "pr-[12px]"
@@ -16822,7 +16840,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
16822
16840
  width: 28,
16823
16841
  height: 28,
16824
16842
  is_round: !isOrg.value
16825
- }, null, 8, ["class", "src", "name", "is_round"])) : (openBlock(), createElementBlock("div", _hoisted_6$6, [
16843
+ }, null, 8, ["class", "src", "name", "is_round"])) : (openBlock(), createElementBlock("div", _hoisted_6$7, [
16826
16844
  unref(isPhone)() ? (openBlock(), createElementBlock("img", _hoisted_7$5)) : (openBlock(), createElementBlock("img", _hoisted_8$5))
16827
16845
  ]))
16828
16846
  ];
@@ -17023,6 +17041,21 @@ var AuthTypeEnum = /* @__PURE__ */ ((AuthTypeEnum2) => {
17023
17041
  AuthTypeEnum2["PHONE_AND_PASSWORD"] = "phoneAndPassword";
17024
17042
  return AuthTypeEnum2;
17025
17043
  })(AuthTypeEnum || {});
17044
+ var LoginMethodEnum = /* @__PURE__ */ ((LoginMethodEnum2) => {
17045
+ LoginMethodEnum2["PHONE"] = "phone";
17046
+ LoginMethodEnum2["PASSWORD"] = "password";
17047
+ LoginMethodEnum2["MINI_PROGRAM"] = "miniProgram";
17048
+ LoginMethodEnum2["HARMONY"] = "harmony";
17049
+ LoginMethodEnum2["CSDN"] = "csdn";
17050
+ LoginMethodEnum2["ATOMGIT"] = "atomgit";
17051
+ LoginMethodEnum2["GITEE"] = "gitee";
17052
+ LoginMethodEnum2["GITHUB"] = "github";
17053
+ LoginMethodEnum2["WECHAT_OPEN"] = "wechat_open";
17054
+ LoginMethodEnum2["WECHAT_MP"] = "wechat_mp";
17055
+ LoginMethodEnum2["H_BUILDER"] = "hbuilder";
17056
+ LoginMethodEnum2["H_BUILDER_PLUGIN"] = "hbuilder_plugins";
17057
+ return LoginMethodEnum2;
17058
+ })(LoginMethodEnum || {});
17026
17059
  var AuthResType = /* @__PURE__ */ ((AuthResType2) => {
17027
17060
  AuthResType2["SUCCESS"] = "success";
17028
17061
  AuthResType2["FAIL"] = "fail";
@@ -17507,10 +17540,10 @@ const _hoisted_1$n = {
17507
17540
  class: "user-level-avatar-badge"
17508
17541
  };
17509
17542
  const _hoisted_2$h = { class: "flex items-center font-medium gap-[4px]" };
17510
- const _hoisted_3$e = ["src"];
17511
- const _hoisted_4$b = { class: "level-name" };
17512
- const _hoisted_5$7 = { class: "level-icon" };
17513
- const _hoisted_6$5 = ["src"];
17543
+ const _hoisted_3$f = ["src"];
17544
+ const _hoisted_4$d = { class: "level-name" };
17545
+ const _hoisted_5$9 = { class: "level-icon" };
17546
+ const _hoisted_6$6 = ["src"];
17514
17547
  const _hoisted_7$4 = { class: "custom-btn" };
17515
17548
  const _hoisted_8$4 = { class: "flex items-center justify-center" };
17516
17549
  const maxLevel = 3;
@@ -17566,14 +17599,14 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
17566
17599
  class: "level-avatar",
17567
17600
  src: levelInfo.value.avatar,
17568
17601
  alt: ""
17569
- }, null, 8, _hoisted_3$e),
17570
- createElementVNode("div", _hoisted_4$b, [
17602
+ }, null, 8, _hoisted_3$f),
17603
+ createElementVNode("div", _hoisted_4$d, [
17571
17604
  createElementVNode("div", null, toDisplayString$1(levelInfo.value.name), 1),
17572
- createElementVNode("div", _hoisted_5$7, [
17605
+ createElementVNode("div", _hoisted_5$9, [
17573
17606
  createElementVNode("img", {
17574
17607
  src: levelInfo.value.level,
17575
17608
  alt: ""
17576
- }, null, 8, _hoisted_6$5)
17609
+ }, null, 8, _hoisted_6$6)
17577
17610
  ])
17578
17611
  ])
17579
17612
  ]),
@@ -17587,8 +17620,8 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
17587
17620
  const UserLevel = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-gitcode-layout-lib"]]);
17588
17621
  const _hoisted_1$m = { class: "g-user-drawer-info-list pl-[16px]" };
17589
17622
  const _hoisted_2$g = { class: "max-w-[200px]" };
17590
- const _hoisted_3$d = ["title"];
17591
- const _hoisted_4$a = ["title"];
17623
+ const _hoisted_3$e = ["title"];
17624
+ const _hoisted_4$c = ["title"];
17592
17625
  const _sfc_main$o = /* @__PURE__ */ defineComponent({
17593
17626
  __name: "UserAvatarMenu",
17594
17627
  props: ["isChatBot", "accountInfo", "loginOutFinish", "inAIHub", "independence", "userMenus"],
@@ -17756,11 +17789,11 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
17756
17789
  createElementVNode("p", {
17757
17790
  class: "g-user-drawer-info-list-name ellipsis",
17758
17791
  title: __props.accountInfo.nickname
17759
- }, toDisplayString$1(__props.accountInfo.nickname), 9, _hoisted_3$d),
17792
+ }, toDisplayString$1(__props.accountInfo.nickname), 9, _hoisted_3$e),
17760
17793
  createElementVNode("p", {
17761
17794
  class: "g-user-drawer-info-list-id ellipsis",
17762
17795
  title: __props.accountInfo.username
17763
- }, "@" + toDisplayString$1(__props.accountInfo.username), 9, _hoisted_4$a)
17796
+ }, "@" + toDisplayString$1(__props.accountInfo.username), 9, _hoisted_4$c)
17764
17797
  ]),
17765
17798
  createVNode(GIcon, {
17766
17799
  name: "gt-line-right",
@@ -17806,13 +17839,13 @@ const _hoisted_2$f = {
17806
17839
  key: 0,
17807
17840
  class: "g-user-avatar__badge"
17808
17841
  };
17809
- const _hoisted_3$c = { class: "g-user-avatar flex-center ml-1" };
17810
- const _hoisted_4$9 = {
17842
+ const _hoisted_3$d = { class: "g-user-avatar flex-center ml-1" };
17843
+ const _hoisted_4$b = {
17811
17844
  key: 0,
17812
17845
  class: "g-user-avatar__badge"
17813
17846
  };
17814
- const _hoisted_5$6 = { class: "g-user-drawer" };
17815
- const _hoisted_6$4 = { class: "p-[16px] pt-[8px] pb-0 flex justify-end items-center h-[48px]" };
17847
+ const _hoisted_5$8 = { class: "g-user-drawer" };
17848
+ const _hoisted_6$5 = { class: "p-[16px] pt-[8px] pb-0 flex justify-end items-center h-[48px]" };
17816
17849
  const _sfc_main$n = /* @__PURE__ */ defineComponent({
17817
17850
  ...{
17818
17851
  name: "UserAvatar"
@@ -17917,7 +17950,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
17917
17950
  onToggle: handleToggle
17918
17951
  }, {
17919
17952
  menu: withCtx(() => [
17920
- createElementVNode("div", _hoisted_5$6, [
17953
+ createElementVNode("div", _hoisted_5$8, [
17921
17954
  createVNode(UserAvatarMenu, {
17922
17955
  independence: __props.independence,
17923
17956
  loginOutFinish: __props.loginOutFinish,
@@ -17929,12 +17962,12 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
17929
17962
  ])
17930
17963
  ]),
17931
17964
  default: withCtx(() => [
17932
- createElementVNode("div", _hoisted_3$c, [
17965
+ createElementVNode("div", _hoisted_3$d, [
17933
17966
  createVNode(_sfc_main$z, {
17934
17967
  name: accountInfo.value.nickname,
17935
17968
  src: accountInfo.value.avatar
17936
17969
  }, null, 8, ["name", "src"]),
17937
- accountInfo.value.need_tips && !haveVisited.value ? (openBlock(), createElementBlock("div", _hoisted_4$9, _cache[5] || (_cache[5] = [
17970
+ accountInfo.value.need_tips && !haveVisited.value ? (openBlock(), createElementBlock("div", _hoisted_4$b, _cache[5] || (_cache[5] = [
17938
17971
  createElementVNode("div", null, null, -1)
17939
17972
  ]))) : createCommentVNode("", true)
17940
17973
  ])
@@ -17950,7 +17983,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
17950
17983
  }, {
17951
17984
  default: withCtx(() => [
17952
17985
  createElementVNode("div", null, [
17953
- createElementVNode("div", _hoisted_6$4, [
17986
+ createElementVNode("div", _hoisted_6$5, [
17954
17987
  createVNode(unref(Button), {
17955
17988
  class: "cursor-pointer draw-side-bar-close",
17956
17989
  icon: "close",
@@ -18065,9 +18098,9 @@ const setlocalVistHistory = (data, localType) => {
18065
18098
  };
18066
18099
  const _hoisted_1$k = { class: "g-header-search-prefix" };
18067
18100
  const _hoisted_2$e = { class: "g-header-search-suffix-splitline" };
18068
- const _hoisted_3$b = { class: "g-header-search-suffix-suffixIcon" };
18069
- const _hoisted_4$8 = { class: "history-list" };
18070
- const _hoisted_5$5 = {
18101
+ const _hoisted_3$c = { class: "g-header-search-suffix-suffixIcon" };
18102
+ const _hoisted_4$a = { class: "history-list" };
18103
+ const _hoisted_5$7 = {
18071
18104
  key: 1,
18072
18105
  class: "aireposearch flex-1"
18073
18106
  };
@@ -18082,13 +18115,13 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18082
18115
  var _a;
18083
18116
  const layoutConfig2 = useLayoutConfig();
18084
18117
  const { t: $t } = i18n.global;
18085
- const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-DakgjfGN.js"));
18086
- const UserSearch = defineAsyncComponent(() => import("./UserSearch-YW79DbIZ.js"));
18087
- const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-7kOqCYLq.js"));
18088
- const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-Be8-oVFI.js"));
18089
- const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-Ckd0-soT.js"));
18090
- const SearchPrefixTag = defineAsyncComponent(() => import("./SearchPrefixTag-C_d18tSI.js"));
18091
- const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-DzqfUfzP.js"));
18118
+ const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-Ck27rGuc.js"));
18119
+ const UserSearch = defineAsyncComponent(() => import("./UserSearch-joluRmU0.js"));
18120
+ const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-5WwDd4Ll.js"));
18121
+ const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-C5cj69Q9.js"));
18122
+ const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-BBiTaMJw.js"));
18123
+ const SearchPrefixTag = defineAsyncComponent(() => import("./SearchPrefixTag-DR3a1jQk.js"));
18124
+ const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-BPT4dOY3.js"));
18092
18125
  const props = __props;
18093
18126
  const repoInfo = inject("repoInfo");
18094
18127
  const orgInfo = inject("orgInfo");
@@ -18541,7 +18574,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18541
18574
  }, {
18542
18575
  menu: withCtx(() => [
18543
18576
  createElementVNode("div", null, [
18544
- withDirectives(createElementVNode("div", _hoisted_4$8, [
18577
+ withDirectives(createElementVNode("div", _hoisted_4$a, [
18545
18578
  createVNode(unref(SearchScopeList), {
18546
18579
  searchScopeList: searchScopeList.value,
18547
18580
  searchStr: searchStr.value,
@@ -18659,7 +18692,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18659
18692
  withDirectives(createElementVNode("span", _hoisted_2$e, "|", 512), [
18660
18693
  [vShow, searchStr.value]
18661
18694
  ]),
18662
- createElementVNode("div", _hoisted_3$b, [
18695
+ createElementVNode("div", _hoisted_3$c, [
18663
18696
  createVNode(GIcon, {
18664
18697
  name: "search",
18665
18698
  class: "g-header-search-icon",
@@ -18677,7 +18710,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18677
18710
  _: 1
18678
18711
  }, 8, ["overlay-class", "visible"])
18679
18712
  ], 2)) : createCommentVNode("", true),
18680
- _ctx.inAIHub ? (openBlock(), createElementBlock("div", _hoisted_5$5, [
18713
+ _ctx.inAIHub ? (openBlock(), createElementBlock("div", _hoisted_5$7, [
18681
18714
  createVNode(unref(Input), {
18682
18715
  placeholder: unref($t)("gitCodeLayout.home.searchPlaceholder"),
18683
18716
  onKeydown: withKeys(searchResult, ["enter"]),
@@ -18698,7 +18731,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18698
18731
  }
18699
18732
  });
18700
18733
  const Search = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-gitcode-layout-lib"]]);
18701
- const NoticeModal = defineAsyncComponent(() => import("./notice-OMvg574t.js"));
18734
+ const NoticeModal = defineAsyncComponent(() => import("./notice-quOoPK8u.js"));
18702
18735
  function clearNotice() {
18703
18736
  if (localStorage$2.getItem("validator_email")) {
18704
18737
  localStorage$2.removeItem("validator_email");
@@ -18730,8 +18763,8 @@ const _hoisted_1$j = {
18730
18763
  class: "g-header-body"
18731
18764
  };
18732
18765
  const _hoisted_2$d = { class: "g-header-body-left h-full" };
18733
- const _hoisted_3$a = { class: "g-header-body-right h-full" };
18734
- const _hoisted_4$7 = { key: 2 };
18766
+ const _hoisted_3$b = { class: "g-header-body-right h-full" };
18767
+ const _hoisted_4$9 = { key: 2 };
18735
18768
  const _sfc_main$l = /* @__PURE__ */ defineComponent({
18736
18769
  ...{
18737
18770
  name: "header"
@@ -19151,12 +19184,12 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
19151
19184
  createElementVNode("div", _hoisted_2$d, [
19152
19185
  renderSlot(_ctx.$slots, "info", {}, void 0, true)
19153
19186
  ]),
19154
- createElementVNode("div", _hoisted_3$a, [
19187
+ createElementVNode("div", _hoisted_3$b, [
19155
19188
  renderSlot(_ctx.$slots, "menu", {}, void 0, true)
19156
19189
  ])
19157
19190
  ], true)
19158
19191
  ])) : createCommentVNode("", true),
19159
- _ctx.$slots.headerBottom ? (openBlock(), createElementBlock("div", _hoisted_4$7, [
19192
+ _ctx.$slots.headerBottom ? (openBlock(), createElementBlock("div", _hoisted_4$9, [
19160
19193
  renderSlot(_ctx.$slots, "headerBottom", {}, void 0, true)
19161
19194
  ])) : createCommentVNode("", true)
19162
19195
  ], 2)
@@ -19186,7 +19219,7 @@ const createSetting = () => {
19186
19219
  };
19187
19220
  const _hoisted_1$i = { class: "tools-item-wrapper" };
19188
19221
  const _hoisted_2$c = { class: "tools-item-wrapper-checkbox" };
19189
- const _hoisted_3$9 = ["onClick", "title"];
19222
+ const _hoisted_3$a = ["onClick", "title"];
19190
19223
  const _sfc_main$k = /* @__PURE__ */ defineComponent({
19191
19224
  __name: "Lang",
19192
19225
  setup(__props) {
@@ -19221,7 +19254,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
19221
19254
  color: "var(--theme-icon-fill-weak)",
19222
19255
  class: "checkbox-item-icon"
19223
19256
  }, null, 8, ["name"])
19224
- ], 16, _hoisted_3$9);
19257
+ ], 16, _hoisted_3$a);
19225
19258
  }), 128))
19226
19259
  ])
19227
19260
  ]);
@@ -19230,7 +19263,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
19230
19263
  });
19231
19264
  const _hoisted_1$h = { class: "tools-item-wrapper" };
19232
19265
  const _hoisted_2$b = { class: "tools-item-wrapper-checkbox" };
19233
- const _hoisted_3$8 = ["onClick", "title"];
19266
+ const _hoisted_3$9 = ["onClick", "title"];
19234
19267
  const _sfc_main$j = /* @__PURE__ */ defineComponent({
19235
19268
  __name: "Theme",
19236
19269
  setup(__props) {
@@ -19274,7 +19307,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
19274
19307
  color: "var(--theme-icon-fill-weak)",
19275
19308
  class: "checkbox-item-icon"
19276
19309
  }, null, 8, ["name"])
19277
- ], 16, _hoisted_3$8);
19310
+ ], 16, _hoisted_3$9);
19278
19311
  }), 128))
19279
19312
  ])
19280
19313
  ]);
@@ -19384,13 +19417,13 @@ const _hoisted_2$a = {
19384
19417
  class: "devui-submenu-title layer_2",
19385
19418
  style: { "padding": "0px 24px" }
19386
19419
  };
19387
- const _hoisted_3$7 = { class: "devui-submenu-title-content cursor-auto" };
19388
- const _hoisted_4$6 = {
19420
+ const _hoisted_3$8 = { class: "devui-submenu-title-content cursor-auto" };
19421
+ const _hoisted_4$8 = {
19389
19422
  class: "devui-submenu-title layer_2",
19390
19423
  style: { "padding": "0px 24px" }
19391
19424
  };
19392
- const _hoisted_5$4 = { class: "devui-submenu-title-content cursor-auto" };
19393
- const _hoisted_6$3 = { key: 0 };
19425
+ const _hoisted_5$6 = { class: "devui-submenu-title-content cursor-auto" };
19426
+ const _hoisted_6$4 = { key: 0 };
19394
19427
  const _hoisted_7$3 = { class: "project-label" };
19395
19428
  const _hoisted_8$3 = { class: "project-label flex-1 min-w-0 ellipsis" };
19396
19429
  const _hoisted_9$3 = {
@@ -19588,7 +19621,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
19588
19621
  _ctx.type === "project" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
19589
19622
  createElementVNode("div", _hoisted_2$a, [
19590
19623
  _cache[13] || (_cache[13] = createElementVNode("span", { class: "devui-menu-icon" }, null, -1)),
19591
- createElementVNode("span", _hoisted_3$7, [
19624
+ createElementVNode("span", _hoisted_3$8, [
19592
19625
  createElementVNode("div", {
19593
19626
  class: "fast-click-button",
19594
19627
  onClick: _cache[0] || (_cache[0] = ($event) => fastToLink("project"))
@@ -19647,9 +19680,9 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
19647
19680
  ], 2)
19648
19681
  ], 64)) : createCommentVNode("", true),
19649
19682
  _ctx.type === "team" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
19650
- createElementVNode("div", _hoisted_4$6, [
19683
+ createElementVNode("div", _hoisted_4$8, [
19651
19684
  _cache[14] || (_cache[14] = createElementVNode("span", { class: "devui-menu-icon" }, null, -1)),
19652
- createElementVNode("span", _hoisted_5$4, [
19685
+ createElementVNode("span", _hoisted_5$6, [
19653
19686
  createElementVNode("div", {
19654
19687
  class: "fast-click-button",
19655
19688
  onClick: _cache[7] || (_cache[7] = ($event) => fastToLink("team"))
@@ -19713,7 +19746,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
19713
19746
  }, null, 8, ["src", "name", "class"]))
19714
19747
  ]),
19715
19748
  default: withCtx(() => [
19716
- _ctx.type === "project" ? (openBlock(), createElementBlock("span", _hoisted_6$3, [
19749
+ _ctx.type === "project" ? (openBlock(), createElementBlock("span", _hoisted_6$4, [
19717
19750
  createElementVNode("span", _hoisted_7$3, toDisplayString$1((item.namespace || "").slice(0, 10)) + toDisplayString$1((item.namespace || "").length > 10 ? "..." : ""), 1),
19718
19751
  createElementVNode("span", _hoisted_8$3, "/" + toDisplayString$1(item.label), 1)
19719
19752
  ])) : (openBlock(), createElementBlock("span", _hoisted_9$3, toDisplayString$1(item.label), 1))
@@ -19756,9 +19789,9 @@ const _hoisted_2$9 = {
19756
19789
  class: "devui-submenu-title layer_2",
19757
19790
  style: { "padding": "0px 24px" }
19758
19791
  };
19759
- const _hoisted_3$6 = { class: "devui-submenu-title-content cursor-auto" };
19760
- const _hoisted_4$5 = { class: "project-label" };
19761
- const _hoisted_5$3 = { class: "project-label flex-1 min-w-0 ellipsis" };
19792
+ const _hoisted_3$7 = { class: "devui-submenu-title-content cursor-auto" };
19793
+ const _hoisted_4$7 = { class: "project-label" };
19794
+ const _hoisted_5$5 = { class: "project-label flex-1 min-w-0 ellipsis" };
19762
19795
  const INIT_SHOW_COUNT = 4;
19763
19796
  const LOAD_MORE_COUNT = 10;
19764
19797
  const _sfc_main$h = /* @__PURE__ */ defineComponent({
@@ -19853,7 +19886,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
19853
19886
  return openBlock(), createElementBlock("ul", _hoisted_1$f, [
19854
19887
  createElementVNode("div", _hoisted_2$9, [
19855
19888
  _cache[6] || (_cache[6] = createElementVNode("span", { class: "devui-menu-icon" }, null, -1)),
19856
- createElementVNode("span", _hoisted_3$6, [
19889
+ createElementVNode("span", _hoisted_3$7, [
19857
19890
  createElementVNode("div", {
19858
19891
  class: "fast-click-button",
19859
19892
  onClick: _cache[0] || (_cache[0] = ($event) => fastToLink())
@@ -19908,8 +19941,8 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
19908
19941
  ]),
19909
19942
  default: withCtx(() => [
19910
19943
  createElementVNode("span", null, [
19911
- createElementVNode("span", _hoisted_4$5, toDisplayString$1((item.namespace || "").slice(0, 10)) + toDisplayString$1((item.namespace || "").length > 10 ? "..." : ""), 1),
19912
- createElementVNode("span", _hoisted_5$3, "/" + toDisplayString$1(item.label), 1)
19944
+ createElementVNode("span", _hoisted_4$7, toDisplayString$1((item.namespace || "").slice(0, 10)) + toDisplayString$1((item.namespace || "").length > 10 ? "..." : ""), 1),
19945
+ createElementVNode("span", _hoisted_5$5, "/" + toDisplayString$1(item.label), 1)
19913
19946
  ])
19914
19947
  ]),
19915
19948
  _: 2
@@ -19947,13 +19980,13 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
19947
19980
  const ProjectMenuListV2 = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-gitcode-layout-lib"]]);
19948
19981
  const _hoisted_1$e = { class: "side-bar-label popup" };
19949
19982
  const _hoisted_2$8 = { class: "side-bar-label" };
19950
- const _hoisted_3$5 = {
19983
+ const _hoisted_3$6 = {
19951
19984
  key: 0,
19952
19985
  class: "line mt-[16px] mb-[6px]"
19953
19986
  };
19954
- const _hoisted_4$4 = ["src"];
19955
- const _hoisted_5$2 = ["src"];
19956
- const _hoisted_6$2 = { class: "side-bar-label" };
19987
+ const _hoisted_4$6 = ["src"];
19988
+ const _hoisted_5$4 = ["src"];
19989
+ const _hoisted_6$3 = { class: "side-bar-label" };
19957
19990
  const _hoisted_7$2 = {
19958
19991
  key: 1,
19959
19992
  class: "line mb-[16px] mt-[6px]"
@@ -20458,7 +20491,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20458
20491
  }, 1032, ["data-key", "data-openBlank", "data-route", "data-href", "data-host"]))
20459
20492
  ], 64);
20460
20493
  }), 256)),
20461
- !_ctx.asideSetShowLittle ? (openBlock(), createElementBlock("hr", _hoisted_3$5)) : createCommentVNode("", true),
20494
+ !_ctx.asideSetShowLittle ? (openBlock(), createElementBlock("hr", _hoisted_3$6)) : createCommentVNode("", true),
20462
20495
  (openBlock(true), createElementBlock(Fragment, null, renderList(externalRoutes.value, (item) => {
20463
20496
  return openBlock(), createBlock(unref(MenuItem), {
20464
20497
  key: `${item.key}-${item.logo}`,
@@ -20473,11 +20506,11 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20473
20506
  createElementVNode("img", {
20474
20507
  src: item.logo,
20475
20508
  class: "default-icon w-[16px] h-[16px]"
20476
- }, null, 8, _hoisted_4$4),
20509
+ }, null, 8, _hoisted_4$6),
20477
20510
  createElementVNode("img", {
20478
20511
  src: item.logo_hover,
20479
20512
  class: "active-icon w-[16px] h-[16px]"
20480
- }, null, 8, _hoisted_5$2)
20513
+ }, null, 8, _hoisted_5$4)
20481
20514
  ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
20482
20515
  createVNode(GIcon, {
20483
20516
  name: item.icon,
@@ -20494,7 +20527,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20494
20527
  ], 64))
20495
20528
  ]),
20496
20529
  default: withCtx(() => [
20497
- createElementVNode("span", _hoisted_6$2, toDisplayString$1(item.label), 1)
20530
+ createElementVNode("span", _hoisted_6$3, toDisplayString$1(item.label), 1)
20498
20531
  ]),
20499
20532
  _: 2
20500
20533
  }, 1032, ["data-key", "data-route", "data-href", "data-host", "data-openBlank"]);
@@ -21326,8 +21359,8 @@ const headerCustomPropsData = {
21326
21359
  };
21327
21360
  const _hoisted_1$c = { class: "home-wrapper" };
21328
21361
  const _hoisted_2$7 = { class: "home-content" };
21329
- const _hoisted_3$4 = { class: "home-left-side" };
21330
- const _hoisted_4$3 = { class: "home-main" };
21362
+ const _hoisted_3$5 = { class: "home-left-side" };
21363
+ const _hoisted_4$5 = { class: "home-main" };
21331
21364
  const _sfc_main$e = /* @__PURE__ */ defineComponent({
21332
21365
  __name: "home",
21333
21366
  setup(__props) {
@@ -21418,7 +21451,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
21418
21451
  onFollowUser: followUser
21419
21452
  }, null, 8, ["sceneValue", "independence", "isLogin", "request", "globalStore", "userInfo", "repoInfo", "orgInfo", "otherUserInfo", "headerCustomProps"]),
21420
21453
  createElementVNode("div", _hoisted_2$7, [
21421
- createElementVNode("div", _hoisted_3$4, [
21454
+ createElementVNode("div", _hoisted_3$5, [
21422
21455
  createVNode(GitCodeAside, {
21423
21456
  sceneValue: sceneSelected.value,
21424
21457
  userInfo: userInfo.value,
@@ -21438,7 +21471,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
21438
21471
  _: 1
21439
21472
  }, 8, ["sceneValue", "userInfo", "isLogin", "request", "globalStore", "independence", "collapseMode"])
21440
21473
  ]),
21441
- createElementVNode("div", _hoisted_4$3, [
21474
+ createElementVNode("div", _hoisted_4$5, [
21442
21475
  _cache[6] || (_cache[6] = createElementVNode("h1", null, "控制 Header 值传入", -1)),
21443
21476
  _cache[7] || (_cache[7] = createElementVNode("h2", null, "场景值 SceneValue", -1)),
21444
21477
  createVNode(unref(RadioGroup), {
@@ -21648,6 +21681,7 @@ const layoutConfig = useLayoutConfig();
21648
21681
  const { t: t$2 } = i18n.global;
21649
21682
  const GRAPH_CODE = 400007;
21650
21683
  const REMOTE_LOGIN_CODE = 400015;
21684
+ const MAX_MOBILE_COUNT = 10;
21651
21685
  const createLoginConfig = (request) => {
21652
21686
  const API = headRequest(request);
21653
21687
  return {
@@ -21655,14 +21689,15 @@ const createLoginConfig = (request) => {
21655
21689
  async phone(param, loginParams) {
21656
21690
  const { validFunc, successFunc = () => {
21657
21691
  }, failFunc = () => {
21658
- } } = param;
21692
+ }, country = "" } = param;
21659
21693
  const check = validFunc ? await validFunc() : true;
21660
21694
  if (!check) return;
21661
21695
  const result2 = await API.loginByMobile(loginParams);
21662
21696
  if (!result2.error) {
21663
21697
  const resultData = result2.data.data;
21698
+ saveLoginMobile(loginParams.mobile, country);
21664
21699
  successFunc(resultData, loginParams.mobile);
21665
- phoneAndPasswordLogin(resultData, API);
21700
+ phoneAndPasswordLogin(resultData, API, LoginMethodEnum.PHONE);
21666
21701
  } else {
21667
21702
  failFunc(result2.error.error_message);
21668
21703
  }
@@ -21689,7 +21724,7 @@ const createLoginConfig = (request) => {
21689
21724
  const { user_status_enum } = resultData;
21690
21725
  await successFunc(resultData);
21691
21726
  if (user_status_enum !== "MFA_CHECK") {
21692
- phoneAndPasswordLogin(resultData, API);
21727
+ phoneAndPasswordLogin(resultData, API, LoginMethodEnum.PASSWORD);
21693
21728
  }
21694
21729
  } else {
21695
21730
  failFunc(result2.error.error_message);
@@ -21713,7 +21748,7 @@ const createLoginConfig = (request) => {
21713
21748
  scene_id
21714
21749
  });
21715
21750
  if (!result2.error) {
21716
- phoneAndPasswordLogin(result2.data.data, API);
21751
+ phoneAndPasswordLogin(result2.data.data, API, LoginMethodEnum.MINI_PROGRAM);
21717
21752
  return { success: true, data: result2.data.data };
21718
21753
  }
21719
21754
  return { success: false, error: result2.error };
@@ -21840,11 +21875,12 @@ function bindResultResolve(params, API) {
21840
21875
  function sendMessageToParent(message) {
21841
21876
  window.parent && window.parent.postMessage(message, "*");
21842
21877
  }
21843
- function phoneAndPasswordLogin(userInfo, API) {
21878
+ function phoneAndPasswordLogin(userInfo, API, loginMethod) {
21844
21879
  successResolve({
21845
21880
  path: new URLSearchParams(window.location.search).get("returnUrl") || "",
21846
21881
  userInfo,
21847
- type: AuthTypeEnum.PHONE_AND_PASSWORD
21882
+ type: AuthTypeEnum.PHONE_AND_PASSWORD,
21883
+ loginMethod
21848
21884
  }, API);
21849
21885
  const params = {
21850
21886
  access_token: userInfo.access_token,
@@ -21879,12 +21915,13 @@ async function checkUserRepositoryIssue(API) {
21879
21915
  }
21880
21916
  async function successResolve(params, API) {
21881
21917
  var _a;
21882
- const { path, userInfo, type } = params;
21918
+ const { path, userInfo, type, loginMethod } = params;
21883
21919
  if (userInfo) {
21884
21920
  emitEvent("updateUserInfo", userInfo);
21885
21921
  const { username, email } = userInfo;
21886
21922
  setEmailValid(username, email);
21887
21923
  }
21924
+ saveLastLoginType(loginMethod);
21888
21925
  if (type === AuthTypeEnum.PHONE_AND_PASSWORD) {
21889
21926
  const { unMount, isMounted } = usePopup();
21890
21927
  if (isMounted()) {
@@ -21990,6 +22027,21 @@ const HandleParentWindowGetLoginInfo = (request) => {
21990
22027
  }
21991
22028
  };
21992
22029
  };
22030
+ function saveLoginMobile(mobile, country) {
22031
+ const loginMobileList = JSON.parse(localStorage$2.getItem("loginMobileList") || "[]");
22032
+ const index2 = loginMobileList.findIndex((item) => item.mobile === mobile);
22033
+ if (index2 !== -1) {
22034
+ loginMobileList.splice(index2, 1);
22035
+ }
22036
+ loginMobileList.unshift({ mobile, country });
22037
+ if (loginMobileList.length > MAX_MOBILE_COUNT) {
22038
+ loginMobileList.pop();
22039
+ }
22040
+ localStorage$2.setItem("loginMobileList", JSON.stringify(loginMobileList));
22041
+ }
22042
+ function saveLastLoginType(loginMethod) {
22043
+ localStorage$2.setItem("lastLoginMethod", loginMethod);
22044
+ }
21993
22045
  const logoBack = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='24px'%20height='24px'%20viewBox='0%200%2024%2024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3eic/左备份%3c/title%3e%3cg%20id='PC端'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3cg%20id='02-登录注册-登录、注册'%20transform='translate(-153,%20-1855)'%20fill='%238A8E99'%20fill-rule='nonzero'%3e%3cg%20id='编组-8'%20transform='translate(125,%201830)'%3e%3cg%20id='ic/左备份'%20transform='translate(31.1393,%2028.9697)'%3e%3cpolygon%20id='路径'%20points='8.03029121%203.55271368e-15%209.09102914%201.0605824%202.8725%207.2795%2017.8606602%207.2802912%2017.8606602%208.7802912%202.8695%208.7795%209.09102914%2014.9999222%208.03036898%2016.0606602%200%208.03146884'%3e%3c/polygon%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e";
21994
22046
  const __vite_glob_0_0 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
21995
22047
  __proto__: null,
@@ -22073,7 +22125,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
22073
22125
  autocomplete: { default: "on" },
22074
22126
  error: { type: Boolean, default: false }
22075
22127
  },
22076
- emits: ["change", "update:modelValue", "click"],
22128
+ emits: ["change", "update:modelValue", "click", "update:countdown"],
22077
22129
  setup(__props, { emit: __emit }) {
22078
22130
  const { t: $t } = i18n.global;
22079
22131
  const props = __props;
@@ -22094,6 +22146,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
22094
22146
  CountDown.value -= 1;
22095
22147
  } else {
22096
22148
  CountDown.value = 59;
22149
+ emits("update:countdown", false);
22097
22150
  DisabledBtn.value = false;
22098
22151
  timer && clearInterval(timer);
22099
22152
  timer = null;
@@ -22176,7 +22229,10 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
22176
22229
  }
22177
22230
  });
22178
22231
  const _hoisted_1$9 = { class: "flex flex-1 g-input-select" };
22179
- const _hoisted_2$6 = { class: "flex justify-between gap-[8px] flex-wrap" };
22232
+ const _hoisted_2$6 = { class: "login-phone" };
22233
+ const _hoisted_3$4 = { class: "flex justify-between gap-[8px] flex-wrap" };
22234
+ const _hoisted_4$4 = { class: "flex items-center justify-between" };
22235
+ const _hoisted_5$3 = { class: "flex justify-between gap-[8px] flex-wrap" };
22180
22236
  const _sfc_main$b = /* @__PURE__ */ defineComponent({
22181
22237
  __name: "inputSelect",
22182
22238
  props: {
@@ -22184,7 +22240,8 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
22184
22240
  "onUpdate:modelValue": { type: Function },
22185
22241
  placeholder: {},
22186
22242
  prop: {},
22187
- country: {}
22243
+ country: {},
22244
+ editableSelect: { type: Boolean }
22188
22245
  },
22189
22246
  emits: ["change", "selectChange", "update:modelValue"],
22190
22247
  setup(__props, { emit: __emit }) {
@@ -22193,7 +22250,6 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
22193
22250
  const emits = __emit;
22194
22251
  const cache_countdown = JSON.parse(localStorage$2.getItem("cache_countdown"));
22195
22252
  const { vModels } = useModel(props, emits);
22196
- console.log(cache_countdown, "cache_countdown");
22197
22253
  const country = ref((cache_countdown == null ? void 0 : cache_countdown.country) || DEFAULT_COUNTRY);
22198
22254
  const options = ref([]);
22199
22255
  const handleChange = () => {
@@ -22211,25 +22267,50 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
22211
22267
  };
22212
22268
  });
22213
22269
  };
22214
- onMounted(() => {
22215
- getAllCountries();
22216
- });
22270
+ const loginMobileList = ref([]);
22271
+ const mobileList = ref([]);
22272
+ const getHistoryMobile = () => {
22273
+ var _a, _b, _c, _d, _e;
22274
+ mobileList.value = JSON.parse(localStorage$2.getItem("loginMobileList")) || [];
22275
+ loginMobileList.value = (_a = mobileList.value) == null ? void 0 : _a.map((item) => {
22276
+ return {
22277
+ label: item.mobile,
22278
+ value: item.mobile
22279
+ };
22280
+ });
22281
+ country.value = ((_c = (_b = mobileList.value) == null ? void 0 : _b[0]) == null ? void 0 : _c.country) || country.value;
22282
+ emits("update:modelValue", (_e = (_d = mobileList.value) == null ? void 0 : _d[0]) == null ? void 0 : _e.mobile);
22283
+ };
22284
+ const deleteMobile = (mobile) => {
22285
+ loginMobileList.value = loginMobileList.value.filter((item) => item.value !== mobile);
22286
+ mobileList.value = mobileList.value.filter((item) => item.mobile !== mobile);
22287
+ localStorage$2.setItem("loginMobileList", JSON.stringify(mobileList.value));
22288
+ };
22289
+ const handleSelectChange = (value) => {
22290
+ var _a;
22291
+ country.value = ((_a = mobileList.value.find((item) => item.mobile === value)) == null ? void 0 : _a.country) || country.value;
22292
+ emits("change");
22293
+ };
22217
22294
  const handleCountryChange = () => {
22218
22295
  emits("selectChange", country.value);
22219
22296
  emits("change");
22220
22297
  };
22298
+ const handleInputSelectChange = (value) => {
22299
+ emits("update:modelValue", value);
22300
+ emits("change");
22301
+ };
22302
+ onMounted(() => {
22303
+ getAllCountries();
22304
+ if (props.editableSelect) {
22305
+ getHistoryMobile();
22306
+ }
22307
+ });
22221
22308
  return (_ctx, _cache) => {
22222
22309
  return openBlock(), createElementBlock("div", _hoisted_1$9, [
22223
- createVNode(unref(Input), mergeProps({
22224
- modelValue: unref(vModels),
22225
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(vModels) ? vModels.value = $event : null)
22226
- }, _ctx.prop, {
22227
- placeholder: _ctx.placeholder,
22228
- onChange: handleChange
22229
- }), {
22230
- prepend: withCtx(() => [
22310
+ createElementVNode("div", _hoisted_2$6, [
22311
+ (props == null ? void 0 : props.editableSelect) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
22231
22312
  createVNode(unref(Select), {
22232
- class: "input-select",
22313
+ class: "login-country-select",
22233
22314
  modelValue: country.value,
22234
22315
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => country.value = $event),
22235
22316
  menuClass: "country-select",
@@ -22243,7 +22324,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
22243
22324
  value: item.value
22244
22325
  }, {
22245
22326
  default: withCtx(() => [
22246
- createElementVNode("div", _hoisted_2$6, [
22327
+ createElementVNode("div", _hoisted_3$4, [
22247
22328
  createElementVNode("span", null, toDisplayString$1(item.name), 1),
22248
22329
  createElementVNode("span", null, toDisplayString$1(item.label), 1)
22249
22330
  ])
@@ -22253,10 +22334,70 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
22253
22334
  }), 128))
22254
22335
  ]),
22255
22336
  _: 1
22256
- }, 8, ["modelValue"])
22257
- ]),
22258
- _: 1
22259
- }, 16, ["modelValue", "placeholder"])
22337
+ }, 8, ["modelValue"]),
22338
+ createVNode(unref(EditableSelect), mergeProps({
22339
+ modelValue: unref(vModels),
22340
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(vModels) ? vModels.value = $event : null)
22341
+ }, props, {
22342
+ size: "lg",
22343
+ width: 292,
22344
+ options: loginMobileList.value,
22345
+ placeholder: props.placeholder,
22346
+ onInputChange: handleInputSelectChange,
22347
+ onChange: handleSelectChange,
22348
+ class: "login-phone-select"
22349
+ }), {
22350
+ item: withCtx((slotProps) => [
22351
+ createElementVNode("div", _hoisted_4$4, [
22352
+ createElementVNode("div", null, toDisplayString$1(slotProps.option.label), 1),
22353
+ createVNode(GIcon, {
22354
+ name: "gt-line-delete",
22355
+ class: "w-[16px] h-[16px] cursor-pointer",
22356
+ onClick: withModifiers(($event) => deleteMobile(slotProps.option.value), ["stop"])
22357
+ }, null, 8, ["onClick"])
22358
+ ])
22359
+ ]),
22360
+ _: 1
22361
+ }, 16, ["modelValue", "options", "placeholder"])
22362
+ ], 64)) : (openBlock(), createBlock(unref(Input), mergeProps({
22363
+ key: 1,
22364
+ modelValue: unref(vModels),
22365
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => isRef(vModels) ? vModels.value = $event : null)
22366
+ }, _ctx.prop, {
22367
+ placeholder: _ctx.placeholder,
22368
+ onChange: handleChange
22369
+ }), {
22370
+ prepend: withCtx(() => [
22371
+ createVNode(unref(Select), {
22372
+ class: "input-select",
22373
+ modelValue: country.value,
22374
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => country.value = $event),
22375
+ menuClass: "country-select",
22376
+ onValueChange: handleCountryChange
22377
+ }, {
22378
+ default: withCtx(() => [
22379
+ (openBlock(true), createElementBlock(Fragment, null, renderList(options.value, (item, index2) => {
22380
+ return openBlock(), createBlock(unref(Option), {
22381
+ name: item.label,
22382
+ key: index2,
22383
+ value: item.value
22384
+ }, {
22385
+ default: withCtx(() => [
22386
+ createElementVNode("div", _hoisted_5$3, [
22387
+ createElementVNode("span", null, toDisplayString$1(item.name), 1),
22388
+ createElementVNode("span", null, toDisplayString$1(item.label), 1)
22389
+ ])
22390
+ ]),
22391
+ _: 2
22392
+ }, 1032, ["name", "value"]);
22393
+ }), 128))
22394
+ ]),
22395
+ _: 1
22396
+ }, 8, ["modelValue"])
22397
+ ]),
22398
+ _: 1
22399
+ }, 16, ["modelValue", "placeholder"]))
22400
+ ])
22260
22401
  ]);
22261
22402
  };
22262
22403
  }
@@ -22278,7 +22419,8 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
22278
22419
  errors: { default: {
22279
22420
  msgError: false
22280
22421
  } },
22281
- isForget: { type: Boolean, default: false }
22422
+ isForget: { type: Boolean, default: false },
22423
+ formErrors: { default: {} }
22282
22424
  },
22283
22425
  emits: ["change", "countDown", "complete"],
22284
22426
  setup(__props, { expose: __expose, emit: __emit }) {
@@ -22452,6 +22594,9 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
22452
22594
  return autoComplete ? "on" : "off";
22453
22595
  }
22454
22596
  };
22597
+ const updateCountdown = (formItem) => {
22598
+ formItem.props.countdown = false;
22599
+ };
22455
22600
  onBeforeMount(() => {
22456
22601
  if (timer) {
22457
22602
  clearTimeout(timer);
@@ -22510,21 +22655,25 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
22510
22655
  "onUpdate:modelValue": ($event) => Data[formItem.key] = $event,
22511
22656
  onChange: ($event) => handleChange(formItem.key),
22512
22657
  onClick: ($event) => handleOperate(formItem),
22658
+ "onUpdate:countdown": ($event) => updateCountdown(formItem),
22513
22659
  placeholder: formItem.label
22514
22660
  }, { ref_for: true }, formItem.props, {
22515
22661
  hasMobile: !!Data[(_b = formItem.props) == null ? void 0 : _b.aliasKey],
22516
22662
  text: unref($t)("gitCodeLayout.userSetting.account.getVerificationCode"),
22517
22663
  error: _ctx.errors.msgError,
22518
22664
  autocomplete: autocompleteCalc((_c = formItem.props) == null ? void 0 : _c.autocomplete)
22519
- }), null, 16, ["modelValue", "onUpdate:modelValue", "onChange", "onClick", "placeholder", "hasMobile", "text", "error", "autocomplete"])) : formItem.type === "inputSelect" ? (openBlock(), createBlock(_sfc_main$b, mergeProps({
22665
+ }), null, 16, ["modelValue", "onUpdate:modelValue", "onChange", "onClick", "onUpdate:countdown", "placeholder", "hasMobile", "text", "error", "autocomplete"])) : formItem.type === "inputSelect" ? (openBlock(), createBlock(_sfc_main$b, mergeProps({
22520
22666
  key: 2,
22521
22667
  country: Data.country,
22668
+ class: _ctx.formErrors["mobile"] ? "input-select-error" : "",
22522
22669
  modelValue: Data[formItem.key],
22523
22670
  "onUpdate:modelValue": ($event) => Data[formItem.key] = $event,
22524
22671
  onSelectChange: _cache[0] || (_cache[0] = (evt) => handleSelectChange("country", evt)),
22525
22672
  onChange: ($event) => handleChange(formItem.key),
22526
22673
  placeholder: unref($t)("gitCodeLayout.LoginModal.rule.pleaseFill", { label: formItem.label })
22527
- }, { ref_for: true }, formItem.props), null, 16, ["country", "modelValue", "onUpdate:modelValue", "onChange", "placeholder"])) : (openBlock(), createBlock(resolveDynamicComponent(formItem.render), mergeProps({
22674
+ }, { ref_for: true }, formItem.props, {
22675
+ editableSelect: formItem.editableSelect
22676
+ }), null, 16, ["country", "class", "modelValue", "onUpdate:modelValue", "onChange", "placeholder", "editableSelect"])) : (openBlock(), createBlock(resolveDynamicComponent(formItem.render), mergeProps({
22528
22677
  key: formItem.key,
22529
22678
  modelValue: Data[formItem.key],
22530
22679
  "onUpdate:modelValue": ($event) => Data[formItem.key] = $event,
@@ -22545,32 +22694,41 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
22545
22694
  };
22546
22695
  }
22547
22696
  });
22548
- const _hoisted_1$8 = { class: "tips text-[var(--devui-disabled-text)]" };
22549
- const _hoisted_2$5 = { class: "icons" };
22550
- const _hoisted_3$3 = ["src", "alt", "onClick"];
22697
+ const recentLoginImg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAoCAYAAAAIeF9DAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAfgSURBVHgB7ZtLbFRlFMfPnU4LhbaMgAJCdJpYImwoK7vgMSwkGDckQgwrARduJNREE4nykhhJMKGNblxIuzOEElcGAptiWeCKuoFIMYykCEoLpQ9eZWY8v9v52tvbOzP33mlLDPefTDtzn993/uf8z/nO3LGkDNxIphJPRVIxyW7MipXUTY0xySVyIgl5gWCJDOTESuu80yK532MS62xId3ZKCFgSAj3JVConuYOW5BpfNOMHQFrN21kp1uH6dGfa70mBCPkjmdqqJBxXL0hKhACw2v0S44sQlabkqOTalIiURAiLtNrv8Mp0V3uxg2JSAn8mN+x9JtnLERllI6n+33YtueF4sYOKRkhPcsNBzRGHJMI0w+pWCdukEjbg3lMwQiIyZhK5Rk0BP3vt8SQkImM2kEt5ydcUySJnZERaJMKsICu5T95Md43bexIhVFMk8GhtMasYqJRYvcknkyQLXYvImHUkRiV70HwYJ+RaMrWTZCP/E8TqaiQsyjl3htBMG4o38YltuYN+z56z+g1J7NouQTB4+ow8utQ9aVvliqWy7Ievpb+1TUbOXZy0D6NV5A0X1+M4Nr6c/8tkXlOjvS29/n0Z7b0z5V5Lju3zHMOj3y7LnFUN9vh7d+y1t720e7vEamvsMRTC/LfXSc3m9eIX/3z2jQTFU8k2679DNiHXk+u3ZgO0QzBW3bYtcv/EKckODpc8flHzLnl46fKU7RjzyZXr8qqSwiQGO86O70vs2mafZ8B9Mvri+KFzXWrcbvuzFyDLDUjMDA7J8PkuSezeJvM3r5MqJXfx/o+lv6UwGaBiQY3nNd2owmn0FYYQTeZ4yBghOYl9wN+gwCh+CCkGBj966/a4VztJeagR9a/ux/B+70MkDbSdmhRxRAGEPGjrsJ0AR8IJAGTca22339e9t0UJuzjlXozJOa5CWLh35yQnCogETds42qVJZauEwMK9u8omBNxraZfK5ctsSXLDS5KKoVYjd5GOi2siQxBEFECCuRYE1KoE4YIDShLAkBg089EXU+QTIHOlcg9yWg4ykmmM659UyC683NHB+zFYw40LJY8JE+ZegAic5OX9e2z5IDIYY9+R78ePYT85ZMVPrfaL3IaM3T3ynScZgIjyI1vlwUrF9YullIQEk5lJzFWvLHUPigW3nAyc6FAXs+zIABBQ33VyyrnG4yHDncPcuKEFRCmUKVmUvGs0h1hrguYPPCrtY4BOeCVgEmuFQwa4rok4jMU5zghEfqrV44fPTei8+7ocQ3Rw7RFN/v0qT8hNsblAOjkM2XRWW85Kzw9idbXjY3DOO4CsJ5SQnO+FIEmv3LBlcEa3a7ScrG5aa79nEnc+1QTfO+alGAIynFLG/SGkT6WlULlL9ce+vx25gMqsGPD+hc1j3k0OuqVyxjXclZ5fJB3RONhxRudw1O+pibhmj6Tf+Ihp+UfiqlHvY5JOo+CFGHW4gAYbOD3aOVC3pHCfx1d6JAhYZzy52mNLD8R4yZQXhjWS7mqOGdLzFqh8mXkNnT5rV5KFsFQdYLT3th2FThBZJiqeBSxK4kFaJWgzmNd0Uh4o8wzYAP2s2/bOtCVnCMZQQeDMASz2MAyJuhiQN5NL7OT/1UTyN8SweB3S+d7PR7YTHONe8L72y49KxG2N0i8lIAbiEhKvHNgjix3hbDSfKEkW8EzWFbfyK+RiMCXmk6vXpRwwnlLrB0rkYsDgLCYXH9hj54ipOaZ20mcIrgy5ONR8ng5NCBEycn5Cnsb0fa09AbySid5898Px/eg7XuMHtGW8PC8oKvIdhWLw09eilEaibYnSRSyybCKL4oG5Uu0RSWyjpC6Vt7yg3ZK/QhOSGxxxbZlYy+CVDJIEzHtTHfXvaCt53cr82sGr1RIUGKdQXysoKBBuXhlzsNdVkog+8gM5BNIpCkbyuSjoYtZALdgdmhAGMbdpojlMH8cUByQ0QhsvwsvxHL8eX5WXq3uuRBkUnG8kr9Bij6YhfSo/bRFAg5FciTpwfYgZqwSP2qVz1eoGKQc8YFfyqZNC6NMeEPnAvBgkMDU4BQChTYJjW7HcgRdTTtNzgrTefNlZLshFyIzXOgTSyYPVb5X+xoHoxuCQgaOx6neuLRgrY2Yb+bNUXiqANE87BiIEvWRVy2ToBWFIXhgdY2J43gOzqDIaXd3kPXGiiDKadQPg/EILqUGt6nrqN/omy2g/93CD8RLRxSLREMGLY8mJptJ0gzGxH8KQL4gplb8mw+rkbyDJmqfeNFcT92OdZMZuhw/ZxqP+Z5FHyDIoPATiOIbPEAlxNCOd/SIKAdO2YBvRseTY5/ZkMKSTGNN+B06iAWSyn3Mpvb1QqJ/mrgid3d/q/PcuzkWmqQDNy90pwAlYzxBNXh3sQsiIdZj/1rXkhuB9dw+YdQgELFePGtFSEW8yRiV6OAZdN14GUUiGs/EHMAQTp/vrLCs9J6LX78uvNTivssxOAo5gKiRDutMxcKIl3+4b316somIs/qLZal+ZvmDr3LQREiE00hmJbVqVf+43dFKPMF3IHV7leAg7IuT5otX98HVEyHOD1b0y/Wuze2tEyHOB/UOeTV57Qq/UI4SGytSF5kI7owiZJfA7RJ7j9ZIpJ6IImR20xiV2qMHj9yBuRITMEMYiQlqrJNZS74MIg4iQacCY8a0B1X9tZ2e1R1PRHfZn0f8BoszztTsf3m0AAAAASUVORK5CYII=";
22698
+ const _hoisted_1$8 = { class: "auth-container" };
22699
+ const _hoisted_2$5 = { class: "tips text-[var(--devui-disabled-text)]" };
22700
+ const _hoisted_3$3 = { class: "icons" };
22701
+ const _hoisted_4$3 = ["src", "alt", "onClick"];
22702
+ const _hoisted_5$2 = { class: "w-[50px] h-[20px] recent-login-img" };
22703
+ const _hoisted_6$2 = ["src"];
22551
22704
  const _sfc_main$9 = /* @__PURE__ */ defineComponent({
22552
22705
  __name: "auth",
22553
22706
  props: {
22554
- logos: {}
22707
+ logos: {},
22708
+ recentLoginType: {}
22555
22709
  },
22556
22710
  emits: ["auth"],
22557
22711
  setup(__props, { emit: __emit }) {
22558
22712
  const request = inject("request");
22559
22713
  const API = headRequest(request);
22560
22714
  const { t: $t } = i18n.global;
22715
+ const props = __props;
22561
22716
  const emits = __emit;
22562
22717
  const handleClick = (icon) => {
22563
22718
  useReport(LOGIN_MODAL_TAB_SWITCH, { source: `oauth_${icon.alt}` }, API.report);
22564
22719
  emits("auth", icon.alt);
22565
22720
  };
22721
+ const checkIsRecentLogin = (loginMethodList) => {
22722
+ return loginMethodList.includes(props.recentLoginType);
22723
+ };
22566
22724
  return (_ctx, _cache) => {
22567
- return openBlock(), createElementBlock(Fragment, null, [
22568
- createElementVNode("div", _hoisted_1$8, " —— " + toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.subtitle.otherLogin")) + " —— ", 1),
22569
- createElementVNode("div", _hoisted_2$5, [
22725
+ return openBlock(), createElementBlock("div", _hoisted_1$8, [
22726
+ createElementVNode("div", _hoisted_2$5, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.subtitle.otherLogin")), 1),
22727
+ createElementVNode("div", _hoisted_3$3, [
22570
22728
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.logos, (icon) => {
22571
22729
  return openBlock(), createElementBlock("div", {
22572
22730
  key: icon.alt,
22573
- class: "rounded-[50%] w-[40px] h-[40px] border-[1px] icon-wrap border-solid cursor-pointer mx-[12px] otherInfo-icon"
22731
+ class: "rounded-[50%] w-[40px] h-[40px] border-[1px] icon-wrap border-solid cursor-pointer otherInfo-icon"
22574
22732
  }, [
22575
22733
  createVNode(unref(Tooltip), {
22576
22734
  position: "top",
@@ -22583,14 +22741,21 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
22583
22741
  src: icon.src,
22584
22742
  alt: icon.alt,
22585
22743
  onClick: withModifiers(($event) => handleClick(icon), ["stop"])
22586
- }, null, 8, _hoisted_3$3)
22744
+ }, null, 8, _hoisted_4$3)
22587
22745
  ]),
22588
22746
  _: 2
22589
- }, 1032, ["content", "disabled"])
22747
+ }, 1032, ["content", "disabled"]),
22748
+ createElementVNode("div", _hoisted_5$2, [
22749
+ checkIsRecentLogin(icon.loginMethodList) ? (openBlock(), createElementBlock("img", {
22750
+ key: 0,
22751
+ src: unref(recentLoginImg),
22752
+ class: "w-[50px] h-[20px]"
22753
+ }, null, 8, _hoisted_6$2)) : createCommentVNode("", true)
22754
+ ])
22590
22755
  ]);
22591
22756
  }), 128))
22592
22757
  ])
22593
- ], 64);
22758
+ ]);
22594
22759
  };
22595
22760
  }
22596
22761
  });
@@ -22658,7 +22823,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
22658
22823
  modelValue: unref(vModels),
22659
22824
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => isRef(vModels) ? vModels.value = $event : null),
22660
22825
  size: "sm",
22661
- class: "mt-[6px] mb-[12px] agree-module flex items-center"
22826
+ class: "mb-[8px] agree-module flex items-center"
22662
22827
  }, {
22663
22828
  default: withCtx(() => [
22664
22829
  createElementVNode("span", _hoisted_1$6, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.readAgree")), 1),
@@ -22680,12 +22845,16 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
22680
22845
  const _hoisted_1$5 = { class: "text-center text-[18px] leading-[26px] font-bold mb-[24px] flex items-center justify-center relative" };
22681
22846
  const _hoisted_2$3 = { class: "back-img absolute mr-[24px] left-0" };
22682
22847
  const _hoisted_3$2 = ["src"];
22683
- const _hoisted_4$2 = { class: "tracking-[.5px]" };
22848
+ const _hoisted_4$2 = {
22849
+ key: 0,
22850
+ class: "tracking-[.5px]"
22851
+ };
22684
22852
  const _sfc_main$6 = /* @__PURE__ */ defineComponent({
22685
22853
  __name: "title",
22686
22854
  props: {
22687
22855
  title: {},
22688
22856
  showBack: { type: Boolean },
22857
+ showTitle: { type: Boolean },
22689
22858
  icon: {}
22690
22859
  },
22691
22860
  emits: ["back"],
@@ -22704,7 +22873,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
22704
22873
  onClick: withModifiers(handleClick, ["stop"])
22705
22874
  }, null, 8, _hoisted_3$2)) : createCommentVNode("", true)
22706
22875
  ]),
22707
- createElementVNode("span", _hoisted_4$2, toDisplayString$1(_ctx.title), 1)
22876
+ _ctx.showTitle ? (openBlock(), createElementBlock("span", _hoisted_4$2, toDisplayString$1(_ctx.title), 1)) : createCommentVNode("", true)
22708
22877
  ]);
22709
22878
  };
22710
22879
  }
@@ -25371,7 +25540,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
25371
25540
  }
25372
25541
  });
25373
25542
  const MFA = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-gitcode-layout-lib"]]);
25374
- const SlidCaptcha = defineAsyncComponent(() => import("./index-Djd8bD8C.js"));
25543
+ const SlidCaptcha = defineAsyncComponent(() => import("./index-ZHDtIGuJ.js"));
25375
25544
  const useSlidCaptcha = () => {
25376
25545
  const { mount, unMount } = usePopup("slid-captcha-popup");
25377
25546
  const open = (config) => {
@@ -25494,59 +25663,73 @@ function useVisibilityPoll(pollFunction, options = {}, shouldPoll) {
25494
25663
  stopPoll
25495
25664
  };
25496
25665
  }
25497
- const _hoisted_1$1 = { class: "flex items-center gap-1" };
25666
+ const _hoisted_1$1 = { class: "flex items-center gap-1 h-[48px]" };
25498
25667
  const _hoisted_2 = { class: "devui-icon__container devui-icon--operable devui-icon--no-slots self-start min-w-[34px] mt-[-6px]" };
25499
25668
  const _hoisted_3 = {
25500
- key: 0,
25501
- class: "text-[14px] leading-[20px] text-[var(--devui-placeholder)] font-normal"
25502
- };
25503
- const _hoisted_4 = {
25504
- key: 0,
25505
- class: "flex items-center justify-center mb-[24px] mt-[-2px]"
25506
- };
25507
- const _hoisted_5 = {
25508
25669
  key: 1,
25509
- class: "forget-tips text-[var(--devui-link)] my-[16px] min-h-[32px] leading-[32px] px-[12px] tracking-[.5px]"
25510
- };
25511
- const _hoisted_6 = { class: "qrcode-container flex flex-col items-center justify-center my-4" };
25512
- const _hoisted_7 = ["src"];
25513
- const _hoisted_8 = {
25514
- key: 0,
25515
- class: "mask"
25670
+ class: "login-modal-content"
25516
25671
  };
25672
+ const _hoisted_4 = ["src"];
25673
+ const _hoisted_5 = { class: "text-[var(--theme-text)] mt-[6px]" };
25674
+ const _hoisted_6 = { class: "qrcode-container flex flex-col items-center justify-center" };
25675
+ const _hoisted_7 = { class: "flex flex-col items-center justify-center w-[180px] h-[180px] relative" };
25676
+ const _hoisted_8 = ["src"];
25517
25677
  const _hoisted_9 = {
25518
25678
  key: 0,
25519
- class: "flex flex-col gap-2 items-center justify-center"
25679
+ class: "mask"
25520
25680
  };
25521
- const _hoisted_10 = {
25681
+ const _hoisted_10 = { class: "flex gap-1 items-center justify-center text-[16px] flex-wrap font-medium" };
25682
+ const _hoisted_11 = { class: "text-[#252B3A]" };
25683
+ const _hoisted_12 = { class: "text-[var(--theme-link)]" };
25684
+ const _hoisted_13 = {
25522
25685
  key: 1,
25523
25686
  class: "flex flex-col gap-3 items-center justify-center"
25524
25687
  };
25525
- const _hoisted_11 = { class: "text-[var(--color-success)]" };
25526
- const _hoisted_12 = { class: "text-center" };
25527
- const _hoisted_13 = {
25688
+ const _hoisted_14 = { class: "text-[var(--color-success)]" };
25689
+ const _hoisted_15 = { class: "text-center" };
25690
+ const _hoisted_16 = {
25691
+ key: 0,
25692
+ class: "text-center text-[16px] mt-[40px] text-[var(--devui-text-weak)] font-bold"
25693
+ };
25694
+ const _hoisted_17 = {
25528
25695
  key: 1,
25529
- class: "text-center mt-2 text-[var(--devui-text-weak)] font-bold"
25696
+ class: "ml-[44px] mt-[32px] mr-[44px] text-[var(--theme-text)] leading-[22px]"
25530
25697
  };
25531
- const _hoisted_14 = {
25698
+ const _hoisted_18 = { class: "font-medium text-[20px]" };
25699
+ const _hoisted_19 = { class: "mt-[16px]" };
25700
+ const _hoisted_20 = {
25532
25701
  key: 0,
25533
- class: "login-modal-info h-[20px]"
25702
+ class: "flex items-baseline justify-between mb-[24px]"
25534
25703
  };
25535
- const _hoisted_15 = { class: "login-modal-info-left" };
25536
- const _hoisted_16 = {
25704
+ const _hoisted_21 = { class: "flex items-center" };
25705
+ const _hoisted_22 = { class: "w-[50px] h-[20px] last-login-img" };
25706
+ const _hoisted_23 = ["src"];
25707
+ const _hoisted_24 = { class: "text-[12px] leading-[32px] text-center" };
25708
+ const _hoisted_25 = {
25537
25709
  key: 1,
25538
- class: "mt-[18px]"
25710
+ class: "forget-tips text-[var(--devui-link)] my-[16px] min-h-[32px] leading-[32px] px-[12px] tracking-[.5px]"
25539
25711
  };
25540
- const _hoisted_17 = { class: "flex items-center justify-between pr-[16px]" };
25541
- const _hoisted_18 = { class: "mr-[16px]" };
25542
- const _hoisted_19 = {
25712
+ const _hoisted_26 = { key: 2 };
25713
+ const _hoisted_27 = { class: "flex items-center justify-between" };
25714
+ const _hoisted_28 = { class: "text-[var(--devui-text-weak)] font-bold text-[16px]" };
25715
+ const _hoisted_29 = { class: "text-[12px] leading-[32px]" };
25716
+ const _hoisted_30 = { class: "text-[12px] leading-[20px] mt-[16px] text-[var(--devui-placeholder)] font-normal" };
25717
+ const _hoisted_31 = {
25543
25718
  key: 0,
25544
- class: "login-modal-footer"
25719
+ class: "login-modal-info h-[20px]"
25545
25720
  };
25546
- const _hoisted_20 = { class: "flex justify-center" };
25547
- const _hoisted_21 = { key: 1 };
25548
- const _hoisted_22 = { class: "line-clamp-2" };
25549
- const _hoisted_23 = { class: "absolute-btn" };
25721
+ const _hoisted_32 = { class: "login-modal-info-left" };
25722
+ const _hoisted_33 = { class: "mt-[18px]" };
25723
+ const _hoisted_34 = { class: "flex justify-center" };
25724
+ const _hoisted_35 = { class: "flex items-center justify-center pr-[16px] mt-[16px]" };
25725
+ const _hoisted_36 = { class: "harmony-icon" };
25726
+ const _hoisted_37 = { class: "w-[50px] h-[20px] last-login-img" };
25727
+ const _hoisted_38 = ["src"];
25728
+ const _hoisted_39 = { class: "ml-[8px] text-[12px]" };
25729
+ const _hoisted_40 = { class: "login-modal-footer flex items-center justify-center" };
25730
+ const _hoisted_41 = { key: 2 };
25731
+ const _hoisted_42 = { class: "line-clamp-2" };
25732
+ const _hoisted_43 = { class: "absolute-btn" };
25550
25733
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25551
25734
  ...{
25552
25735
  name: "GLoginModal"
@@ -25589,6 +25772,10 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25589
25772
  const IconB = TransAssetsUrl(IconSource, "logo-back");
25590
25773
  const IconW = TransAssetsUrl(IconSource, "logo-wechat");
25591
25774
  const IconHb = TransAssetsUrl(IconSource, "logo-hb");
25775
+ const logoType = {
25776
+ black: "https://cdn-static.gitcode.com/static/images/gitcode-logo-white.png",
25777
+ white: "https://cdn-static.gitcode.com/static/images/gitcode-logo-dark.png"
25778
+ };
25592
25779
  const formErrors = reactive({});
25593
25780
  const extraErrors = reactive({
25594
25781
  agreement: "",
@@ -25612,27 +25799,32 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25612
25799
  {
25613
25800
  src: IconC,
25614
25801
  alt: "csdn",
25615
- describe: "csdn" + $t("gitCodeLayout.LoginModal.action.AccountLogin")
25802
+ describe: "csdn" + $t("gitCodeLayout.LoginModal.action.AccountLogin"),
25803
+ loginMethodList: ["csdn"]
25616
25804
  },
25617
25805
  {
25618
25806
  src: IconHb,
25619
25807
  alt: "hbuilder",
25620
- describe: "Hbuilder" + $t("gitCodeLayout.LoginModal.action.AccountLogin")
25808
+ describe: "Hbuilder" + $t("gitCodeLayout.LoginModal.action.AccountLogin"),
25809
+ loginMethodList: ["hbuilder", "hbuilder_plugins"]
25621
25810
  },
25622
25811
  {
25623
25812
  src: currentTheme.value === ThemeType.WHITE ? IconG : IconGW,
25624
25813
  alt: "github",
25625
- describe: "github" + $t("gitCodeLayout.LoginModal.action.AccountLogin")
25814
+ describe: "github" + $t("gitCodeLayout.LoginModal.action.AccountLogin"),
25815
+ loginMethodList: ["github"]
25626
25816
  },
25627
25817
  {
25628
25818
  src: IconH,
25629
25819
  alt: "gitee",
25630
- describe: "gitee" + $t("gitCodeLayout.LoginModal.action.AccountLogin")
25820
+ describe: "gitee" + $t("gitCodeLayout.LoginModal.action.AccountLogin"),
25821
+ loginMethodList: ["gitee"]
25631
25822
  },
25632
25823
  {
25633
25824
  src: IconW,
25634
25825
  alt: "wechat_open",
25635
- describe: $t("gitCodeLayout.LoginModal.action.wechatScanCodeLogin")
25826
+ describe: $t("gitCodeLayout.LoginModal.action.wechatScanCodeLogin"),
25827
+ loginMethodList: ["wechat_open", "wechat_mp"]
25636
25828
  }
25637
25829
  ]);
25638
25830
  const emits = __emit;
@@ -25671,7 +25863,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25671
25863
  {
25672
25864
  type: "input",
25673
25865
  key: "username",
25674
- label: $t("gitCodeLayout.LoginModal.subtitle.name") + "/" + $t("gitCodeLayout.common.email"),
25866
+ label: $t("gitCodeLayout.userSetting.account.phone") + "/" + $t("gitCodeLayout.LoginModal.subtitle.name") + "/" + $t("gitCodeLayout.common.email"),
25675
25867
  required: true
25676
25868
  },
25677
25869
  {
@@ -25854,7 +26046,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25854
26046
  const status = ref(false);
25855
26047
  const hwStatus = ref(false);
25856
26048
  const FormRef = shallowRef(null);
25857
- const tabPanel = ref("miniProgram");
26049
+ const tabPanel = ref("verifyCode");
25858
26050
  const formType = ref(props.defaultType);
25859
26051
  const showProtoCheck = ref(false);
25860
26052
  const agreeAndLogin = () => {
@@ -25874,13 +26066,14 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25874
26066
  dict: RegisterForm.map((item) => {
25875
26067
  return {
25876
26068
  ...item,
25877
- defaultValue: item.key === "mobile" ? cacheForm.mobile : item.key === "verificationcode" ? cacheForm.verificationcode : ""
26069
+ defaultValue: item.key === "mobile" ? cacheForm.mobile : item.key === "verificationcode" ? cacheForm.verificationcode : "",
26070
+ editableSelect: false
25878
26071
  };
25879
26072
  }),
25880
26073
  showLabel: true,
25881
26074
  layout: "horizontal",
25882
- title: `🎉${$t("gitCodeLayout.LoginModal.title.register")}`,
25883
- showBack: true
26075
+ showTitle: false,
26076
+ showBack: false
25884
26077
  };
25885
26078
  }
25886
26079
  if (formType.value === "forget") {
@@ -25897,12 +26090,13 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25897
26090
  dict: VerifyForm.map((item) => {
25898
26091
  return {
25899
26092
  ...item,
25900
- defaultValue: item.key === "mobile" ? cacheForm.mobile : ""
26093
+ defaultValue: item.key === "mobile" ? cacheForm.mobile : "",
26094
+ editableSelect: true
25901
26095
  };
25902
26096
  }),
25903
26097
  showLabel: false,
25904
26098
  layout: "vertical",
25905
- title: `🎉${$t("gitCodeLayout.LoginModal.title.login")}`,
26099
+ showTitle: false,
25906
26100
  showBack: false
25907
26101
  };
25908
26102
  } else if (tabPanel.value === "password") {
@@ -25910,7 +26104,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25910
26104
  dict: PasswordForm,
25911
26105
  showLabel: false,
25912
26106
  layout: "vertical",
25913
- title: `🎉${$t("gitCodeLayout.LoginModal.title.login")}`,
26107
+ showTitle: false,
25914
26108
  showBack: false
25915
26109
  };
25916
26110
  } else {
@@ -25918,7 +26112,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25918
26112
  dict: MiniProgramForm,
25919
26113
  showLabel: false,
25920
26114
  layout: "vertical",
25921
- title: `🎉${$t("gitCodeLayout.LoginModal.title.login")}`,
26115
+ showTitle: false,
25922
26116
  showBack: false
25923
26117
  };
25924
26118
  }
@@ -25970,7 +26164,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25970
26164
  };
25971
26165
  const mfaCheck = ref(false);
25972
26166
  const handleMFALogin = (data) => {
25973
- phoneAndPasswordLogin(data, API);
26167
+ phoneAndPasswordLogin(data, API, LoginMethodEnum.PASSWORD);
25974
26168
  };
25975
26169
  const slidCaptcha = useSlidCaptcha();
25976
26170
  const LoginCheck = async () => {
@@ -26002,6 +26196,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26002
26196
  }
26003
26197
  };
26004
26198
  const registerAction = async (res, mobile) => {
26199
+ var _a;
26005
26200
  const data = {
26006
26201
  username: res.username,
26007
26202
  password: res.password,
@@ -26017,7 +26212,9 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26017
26212
  cacheForm.user_id = user_id;
26018
26213
  cacheForm.mask = mask;
26019
26214
  cacheForm.mobile = res.mobile;
26020
- phoneAndPasswordLogin(result2.data.data, API);
26215
+ const { country } = ((_a = FormRef.value) == null ? void 0 : _a.Data) || {};
26216
+ saveLoginMobile(mobile, country);
26217
+ phoneAndPasswordLogin(result2.data.data, API, LoginMethodEnum.PHONE);
26021
26218
  } else {
26022
26219
  extraErrors.requestInfo = result2.error.error_message;
26023
26220
  }
@@ -26064,7 +26261,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26064
26261
  mobile,
26065
26262
  code: res.code
26066
26263
  };
26067
- await loginFunction({ validFunc: LoginCheck, successFunc: loginSuccess, failFunc: loginFail, loginDeviceType: "pc" }, params, graphValidate, handleRemoteLogin);
26264
+ await loginFunction({ validFunc: LoginCheck, successFunc: loginSuccess, failFunc: loginFail, loginDeviceType: "pc", country }, params, graphValidate, handleRemoteLogin);
26068
26265
  }
26069
26266
  setTimeout(() => {
26070
26267
  loading.value = false;
@@ -26337,10 +26534,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26337
26534
  const pcAuthLogin = (type) => {
26338
26535
  authType.value = type;
26339
26536
  saveOauthType(type);
26340
- if (tabPanel.value === "miniProgram") {
26341
- stopPoll();
26342
- miniProgramStatus.value = "TIMEOUT";
26343
- }
26537
+ stopPoll();
26538
+ miniProgramStatus.value = "TIMEOUT";
26344
26539
  if (localStorage$2.getItem("access_token")) {
26345
26540
  emits("close", true);
26346
26541
  } else {
@@ -26417,7 +26612,9 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26417
26612
  emits("directClose");
26418
26613
  return;
26419
26614
  }
26615
+ useReport(REGISTER_CLICK_TO_LOGIN, {}, API.report);
26420
26616
  formType.value = "login";
26617
+ checkMiniProgramStatus();
26421
26618
  };
26422
26619
  const miniProgramStatus = ref("WAITING");
26423
26620
  const miniProgramLoading = ref(false);
@@ -26433,7 +26630,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26433
26630
  };
26434
26631
  const fetchMiniProgramStatus = async () => {
26435
26632
  var _a;
26436
- if (tabPanel.value !== "miniProgram") {
26633
+ if (formType.value !== "login") {
26437
26634
  stopPoll();
26438
26635
  return;
26439
26636
  }
@@ -26476,11 +26673,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26476
26673
  tabPanel.value = val;
26477
26674
  authType.value = null;
26478
26675
  useReport(LOGIN_MODAL_TAB_SWITCH, { source: `tab_${val}` }, API.report);
26479
- if (val !== "miniProgram") {
26480
- stopPoll();
26481
- handleMiniProgramReset();
26482
- return;
26483
- }
26676
+ };
26677
+ const checkMiniProgramStatus = async () => {
26484
26678
  if (!miniProgramInfo.value.scene_id) {
26485
26679
  getMiniProgramQrCode();
26486
26680
  return;
@@ -26496,12 +26690,24 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26496
26690
  shouldMiniProgramPoll.value = true;
26497
26691
  startPoll();
26498
26692
  };
26693
+ const recentLoginType = ref(null);
26694
+ const getRecentLogin = async () => {
26695
+ recentLoginType.value = localStorage$2.getItem("lastLoginMethod") || null;
26696
+ };
26697
+ const todayTechHistory = ref(null);
26698
+ const getTodayTechHistory = async () => {
26699
+ var _a, _b, _c;
26700
+ const res = await API.getTodayTechHistory();
26701
+ todayTechHistory.value = ((_c = (_b = (_a = res == null ? void 0 : res.data) == null ? void 0 : _a.data) == null ? void 0 : _b.data) == null ? void 0 : _c[0]) || {};
26702
+ };
26499
26703
  const resetPwdDirectly = ref(false);
26500
26704
  const resetPwdWhiteList = ["change_password"];
26501
26705
  onMounted(() => {
26502
- if (tabPanel.value === "miniProgram" && formType.value === "login") {
26503
- handleTabPanelChange(tabPanel.value);
26706
+ if (formType.value === "login") {
26707
+ getMiniProgramQrCode();
26504
26708
  }
26709
+ getRecentLogin();
26710
+ getTodayTechHistory();
26505
26711
  if (resetPwdWhiteList.includes(props.resetPwdSource) && formType.value === "forget") {
26506
26712
  resetPwdDirectly.value = true;
26507
26713
  }
@@ -26510,7 +26716,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26510
26716
  return openBlock(), createElementBlock(Fragment, null, [
26511
26717
  createVNode(unref(Modal), {
26512
26718
  modelValue: unref(vModels),
26513
- "onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => isRef(vModels) ? vModels.value = $event : null),
26719
+ "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => isRef(vModels) ? vModels.value = $event : null),
26514
26720
  "show-close": false,
26515
26721
  "lock-scroll": _ctx.lockScroll,
26516
26722
  draggable: _ctx.draggable,
@@ -26520,157 +26726,294 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26520
26726
  class: normalizeClass([
26521
26727
  "login-modal",
26522
26728
  formType.value === "login" ? "login-modal-l" : "login-modal-r",
26729
+ formType.value === "register" ? "login-modal-register" : "",
26523
26730
  mfaCheck.value ? "login-modal-mfa" : ""
26524
26731
  ]),
26525
26732
  onClose: onModalClose
26526
26733
  }, createSlots({
26527
- default: withCtx(() => [
26528
- mfaCheck.value ? (openBlock(), createBlock(MFA, {
26529
- key: 0,
26530
- API: unref(API),
26531
- onBack: handleBack,
26532
- onSuccess: handleMFALogin,
26533
- mask: cacheForm.mask
26534
- }, null, 8, ["API", "mask"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
26535
- formType.value === "login" ? (openBlock(), createElementBlock("div", _hoisted_4, [
26536
- createElementVNode("div", {
26537
- class: normalizeClass([
26538
- "login-modal-tab mr-[18px]",
26539
- tabPanel.value === "miniProgram" ? "login-modal-tab-active" : "login-modal-tab-inactive"
26540
- ]),
26541
- onClick: _cache[0] || (_cache[0] = withModifiers(($event) => handleTabPanelChange("miniProgram"), ["stop"]))
26542
- }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.title")), 3),
26543
- createElementVNode("div", {
26544
- class: normalizeClass([
26545
- "login-modal-tab mr-[18px] ml-[18px]",
26546
- tabPanel.value === "verifyCode" ? "login-modal-tab-active" : "login-modal-tab-inactive"
26547
- ]),
26548
- onClick: _cache[1] || (_cache[1] = withModifiers(($event) => handleTabPanelChange("verifyCode"), ["stop"]))
26549
- }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.subtitle.sms")), 3),
26550
- createElementVNode("div", {
26551
- class: normalizeClass([
26552
- "login-modal-tab ml-[18px]",
26553
- tabPanel.value === "password" ? "login-modal-tab-active" : "login-modal-tab-inactive"
26554
- ]),
26555
- onClick: _cache[2] || (_cache[2] = withModifiers(($event) => handleTabPanelChange("password"), ["stop"]))
26556
- }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.subtitle.password")), 3)
26557
- ])) : createCommentVNode("", true),
26558
- formType.value === "forget" ? (openBlock(), createElementBlock("div", _hoisted_5, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.bindMobileWithAccount")) + "/" + toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.resetYourPassword")), 1)) : createCommentVNode("", true),
26559
- formType.value === "login" && tabPanel.value === "miniProgram" ? (openBlock(), createBlock(DataPanel, {
26560
- key: 2,
26561
- loading: miniProgramLoading.value,
26562
- empty: false,
26563
- card: false,
26564
- class: "mini-program-qrcode",
26565
- border: false,
26566
- animation: true
26567
- }, {
26568
- default: withCtx(() => [
26569
- createElementVNode("div", _hoisted_6, [
26734
+ default: withCtx(() => {
26735
+ var _a, _b;
26736
+ return [
26737
+ mfaCheck.value ? (openBlock(), createBlock(MFA, {
26738
+ key: 0,
26739
+ API: unref(API),
26740
+ onBack: handleBack,
26741
+ onSuccess: handleMFALogin,
26742
+ mask: cacheForm.mask
26743
+ }, null, 8, ["API", "mask"])) : (openBlock(), createElementBlock("div", _hoisted_3, [
26744
+ formType.value === "login" || formType.value === "register" ? (openBlock(), createElementBlock("div", {
26745
+ key: 0,
26746
+ class: normalizeClass(["w-[470px] login-modal-content-left", formType.value === "register" ? "login-modal-content-left-register" : "login-modal-content-left-login"])
26747
+ }, [
26748
+ createElementVNode("div", {
26749
+ class: normalizeClass(formType.value === "register" ? "login-modal-content-left-register-logo" : "flex flex-col items-center")
26750
+ }, [
26570
26751
  createElementVNode("img", {
26571
- src: miniProgramInfo.value.qrcode,
26572
- alt: "小程序二维码",
26573
- class: "w-[158px] h-[158px]"
26574
- }, null, 8, _hoisted_7),
26575
- miniProgramStatus.value !== "WAITING" ? (openBlock(), createElementBlock("div", _hoisted_8, [
26576
- miniProgramStatus.value === "TIMEOUT" ? (openBlock(), createElementBlock("div", _hoisted_9, [
26577
- createVNode(GIcon, {
26578
- name: "gt-line-Refresh",
26579
- size: "18"
26580
- }),
26581
- createElementVNode("div", null, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip01")), 1),
26582
- createElementVNode("button", { onClick: getMiniProgramQrCode }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip02")), 1)
26583
- ])) : createCommentVNode("", true),
26584
- ["SCAN", "CANCEL", "LOGIN"].includes(miniProgramStatus.value) ? (openBlock(), createElementBlock("div", _hoisted_10, [
26585
- createElementVNode("div", _hoisted_11, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip03")), 1),
26586
- createElementVNode("div", _hoisted_12, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip04")), 1)
26587
- ])) : createCommentVNode("", true)
26588
- ])) : createCommentVNode("", true),
26589
- !["SCAN", "CANCEL", "LOGIN"].includes(miniProgramStatus.value) ? (openBlock(), createElementBlock("p", _hoisted_13, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip05")), 1)) : (openBlock(), createElementBlock("button", {
26590
- key: 2,
26591
- onClick: getMiniProgramQrCode,
26592
- class: "mt-2"
26593
- }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip06")), 1))
26594
- ])
26595
- ]),
26596
- _: 1
26597
- }, 8, ["loading"])) : (openBlock(), createBlock(unref(_sfc_main$a), {
26598
- key: formType.value,
26599
- DataList: FormConfig.value.dict,
26600
- "show-label": FormConfig.value.showLabel,
26601
- ref_key: "FormRef",
26602
- ref: FormRef,
26603
- onCountDown: handleCountDown,
26604
- onChange: handleFormChange,
26605
- onComplete: handleFormInput,
26606
- layout: FormConfig.value.layout,
26607
- size: "lg",
26608
- "label-size": "md",
26609
- "message-type": "none",
26610
- "hide-required-mark": "",
26611
- onKeypress: withKeys(handleConfirm, ["enter"]),
26612
- class: normalizeClass(formType.value === "register" ? "mt-[20px] login-form-register-cell" : "login-form-common-cell"),
26613
- errors: { msgError: msgError.value },
26614
- "is-forget": formType.value === "forget"
26615
- }, {
26616
- submit: withCtx(() => [
26617
- formType.value === "login" ? (openBlock(), createElementBlock("div", _hoisted_14, [
26618
- createElementVNode("div", _hoisted_15, [
26619
- createTextVNode(toDisplayString$1(errorMsg.value) + " ", 1),
26620
- errForRemoteLogin.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
26621
- createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.unusualLogin")), 1),
26622
- createElementVNode("span", {
26623
- onClick: _cache[3] || (_cache[3] = ($event) => handleTabPanelChange("verifyCode")),
26624
- class: "login-modal-info-left__link"
26625
- }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.smsLogin")), 1)
26626
- ], 64)) : createCommentVNode("", true)
26627
- ]),
26628
- withDirectives(createElementVNode("div", {
26629
- class: "login-modal-info-right",
26630
- onClick: _cache[4] || (_cache[4] = withModifiers(($event) => formType.value = "forget", ["stop"]))
26631
- }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.forgotPassword")), 513), [
26632
- [vShow, tabPanel.value === "password" && formType.value === "login"]
26633
- ])
26634
- ])) : createCommentVNode("", true),
26635
- formType.value === "login" ? (openBlock(), createElementBlock("div", _hoisted_16, [
26636
- createVNode(unref(Button), {
26637
- color: "primary",
26638
- variant: "solid",
26639
- size: "lg",
26640
- onClick: handleConfirm,
26641
- loading: loading.value,
26642
- disabled: disabled.value,
26643
- class: "login-modal-button"
26752
+ src: logoType[unref(currentTheme)],
26753
+ alt: "gitcode-logo",
26754
+ class: "w-[130px] h-[30px]"
26755
+ }, null, 8, _hoisted_4),
26756
+ createElementVNode("div", _hoisted_5, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.subtitle.desc")), 1)
26757
+ ], 2),
26758
+ createElementVNode("div", {
26759
+ class: normalizeClass(["login-modal-left-bg", "login-modal-left-bg-" + unref(currentTheme)])
26760
+ }, [
26761
+ formType.value === "login" ? (openBlock(), createBlock(DataPanel, {
26762
+ key: 0,
26763
+ loading: miniProgramLoading.value,
26764
+ empty: false,
26765
+ card: false,
26766
+ class: "mini-program-qrcode",
26767
+ border: false,
26768
+ animation: true
26644
26769
  }, {
26645
26770
  default: withCtx(() => [
26646
- createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.login")), 1)
26771
+ createElementVNode("div", _hoisted_6, [
26772
+ createElementVNode("div", _hoisted_7, [
26773
+ createElementVNode("img", {
26774
+ src: miniProgramInfo.value.qrcode,
26775
+ alt: "小程序二维码",
26776
+ class: "w-[180px] h-[180px]"
26777
+ }, null, 8, _hoisted_8),
26778
+ miniProgramStatus.value !== "WAITING" ? (openBlock(), createElementBlock("div", _hoisted_9, [
26779
+ miniProgramStatus.value === "TIMEOUT" ? (openBlock(), createElementBlock("div", {
26780
+ key: 0,
26781
+ onClick: getMiniProgramQrCode,
26782
+ class: "flex flex-col gap-2 items-center justify-center cursor-pointer gap-[40px]"
26783
+ }, [
26784
+ createVNode(GIcon, {
26785
+ name: "gt-line-update",
26786
+ size: "18",
26787
+ color: "#3B3E55"
26788
+ }),
26789
+ createElementVNode("div", _hoisted_10, [
26790
+ createElementVNode("div", _hoisted_11, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip01")), 1),
26791
+ createElementVNode("button", _hoisted_12, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip02")), 1)
26792
+ ])
26793
+ ])) : createCommentVNode("", true),
26794
+ ["SCAN", "CANCEL", "LOGIN"].includes(miniProgramStatus.value) ? (openBlock(), createElementBlock("div", _hoisted_13, [
26795
+ createElementVNode("div", _hoisted_14, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip03")), 1),
26796
+ createElementVNode("div", _hoisted_15, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip04")), 1)
26797
+ ])) : createCommentVNode("", true)
26798
+ ])) : createCommentVNode("", true)
26799
+ ]),
26800
+ !["SCAN", "CANCEL", "LOGIN"].includes(miniProgramStatus.value) ? (openBlock(), createElementBlock("p", _hoisted_16, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip05")), 1)) : (openBlock(), createElementBlock("button", {
26801
+ key: 1,
26802
+ onClick: getMiniProgramQrCode,
26803
+ class: "mt-2"
26804
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip06")), 1))
26805
+ ])
26647
26806
  ]),
26648
26807
  _: 1
26649
- }, 8, ["loading", "disabled"]),
26650
- createElementVNode("div", _hoisted_17, [
26651
- _ctx.openHarmonyGuide ? (openBlock(), createElementBlock("div", {
26652
- key: 0,
26653
- class: "text-[var(--theme-link)] text-center mt-[12px] cursor-pointer leading-[32px] openharmony-btn",
26654
- onClick: withModifiers(handleRegisterHarmony, ["stop"])
26808
+ }, 8, ["loading"])) : formType.value === "register" ? (openBlock(), createElementBlock("div", _hoisted_17, [
26809
+ createElementVNode("div", _hoisted_18, toDisplayString$1((_a = todayTechHistory.value) == null ? void 0 : _a.title), 1),
26810
+ createElementVNode("div", _hoisted_19, toDisplayString$1((_b = todayTechHistory.value) == null ? void 0 : _b.content), 1)
26811
+ ])) : createCommentVNode("", true)
26812
+ ], 2)
26813
+ ], 2)) : createCommentVNode("", true),
26814
+ createElementVNode("div", {
26815
+ class: normalizeClass(formType.value === "forget" ? "w-[512px]" : "w-[370px]")
26816
+ }, [
26817
+ formType.value === "login" ? (openBlock(), createElementBlock("div", _hoisted_20, [
26818
+ createElementVNode("div", _hoisted_21, [
26819
+ createElementVNode("div", {
26820
+ class: normalizeClass([
26821
+ "login-modal-tab",
26822
+ tabPanel.value === "verifyCode" ? "login-modal-tab-active" : "login-modal-tab-inactive"
26823
+ ]),
26824
+ onClick: _cache[0] || (_cache[0] = withModifiers(($event) => handleTabPanelChange("verifyCode"), ["stop"]))
26655
26825
  }, [
26656
- _cache[16] || (_cache[16] = createElementVNode("img", {
26657
- src: "https://cdn-static.gitcode.com/static/images/guide/openharmony.svg",
26658
- alt: "",
26659
- class: "mr-[16px] inline-block"
26660
- }, null, -1)),
26661
- createElementVNode("span", _hoisted_18, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.oh")), 1)
26662
- ])) : createCommentVNode("", true),
26826
+ createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.subtitle.sms")) + " ", 1),
26827
+ createElementVNode("div", _hoisted_22, [
26828
+ recentLoginType.value === unref(LoginMethodEnum).PHONE ? (openBlock(), createElementBlock("img", {
26829
+ key: 0,
26830
+ src: unref(recentLoginImg),
26831
+ class: "w-[50px] h-[20px]"
26832
+ }, null, 8, _hoisted_23)) : createCommentVNode("", true)
26833
+ ])
26834
+ ], 2),
26663
26835
  createElementVNode("div", {
26664
- class: "text-[var(--theme-link)] text-center mt-[12px] cursor-pointer leading-[32px] hover:underline",
26665
- onClick: withModifiers(clickRegister, ["stop"])
26836
+ class: normalizeClass([
26837
+ "login-modal-tab ml-[24px]",
26838
+ tabPanel.value === "password" ? "login-modal-tab-active" : "login-modal-tab-inactive"
26839
+ ]),
26840
+ onClick: _cache[1] || (_cache[1] = withModifiers(($event) => handleTabPanelChange("password"), ["stop"]))
26841
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.subtitle.password")), 3)
26842
+ ]),
26843
+ createElementVNode("div", _hoisted_24, [
26844
+ createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.noAccount")) + " ", 1),
26845
+ createElementVNode("span", {
26846
+ onClick: clickRegister,
26847
+ class: "text-[var(--theme-link)] cursor-pointer hover:underline"
26666
26848
  }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.registerAgain")), 1)
26667
26849
  ])
26668
- ])) : createCommentVNode("", true)
26669
- ]),
26670
- _: 1
26671
- }, 8, ["DataList", "show-label", "layout", "class", "errors", "is-forget"]))
26672
- ], 64))
26673
- ]),
26850
+ ])) : createCommentVNode("", true),
26851
+ formType.value === "forget" ? (openBlock(), createElementBlock("div", _hoisted_25, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.bindMobileWithAccount")) + "/" + toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.resetYourPassword")), 1)) : createCommentVNode("", true),
26852
+ formType.value === "register" ? (openBlock(), createElementBlock("div", _hoisted_26, [
26853
+ createElementVNode("div", _hoisted_27, [
26854
+ createElementVNode("div", _hoisted_28, "🎉 " + toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.title.register")), 1),
26855
+ createElementVNode("div", _hoisted_29, [
26856
+ createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.haveAccount")) + " ", 1),
26857
+ createElementVNode("span", {
26858
+ onClick: handleTitleBackClick,
26859
+ class: "text-[var(--theme-link)] cursor-pointer hover:underline"
26860
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.backLogin")), 1)
26861
+ ])
26862
+ ]),
26863
+ createElementVNode("div", _hoisted_30, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.registerDesc")), 1)
26864
+ ])) : createCommentVNode("", true),
26865
+ (openBlock(), createBlock(unref(_sfc_main$a), {
26866
+ key: formType.value,
26867
+ DataList: FormConfig.value.dict,
26868
+ "show-label": FormConfig.value.showLabel,
26869
+ ref_key: "FormRef",
26870
+ ref: FormRef,
26871
+ onCountDown: handleCountDown,
26872
+ onChange: handleFormChange,
26873
+ onComplete: handleFormInput,
26874
+ layout: FormConfig.value.layout,
26875
+ size: "lg",
26876
+ "label-size": "md",
26877
+ "message-type": "none",
26878
+ "hide-required-mark": "",
26879
+ onKeypress: withKeys(handleConfirm, ["enter"]),
26880
+ class: normalizeClass(formType.value === "register" ? "mt-[16px] login-form-register-cell" : "login-form-common-cell"),
26881
+ errors: { msgError: msgError.value },
26882
+ formErrors,
26883
+ "is-forget": formType.value === "forget"
26884
+ }, {
26885
+ submit: withCtx(() => {
26886
+ var _a2;
26887
+ return [
26888
+ formType.value === "login" ? (openBlock(), createElementBlock("div", _hoisted_31, [
26889
+ createElementVNode("div", _hoisted_32, [
26890
+ createTextVNode(toDisplayString$1(errorMsg.value) + " ", 1),
26891
+ errForRemoteLogin.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
26892
+ createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.unusualLogin")), 1),
26893
+ createElementVNode("span", {
26894
+ onClick: _cache[2] || (_cache[2] = ($event) => handleTabPanelChange("verifyCode")),
26895
+ class: "login-modal-info-left__link"
26896
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.smsLogin")), 1)
26897
+ ], 64)) : createCommentVNode("", true)
26898
+ ]),
26899
+ withDirectives(createElementVNode("div", {
26900
+ class: "login-modal-info-right",
26901
+ onClick: _cache[3] || (_cache[3] = withModifiers(($event) => formType.value = "forget", ["stop"]))
26902
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.forgotPassword")), 513), [
26903
+ [vShow, tabPanel.value === "password" && formType.value === "login"]
26904
+ ])
26905
+ ])) : createCommentVNode("", true),
26906
+ formType.value === "login" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
26907
+ createElementVNode("div", _hoisted_33, [
26908
+ createVNode(unref(Button), {
26909
+ color: "primary",
26910
+ variant: "solid",
26911
+ size: "lg",
26912
+ onClick: handleConfirm,
26913
+ loading: loading.value,
26914
+ disabled: disabled.value,
26915
+ class: "login-modal-button"
26916
+ }, {
26917
+ default: withCtx(() => [
26918
+ createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.login")), 1)
26919
+ ]),
26920
+ _: 1
26921
+ }, 8, ["loading", "disabled"]),
26922
+ createElementVNode("div", {
26923
+ class: normalizeClass([["login-modal-footer-args", AgreementWarn.value ? "shaking-box" : ""], "mt-[16px]"])
26924
+ }, [
26925
+ createElementVNode("div", _hoisted_34, [
26926
+ createVNode(_sfc_main$8, {
26927
+ modelValue: status.value,
26928
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => status.value = $event),
26929
+ onDeclares: _cache[5] || (_cache[5] = (typ) => handleDisplay(typ))
26930
+ }, null, 8, ["modelValue"])
26931
+ ])
26932
+ ], 2),
26933
+ createElementVNode("div", _hoisted_35, [
26934
+ _ctx.openHarmonyGuide ? (openBlock(), createElementBlock("div", {
26935
+ key: 0,
26936
+ class: "text-[var(--theme-link)] flex items-center mt-[12px] cursor-pointer",
26937
+ onClick: withModifiers(handleRegisterHarmony, ["stop"])
26938
+ }, [
26939
+ createElementVNode("div", _hoisted_36, [
26940
+ _cache[15] || (_cache[15] = createElementVNode("img", {
26941
+ src: "https://cdn-static.gitcode.com/static/images/guide/openharmony.svg",
26942
+ alt: "",
26943
+ class: "w-[32px] h-[32px] inline-block harmony-icon-img"
26944
+ }, null, -1)),
26945
+ createElementVNode("div", _hoisted_37, [
26946
+ recentLoginType.value === unref(LoginMethodEnum).HARMONY ? (openBlock(), createElementBlock("img", {
26947
+ key: 0,
26948
+ src: unref(recentLoginImg),
26949
+ class: "w-[50px] h-[20px]"
26950
+ }, null, 8, _hoisted_38)) : createCommentVNode("", true)
26951
+ ])
26952
+ ]),
26953
+ createElementVNode("span", _hoisted_39, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.oh")), 1)
26954
+ ])) : createCommentVNode("", true)
26955
+ ])
26956
+ ]),
26957
+ createElementVNode("div", _hoisted_40, [
26958
+ createVNode(GAuth, {
26959
+ logos,
26960
+ onAuth: pcAuthLogin,
26961
+ recentLoginType: recentLoginType.value,
26962
+ class: "flex-1"
26963
+ }, null, 8, ["logos", "recentLoginType"])
26964
+ ])
26965
+ ], 64)) : createCommentVNode("", true),
26966
+ formType.value === "register" || formType.value === "forget" ? (openBlock(), createElementBlock("div", _hoisted_41, [
26967
+ createElementVNode("div", {
26968
+ class: normalizeClass(["text-[var(--devui-danger)] text-[14px] break-all box-border leading-[20px] h-[40px]", formType.value === "register" ? "mt-[-8px]" : ((_a2 = formErrors == null ? void 0 : formErrors.username) == null ? void 0 : _a2.length) > 42 ? "cursor-pointer" : ""])
26969
+ }, [
26970
+ createElementVNode("span", _hoisted_42, toDisplayString$1(errorMsg.value), 1)
26971
+ ], 2),
26972
+ createElementVNode("div", {
26973
+ class: normalizeClass(["register-agree mt-[16px]", [AgreementWarn.value ? "shaking-box" : ""]])
26974
+ }, [
26975
+ createVNode(_sfc_main$7, {
26976
+ modelValue: hwStatus.value,
26977
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => hwStatus.value = $event),
26978
+ onDeclares: _cache[7] || (_cache[7] = (typ) => handleDisplay(typ, "huawei")),
26979
+ "agreement-text": `《${unref($t)("gitCodeLayout.LoginModal.link.huaweiCloudAgreement")}》`,
26980
+ "privacy-text": `《${unref($t)("gitCodeLayout.LoginModal.link.agreementPrivacy")}》`,
26981
+ onClick: _cache[8] || (_cache[8] = ($event) => agreementReport("signup_select", `hw${hwStatus.value ? 1 : 0}`))
26982
+ }, null, 8, ["modelValue", "agreement-text", "privacy-text"]),
26983
+ createVNode(_sfc_main$7, {
26984
+ modelValue: status.value,
26985
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => status.value = $event),
26986
+ onDeclares: _cache[10] || (_cache[10] = (typ) => handleDisplay(typ)),
26987
+ "agreement-text": `《GitCode ${unref($t)("gitCodeLayout.LoginModal.link.agreement")}》`,
26988
+ "privacy-text": `《GitCode ${unref($t)("gitCodeLayout.LoginModal.link.privacyPolicy")}》`,
26989
+ onClick: _cache[11] || (_cache[11] = ($event) => agreementReport("signup_select", `gitcode${status.value ? 1 : 0}`))
26990
+ }, null, 8, ["modelValue", "agreement-text", "privacy-text"])
26991
+ ], 2),
26992
+ createElementVNode("div", _hoisted_43, [
26993
+ createVNode(unref(Button), {
26994
+ color: "primary",
26995
+ variant: "solid",
26996
+ size: "lg",
26997
+ onClick: handleConfirm,
26998
+ disabled: disabled.value,
26999
+ loading: loading.value,
27000
+ class: "w-[100%] mb-[14px] mt-[10px]"
27001
+ }, {
27002
+ default: withCtx(() => [
27003
+ createTextVNode(toDisplayString$1(formType.value === "forget" ? unref($t)("gitCodeLayout.userSetting.account.changePassword") : unref($t)("gitCodeLayout.LoginModal.action.verify")), 1)
27004
+ ]),
27005
+ _: 1
27006
+ }, 8, ["disabled", "loading"])
27007
+ ])
27008
+ ])) : createCommentVNode("", true)
27009
+ ];
27010
+ }),
27011
+ _: 1
27012
+ }, 8, ["DataList", "show-label", "layout", "class", "errors", "formErrors", "is-forget"]))
27013
+ ], 2)
27014
+ ]))
27015
+ ];
27016
+ }),
26674
27017
  _: 2
26675
27018
  }, [
26676
27019
  !mfaCheck.value ? {
@@ -26680,10 +27023,11 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26680
27023
  createVNode(GTitle, {
26681
27024
  icon: unref(IconB),
26682
27025
  title: FormConfig.value.title,
27026
+ "show-title": FormConfig.value.showTitle,
26683
27027
  onBack: handleTitleBackClick,
26684
27028
  "show-back": FormConfig.value.showBack,
26685
27029
  class: "login-modal-title flex-1"
26686
- }, null, 8, ["icon", "title", "show-back"]),
27030
+ }, null, 8, ["icon", "title", "show-title", "show-back"]),
26687
27031
  createElementVNode("div", _hoisted_2, [
26688
27032
  _ctx.showClose && !showProtoCheck.value ? (openBlock(), createBlock(GIcon, {
26689
27033
  key: 0,
@@ -26692,86 +27036,16 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26692
27036
  size: "18"
26693
27037
  })) : createCommentVNode("", true)
26694
27038
  ])
26695
- ]),
26696
- formType.value === "register" ? (openBlock(), createElementBlock("div", _hoisted_3, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.registerDesc")), 1)) : createCommentVNode("", true)
27039
+ ])
26697
27040
  ]),
26698
27041
  key: "0"
26699
- } : void 0,
26700
- !mfaCheck.value ? {
26701
- name: "footer",
26702
- fn: withCtx(() => {
26703
- var _a;
26704
- return [
26705
- formType.value === "login" ? (openBlock(), createElementBlock("div", _hoisted_19, [
26706
- createVNode(GAuth, {
26707
- logos,
26708
- onAuth: pcAuthLogin
26709
- }, null, 8, ["logos"]),
26710
- createElementVNode("div", {
26711
- class: normalizeClass(["login-modal-footer-args", AgreementWarn.value ? "shaking-box" : ""])
26712
- }, [
26713
- createElementVNode("div", _hoisted_20, [
26714
- createVNode(_sfc_main$8, {
26715
- modelValue: status.value,
26716
- "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => status.value = $event),
26717
- onDeclares: _cache[6] || (_cache[6] = (typ) => handleDisplay(typ))
26718
- }, null, 8, ["modelValue"])
26719
- ])
26720
- ], 2)
26721
- ])) : formType.value === "register" || formType.value === "forget" ? (openBlock(), createElementBlock("div", _hoisted_21, [
26722
- createElementVNode("div", {
26723
- class: normalizeClass(["text-[var(--devui-danger)] text-[14px] break-all box-border leading-[20px] h-[40px]", formType.value === "register" && ((_a = formErrors == null ? void 0 : formErrors.username) == null ? void 0 : _a.length) > 42 ? "cursor-pointer" : ""])
26724
- }, [
26725
- createElementVNode("span", _hoisted_22, toDisplayString$1(errorMsg.value), 1)
26726
- ], 2),
26727
- formType.value === "register" ? (openBlock(), createElementBlock("div", {
26728
- key: 0,
26729
- class: normalizeClass(["register-agree", [AgreementWarn.value ? "shaking-box" : ""]])
26730
- }, [
26731
- createVNode(_sfc_main$7, {
26732
- modelValue: hwStatus.value,
26733
- "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => hwStatus.value = $event),
26734
- onDeclares: _cache[8] || (_cache[8] = (typ) => handleDisplay(typ, "huawei")),
26735
- "agreement-text": `《${unref($t)("gitCodeLayout.LoginModal.link.huaweiCloudAgreement")}》`,
26736
- "privacy-text": `《${unref($t)("gitCodeLayout.LoginModal.link.agreementPrivacy")}》`,
26737
- onClick: _cache[9] || (_cache[9] = ($event) => agreementReport("signup_select", `hw${hwStatus.value ? 1 : 0}`))
26738
- }, null, 8, ["modelValue", "agreement-text", "privacy-text"]),
26739
- createVNode(_sfc_main$7, {
26740
- modelValue: status.value,
26741
- "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => status.value = $event),
26742
- onDeclares: _cache[11] || (_cache[11] = (typ) => handleDisplay(typ)),
26743
- "agreement-text": `《GitCode ${unref($t)("gitCodeLayout.LoginModal.link.agreement")}》`,
26744
- "privacy-text": `《GitCode ${unref($t)("gitCodeLayout.LoginModal.link.privacyPolicy")}》`,
26745
- onClick: _cache[12] || (_cache[12] = ($event) => agreementReport("signup_select", `gitcode${status.value ? 1 : 0}`))
26746
- }, null, 8, ["modelValue", "agreement-text", "privacy-text"])
26747
- ], 2)) : createCommentVNode("", true),
26748
- createElementVNode("div", _hoisted_23, [
26749
- createVNode(unref(Button), {
26750
- color: "primary",
26751
- variant: "solid",
26752
- size: "lg",
26753
- onClick: handleConfirm,
26754
- disabled: disabled.value,
26755
- loading: loading.value,
26756
- class: "w-[100%]"
26757
- }, {
26758
- default: withCtx(() => [
26759
- createTextVNode(toDisplayString$1(formType.value === "forget" ? unref($t)("gitCodeLayout.userSetting.account.changePassword") : unref($t)("gitCodeLayout.LoginModal.action.verify")), 1)
26760
- ]),
26761
- _: 1
26762
- }, 8, ["disabled", "loading"])
26763
- ])
26764
- ])) : createCommentVNode("", true)
26765
- ];
26766
- }),
26767
- key: "1"
26768
27042
  } : void 0
26769
27043
  ]), 1032, ["modelValue", "lock-scroll", "draggable", "escapable", "append-to-body", "class"]),
26770
27044
  createVNode(_sfc_main$5, {
26771
27045
  visible: showProtoCheck.value,
26772
- "onUpdate:visible": _cache[14] || (_cache[14] = ($event) => showProtoCheck.value = $event),
27046
+ "onUpdate:visible": _cache[13] || (_cache[13] = ($event) => showProtoCheck.value = $event),
26773
27047
  onConfirm: agreeAndLogin,
26774
- onDeclares: _cache[15] || (_cache[15] = (typ) => handleDisplay(typ))
27048
+ onDeclares: _cache[14] || (_cache[14] = (typ) => handleDisplay(typ))
26775
27049
  }, null, 8, ["visible"])
26776
27050
  ], 64);
26777
27051
  };