@jctrans-materials/comps-vue3 1.0.42-beta.2 → 1.0.42-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ChangePasswordDialog/index.d.ts +5 -0
- package/dist/components/JcLoginDialog/cmps/AuthBottomTip.d.ts +3 -0
- package/dist/components/JcLoginDialog/composables/useAuthLogin.d.ts +34 -0
- package/dist/components/JcLoginDialog/composables/useLoginForm.d.ts +20 -0
- package/dist/components/JcLoginDialog/composables/useThirdPartyLogin.d.ts +21 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.esm.js +278 -51
- package/package.json +2 -2
package/dist/index.esm.js
CHANGED
|
@@ -11266,6 +11266,10 @@ function useThirdPartyLogin$1(config) {
|
|
|
11266
11266
|
(data == null ? void 0 : data.thirdPartyInfo) || {},
|
|
11267
11267
|
(data == null ? void 0 : data.mobileEmailList) || []
|
|
11268
11268
|
);
|
|
11269
|
+
setThirdPartySessions$1(
|
|
11270
|
+
(data == null ? void 0 : data.thirdPartyInfo) || {},
|
|
11271
|
+
(data == null ? void 0 : data.mobileEmailList) || []
|
|
11272
|
+
);
|
|
11269
11273
|
if (list.length > 0) {
|
|
11270
11274
|
console.log("👉 进入绑定流程");
|
|
11271
11275
|
bindList.value = list;
|
|
@@ -11896,9 +11900,22 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
|
|
|
11896
11900
|
return props.isEn ? "Set Password" : "设置密码";
|
|
11897
11901
|
});
|
|
11898
11902
|
const emit = __emit;
|
|
11903
|
+
const visibleTabs = computed(() => {
|
|
11904
|
+
var _a, _b, _c;
|
|
11905
|
+
return {
|
|
11906
|
+
password: props.showPasswordTab && ((_a = props.userAccount) == null ? void 0 : _a.hasPassword) !== false,
|
|
11907
|
+
email: !!((_b = props.userAccount) == null ? void 0 : _b.email),
|
|
11908
|
+
mobile: !!((_c = props.userAccount) == null ? void 0 : _c.mobile)
|
|
11909
|
+
};
|
|
11910
|
+
});
|
|
11899
11911
|
const currentVisible = ref(props.visible);
|
|
11900
|
-
const initialTab =
|
|
11901
|
-
|
|
11912
|
+
const initialTab = computed(() => {
|
|
11913
|
+
if (visibleTabs.value.password) return "password";
|
|
11914
|
+
if (visibleTabs.value.email) return "email";
|
|
11915
|
+
if (visibleTabs.value.mobile) return "mobile";
|
|
11916
|
+
return "email";
|
|
11917
|
+
});
|
|
11918
|
+
const activeTab = ref(initialTab.value);
|
|
11902
11919
|
const loading = ref(false);
|
|
11903
11920
|
const formRef = ref();
|
|
11904
11921
|
const form = reactive({
|
|
@@ -11998,7 +12015,7 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
|
|
|
11998
12015
|
form.confirmPassword = "";
|
|
11999
12016
|
form.code = "";
|
|
12000
12017
|
codeVerifyUuid.value = "";
|
|
12001
|
-
activeTab.value = initialTab;
|
|
12018
|
+
activeTab.value = initialTab.value;
|
|
12002
12019
|
loading.value = false;
|
|
12003
12020
|
(_a = formRef.value) == null ? void 0 : _a.clearValidate();
|
|
12004
12021
|
}
|
|
@@ -12106,7 +12123,7 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
|
|
|
12106
12123
|
createElementVNode("h1", null, toDisplayString(computedTitle.value), 1)
|
|
12107
12124
|
]),
|
|
12108
12125
|
createElementVNode("div", _hoisted_3$q, [
|
|
12109
|
-
|
|
12126
|
+
visibleTabs.value.password ? (openBlock(), createElementBlock("div", {
|
|
12110
12127
|
key: 0,
|
|
12111
12128
|
class: normalizeClass(["tab-item", { active: activeTab.value === "password" }]),
|
|
12112
12129
|
onClick: _cache[0] || (_cache[0] = ($event) => handleTabChange("password"))
|
|
@@ -12129,7 +12146,8 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
|
|
|
12129
12146
|
], -1)),
|
|
12130
12147
|
createTextVNode(" " + toDisplayString(__props.isEn ? "Password Verify" : "密码验证"), 1)
|
|
12131
12148
|
], 2)) : createCommentVNode("", true),
|
|
12132
|
-
|
|
12149
|
+
visibleTabs.value.email ? (openBlock(), createElementBlock("div", {
|
|
12150
|
+
key: 1,
|
|
12133
12151
|
class: normalizeClass(["tab-item", { active: activeTab.value === "email" }]),
|
|
12134
12152
|
onClick: _cache[1] || (_cache[1] = ($event) => handleTabChange("email"))
|
|
12135
12153
|
}, [
|
|
@@ -12145,8 +12163,9 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
|
|
|
12145
12163
|
})
|
|
12146
12164
|
], -1)),
|
|
12147
12165
|
createTextVNode(" " + toDisplayString(__props.isEn ? "Email Verify" : "邮箱验证"), 1)
|
|
12148
|
-
], 2),
|
|
12149
|
-
|
|
12166
|
+
], 2)) : createCommentVNode("", true),
|
|
12167
|
+
visibleTabs.value.mobile ? (openBlock(), createElementBlock("div", {
|
|
12168
|
+
key: 2,
|
|
12150
12169
|
class: normalizeClass(["tab-item", { active: activeTab.value === "mobile" }]),
|
|
12151
12170
|
onClick: _cache[2] || (_cache[2] = ($event) => handleTabChange("mobile"))
|
|
12152
12171
|
}, [
|
|
@@ -12162,7 +12181,7 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
|
|
|
12162
12181
|
})
|
|
12163
12182
|
], -1)),
|
|
12164
12183
|
createTextVNode(" " + toDisplayString(__props.isEn ? "Mobile Verify" : "手机验证"), 1)
|
|
12165
|
-
], 2)
|
|
12184
|
+
], 2)) : createCommentVNode("", true)
|
|
12166
12185
|
]),
|
|
12167
12186
|
createVNode(unref(ElForm), {
|
|
12168
12187
|
ref_key: "formRef",
|
|
@@ -12317,7 +12336,7 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
|
|
|
12317
12336
|
};
|
|
12318
12337
|
}
|
|
12319
12338
|
});
|
|
12320
|
-
const index$5 = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["__scopeId", "data-v-
|
|
12339
|
+
const index$5 = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["__scopeId", "data-v-dbd901cf"]]);
|
|
12321
12340
|
const __vite_glob_0_1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
12322
12341
|
__proto__: null,
|
|
12323
12342
|
default: index$5
|
|
@@ -22365,13 +22384,13 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
22365
22384
|
onClick: applyJoin
|
|
22366
22385
|
}, [
|
|
22367
22386
|
createTextVNode(toDisplayString(register_join_in.value) + " ", 1),
|
|
22368
|
-
_cache[0] || (_cache[0] = createStaticVNode('<svg width="8" height="12" viewBox="0 0 8 12" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-
|
|
22387
|
+
_cache[0] || (_cache[0] = createStaticVNode('<svg width="8" height="12" viewBox="0 0 8 12" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-d15f8d69><g id="icon/more/8" clip-path="url(#clip0_1016_6109)" data-v-d15f8d69><path id="Vector 79" d="M2 3L5 6L2 9" stroke="white" stroke-linejoin="round" data-v-d15f8d69></path></g><defs data-v-d15f8d69><clipPath id="clip0_1016_6109" data-v-d15f8d69><rect width="8" height="12" fill="white" data-v-d15f8d69></rect></clipPath></defs></svg>', 1))
|
|
22369
22388
|
])
|
|
22370
22389
|
]);
|
|
22371
22390
|
};
|
|
22372
22391
|
}
|
|
22373
22392
|
});
|
|
22374
|
-
const ApplyJoinBtn = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-
|
|
22393
|
+
const ApplyJoinBtn = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-d15f8d69"]]);
|
|
22375
22394
|
const _sfc_main$d = {
|
|
22376
22395
|
name: "RegisterForm",
|
|
22377
22396
|
components: {
|
|
@@ -22401,29 +22420,50 @@ const _sfc_main$d = {
|
|
|
22401
22420
|
"third-party-click",
|
|
22402
22421
|
"register-step-change"
|
|
22403
22422
|
],
|
|
22423
|
+
// =========================================================================
|
|
22424
|
+
// Computed - 派生状态,根据表单数据和选中城市动态计算
|
|
22425
|
+
// =========================================================================
|
|
22404
22426
|
computed: {
|
|
22427
|
+
// 用户协议是否已勾选(仅读取 agree 字段值,用于外部快速判断)
|
|
22405
22428
|
isAgree() {
|
|
22406
22429
|
return this.form.agree;
|
|
22407
22430
|
},
|
|
22431
|
+
// countryId - 从 city 对象的 raw 数据中提取国家 ID
|
|
22432
|
+
// 数据来源兼容两种结构:
|
|
22433
|
+
// 1. 直接选择城市:city.raw.country.id
|
|
22434
|
+
// 2. 搜索结果:city.raw.city.countryId
|
|
22435
|
+
// 用于区分国内/海外,驱动手机号/邮箱切换以及区号数据加载
|
|
22408
22436
|
countryId() {
|
|
22409
22437
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
22410
22438
|
return ((_c = (_b = (_a = this.form.city) == null ? void 0 : _a.raw) == null ? void 0 : _b.country) == null ? void 0 : _c.id) || ((_g = (_f = (_e = (_d = this.form) == null ? void 0 : _d.city) == null ? void 0 : _e.raw) == null ? void 0 : _f.city) == null ? void 0 : _g.countryId);
|
|
22411
22439
|
},
|
|
22440
|
+
// cityId - 从 city 对象中提取城市 ID,提交注册时作为必填参数之一
|
|
22412
22441
|
cityId() {
|
|
22413
22442
|
var _a;
|
|
22414
22443
|
return (_a = this.form.city) == null ? void 0 : _a.id;
|
|
22415
22444
|
},
|
|
22445
|
+
// currentCountryIsChina - 判断当前所选城市是否在中国(countryId === 1)
|
|
22446
|
+
// 中国 → 显示手机号输入区(区号下拉 + 手机号);海外 → 显示企业邮箱输入区
|
|
22447
|
+
// 同时考虑 resistCompanyInfo(申请加入已有公司时传入的预设国家信息)
|
|
22416
22448
|
currentCountryIsChina() {
|
|
22417
22449
|
var _a;
|
|
22418
22450
|
const id = this.countryId || ((_a = this.resistCompanyInfo) == null ? void 0 : _a.countryId);
|
|
22419
22451
|
return [1].includes(Number(id));
|
|
22420
22452
|
},
|
|
22453
|
+
// currentCompanyLabel - 根据中英文环境和国家动态切换公司名输入框的 placeholder 标签
|
|
22454
|
+
// 中国 + 中文 → "公司中文名称";海外 + 中文 → "公司英文名称"
|
|
22455
|
+
// 中国 + 英文 → "Company Name in Chinese";海外 + 英文 → "Company Name in English"
|
|
22421
22456
|
currentCompanyLabel() {
|
|
22422
22457
|
return this.isEn ? this.currentCountryIsChina ? "Company Name in Chinese" : "Company Name in English" : this.currentCountryIsChina ? "公司中文名称" : "公司英文名称";
|
|
22423
22458
|
},
|
|
22459
|
+
// isTraderSector - 判断当前选择的行业是否为"货主"(Trade)
|
|
22460
|
+
// 货主行业无需填写公司名,Step2 中直接跳过公司名输入,仅展示勾选协议
|
|
22424
22461
|
isTraderSector() {
|
|
22425
22462
|
return this.form.sector === "Trade";
|
|
22426
22463
|
},
|
|
22464
|
+
// codeInputLabel - 动态生成验证码输入框上方的提示标签
|
|
22465
|
+
// 根据国内/海外分别显示 "验证码已发送至手机号 138****0000" 或 "验证码已发送至邮箱 t***@example.com"
|
|
22466
|
+
// 通过工具函数 buildCodeInputLabel 拼接展示文案,支持中英文切换
|
|
22427
22467
|
codeInputLabel() {
|
|
22428
22468
|
return buildCodeInputLabel({
|
|
22429
22469
|
isChina: this.currentCountryIsChina,
|
|
@@ -22433,47 +22473,74 @@ const _sfc_main$d = {
|
|
|
22433
22473
|
});
|
|
22434
22474
|
}
|
|
22435
22475
|
},
|
|
22476
|
+
// 当注册步骤切换时,通知父组件更新 Banner 显隐状态
|
|
22436
22477
|
watch: {
|
|
22437
22478
|
registerStep(newVal) {
|
|
22438
22479
|
this.$emit("register-step-change", newVal);
|
|
22439
22480
|
}
|
|
22440
22481
|
},
|
|
22482
|
+
// =========================================================================
|
|
22483
|
+
// data - 表单数据、校验规则、业务状态
|
|
22484
|
+
// =========================================================================
|
|
22441
22485
|
data() {
|
|
22442
22486
|
return {
|
|
22487
|
+
// 验证码是否可发送(由联系方式校验通过后置为 true)
|
|
22443
22488
|
codeReady: false,
|
|
22444
|
-
//
|
|
22489
|
+
// 公司查重结果:是否已存在英文/中文公司名,用于展示"申请加入"按钮
|
|
22445
22490
|
companyResistEn: false,
|
|
22446
22491
|
companyResistCn: false,
|
|
22492
|
+
// 滑块验证通过后保存的验证数据(uuid + code),用于获取验证码和提交注册
|
|
22447
22493
|
verifyData: {},
|
|
22448
|
-
// 注册分步状态:1 或 2
|
|
22494
|
+
// 注册分步状态:1(城市+联系方式) 或 2(验证码+行业+公司+协议)
|
|
22449
22495
|
registerStep: 1,
|
|
22450
|
-
// Step 1 进入 Step 2
|
|
22496
|
+
// Step 1 进入 Step 2 时快照当前联系方式,返回 Step 1 时用于判断是否需重置验证码
|
|
22451
22497
|
step1AccountSnapshot: "",
|
|
22498
|
+
// ===== 注册表单字段 =====
|
|
22452
22499
|
form: {
|
|
22453
22500
|
city: null,
|
|
22501
|
+
// 城市选择器绑定值(JcSearch 对象)
|
|
22454
22502
|
cityId: "",
|
|
22503
|
+
// 城市 ID
|
|
22455
22504
|
companyName: "",
|
|
22505
|
+
// 公司名称(中文或英文,取决于国家)
|
|
22456
22506
|
countryId: "",
|
|
22507
|
+
// 国家 ID(从城市数据中提取)
|
|
22457
22508
|
email: "",
|
|
22509
|
+
// 海外用户的邮箱
|
|
22458
22510
|
phone: "",
|
|
22511
|
+
// 国内用户的手机号
|
|
22459
22512
|
code: "",
|
|
22513
|
+
// 4 位验证码
|
|
22460
22514
|
sector: "Logistics",
|
|
22515
|
+
// 行业类型,默认"货代"
|
|
22461
22516
|
agree: false,
|
|
22517
|
+
// 是否同意用户协议
|
|
22462
22518
|
useKq: false,
|
|
22519
|
+
// 是否使用快企查重(ChineseCompanySearch 组件回传)
|
|
22463
22520
|
kqCode: "",
|
|
22521
|
+
// 快企查重编码
|
|
22464
22522
|
kqInfo: null,
|
|
22523
|
+
// 快企查重返回的公司信息对象
|
|
22465
22524
|
areaCode: "+86",
|
|
22525
|
+
// 手机区号(默认中国 +86)
|
|
22466
22526
|
nameCn: "",
|
|
22527
|
+
// 中文姓名(申请加入已有公司时使用)
|
|
22467
22528
|
nameEn: "",
|
|
22529
|
+
// 英文姓名
|
|
22468
22530
|
firstName: "",
|
|
22531
|
+
// 名(海外用户申请加入已有公司时使用)
|
|
22469
22532
|
lastName: ""
|
|
22533
|
+
// 姓(海外用户申请加入已有公司时使用)
|
|
22470
22534
|
},
|
|
22535
|
+
// 行业类型选项列表(由接口动态获取,本地默认为三个选项)
|
|
22471
22536
|
sectors: [
|
|
22472
22537
|
{ cn: "货代", en: "Freight Forwarder", value: "Logistics" },
|
|
22473
22538
|
{ cn: "货主", en: "Trader", value: "Trade" },
|
|
22474
22539
|
{ cn: "衍生产品供应商", en: "Vendor", value: "Service" }
|
|
22475
22540
|
],
|
|
22541
|
+
// ===== 表单校验规则 =====
|
|
22476
22542
|
rules: {
|
|
22543
|
+
// city: 城市必选,change 和 blur 时触发
|
|
22477
22544
|
city: [
|
|
22478
22545
|
{
|
|
22479
22546
|
required: true,
|
|
@@ -22481,6 +22548,7 @@ const _sfc_main$d = {
|
|
|
22481
22548
|
trigger: ["change", "blur"]
|
|
22482
22549
|
}
|
|
22483
22550
|
],
|
|
22551
|
+
// companyName: 公司名校验(货主行业跳过;通过 validateCompanyName 进行业务校验)
|
|
22484
22552
|
companyName: [
|
|
22485
22553
|
{
|
|
22486
22554
|
required: true,
|
|
@@ -22494,6 +22562,7 @@ const _sfc_main$d = {
|
|
|
22494
22562
|
trigger: "blur"
|
|
22495
22563
|
}
|
|
22496
22564
|
],
|
|
22565
|
+
// nameCn: 中文姓名校验(仅在"已有公司 + 中国区"场景下生效),调用 validateName 校验中文名
|
|
22497
22566
|
nameCn: [
|
|
22498
22567
|
{
|
|
22499
22568
|
required: true,
|
|
@@ -22507,6 +22576,7 @@ const _sfc_main$d = {
|
|
|
22507
22576
|
trigger: "blur"
|
|
22508
22577
|
}
|
|
22509
22578
|
],
|
|
22579
|
+
// firstName: 名校验(仅在"已有公司 + 海外区"场景下生效),调用 validateName 校验英文名
|
|
22510
22580
|
firstName: [
|
|
22511
22581
|
{
|
|
22512
22582
|
required: true,
|
|
@@ -22520,6 +22590,7 @@ const _sfc_main$d = {
|
|
|
22520
22590
|
trigger: "blur"
|
|
22521
22591
|
}
|
|
22522
22592
|
],
|
|
22593
|
+
// lastName: 姓校验(仅在"已有公司 + 海外区"场景下生效)
|
|
22523
22594
|
lastName: [
|
|
22524
22595
|
{
|
|
22525
22596
|
required: true,
|
|
@@ -22533,6 +22604,7 @@ const _sfc_main$d = {
|
|
|
22533
22604
|
trigger: "blur"
|
|
22534
22605
|
}
|
|
22535
22606
|
],
|
|
22607
|
+
// email: 邮箱格式校验(仅在海外区生效),调用 validateUserEmail 验证
|
|
22536
22608
|
email: [
|
|
22537
22609
|
{
|
|
22538
22610
|
required: true,
|
|
@@ -22540,6 +22612,7 @@ const _sfc_main$d = {
|
|
|
22540
22612
|
trigger: "blur"
|
|
22541
22613
|
}
|
|
22542
22614
|
],
|
|
22615
|
+
// phone: 手机号格式校验(仅在中国区生效),调用 validateUserMobilefive 验证
|
|
22543
22616
|
phone: [
|
|
22544
22617
|
{
|
|
22545
22618
|
required: true,
|
|
@@ -22547,6 +22620,7 @@ const _sfc_main$d = {
|
|
|
22547
22620
|
trigger: "blur"
|
|
22548
22621
|
}
|
|
22549
22622
|
],
|
|
22623
|
+
// code: 4 位验证码校验,调用 validateVerifyCode 验证格式和必填
|
|
22550
22624
|
code: [
|
|
22551
22625
|
{
|
|
22552
22626
|
required: true,
|
|
@@ -22554,6 +22628,7 @@ const _sfc_main$d = {
|
|
|
22554
22628
|
trigger: "blur"
|
|
22555
22629
|
}
|
|
22556
22630
|
],
|
|
22631
|
+
// agree: 用户协议复选框必勾选,未勾选时显示提示
|
|
22557
22632
|
agree: [
|
|
22558
22633
|
{
|
|
22559
22634
|
required: true,
|
|
@@ -22572,27 +22647,38 @@ const _sfc_main$d = {
|
|
|
22572
22647
|
}
|
|
22573
22648
|
]
|
|
22574
22649
|
},
|
|
22650
|
+
// 验证码倒计时中,防止用户重复发送
|
|
22575
22651
|
isCounting: false,
|
|
22652
|
+
// 区号列表数据(从接口获取)
|
|
22576
22653
|
areaCodeData: [],
|
|
22654
|
+
// 短信验证码发送后返回的 UID,提交注册时需回传后端
|
|
22577
22655
|
mobileUid: "",
|
|
22578
|
-
//
|
|
22656
|
+
// 邮箱验证码发送后返回的 UID,提交注册时需回传后端
|
|
22579
22657
|
emailUid: "",
|
|
22580
|
-
//
|
|
22658
|
+
// 是否展示已有公司卡片(true → 申请加入模式;false → 新设公司模式)
|
|
22581
22659
|
hasResistCompany: false,
|
|
22660
|
+
// 已有公司信息对象(compId, compNameCn, compNameEn, cityNameCn 等)
|
|
22582
22661
|
resistCompanyInfo: null,
|
|
22583
|
-
//
|
|
22662
|
+
// 提交中状态,防止重复点击注册按钮
|
|
22584
22663
|
loading: false
|
|
22585
22664
|
};
|
|
22586
22665
|
},
|
|
22666
|
+
// =========================================================================
|
|
22667
|
+
// 生命周期 - 初始化时获取区号、行业字典、并检查是否有 compKey 邀请
|
|
22668
|
+
// =========================================================================
|
|
22587
22669
|
mounted() {
|
|
22588
22670
|
this.getAreaCodeData();
|
|
22589
22671
|
this.findDict();
|
|
22590
22672
|
this.inviteJoinGetComp();
|
|
22591
22673
|
},
|
|
22674
|
+
// =========================================================================
|
|
22675
|
+
// Methods - 业务方法
|
|
22676
|
+
// =========================================================================
|
|
22592
22677
|
methods: {
|
|
22593
22678
|
go2Agreement: go2Agreement$1,
|
|
22594
22679
|
getAuthSessionItems,
|
|
22595
22680
|
go2Policy: go2Policy$1,
|
|
22681
|
+
// ===== 受邀加入公司:通过 sessionStorage 中的 compKey 获取已有公司信息 =====
|
|
22596
22682
|
async inviteJoinGetComp() {
|
|
22597
22683
|
const sessions = getAuthSessionItems();
|
|
22598
22684
|
const key = sessions.compKey;
|
|
@@ -22601,6 +22687,7 @@ const _sfc_main$d = {
|
|
|
22601
22687
|
this.hasResistCompany = true;
|
|
22602
22688
|
this.resistCompanyInfo = res.data;
|
|
22603
22689
|
},
|
|
22690
|
+
// ===== 获取行业类型字典(从接口动态获取,与本地默认值合并) =====
|
|
22604
22691
|
findDict() {
|
|
22605
22692
|
findDictApi({
|
|
22606
22693
|
dictType: "cmc_company_industry_sector"
|
|
@@ -22622,10 +22709,12 @@ const _sfc_main$d = {
|
|
|
22622
22709
|
}).catch((err) => {
|
|
22623
22710
|
});
|
|
22624
22711
|
},
|
|
22712
|
+
// ===== 切换公司名时重置查重状态(清除之前的"已有公司"标记) =====
|
|
22625
22713
|
handleChangeCompany() {
|
|
22626
22714
|
this.companyResistCn = false;
|
|
22627
22715
|
this.companyResistEn = false;
|
|
22628
22716
|
},
|
|
22717
|
+
// ===== 取消加入已有公司 → 恢复到新设公司模式,清空所有相关状态 =====
|
|
22629
22718
|
handleCancelJoin() {
|
|
22630
22719
|
this.hasResistCompany = false;
|
|
22631
22720
|
this.companyResistCn = false;
|
|
@@ -22637,8 +22726,8 @@ const _sfc_main$d = {
|
|
|
22637
22726
|
this.form.firstName = "";
|
|
22638
22727
|
this.form.lastName = "";
|
|
22639
22728
|
},
|
|
22729
|
+
// ===== 选择行业类型 → 若切换为"货主",清空所有公司相关信息(货主不需要填公司) =====
|
|
22640
22730
|
handleSelectSector(value) {
|
|
22641
|
-
this.form.sector = value;
|
|
22642
22731
|
if (value === "Trade") {
|
|
22643
22732
|
this.form.companyName = "";
|
|
22644
22733
|
this.form.useKq = false;
|
|
@@ -22654,16 +22743,17 @@ const _sfc_main$d = {
|
|
|
22654
22743
|
this.form.lastName = "";
|
|
22655
22744
|
}
|
|
22656
22745
|
},
|
|
22657
|
-
//
|
|
22746
|
+
// ===== 申请加入已有公司按钮 → 切换为"已有公司"卡片模式,清除公司名校验错误 =====
|
|
22658
22747
|
handleApplyJoinClick() {
|
|
22659
22748
|
this.hasResistCompany = true;
|
|
22660
22749
|
this.$nextTick(() => {
|
|
22661
22750
|
this.$refs.registerFormRef.clearValidate("companyName");
|
|
22662
22751
|
});
|
|
22663
22752
|
},
|
|
22664
|
-
|
|
22665
|
-
|
|
22666
|
-
|
|
22753
|
+
// ===== [Step 1 → Step 2] 校验城市+联系方式后进入验证码/公司信息页面 =====
|
|
22754
|
+
// 1. 根据国家判断校验城市+手机(中国)还是城市+邮箱(海外)
|
|
22755
|
+
// 2. 校验通过后,快照当前联系方式用于后续"返回"时的智能判断
|
|
22756
|
+
// 3. 切换到 Step 2,清除所有校验错误提示
|
|
22667
22757
|
handleNextStep() {
|
|
22668
22758
|
const step1Fields = this.currentCountryIsChina ? ["city", "phone"] : ["city", "email"];
|
|
22669
22759
|
this.$refs.registerFormRef.validateField(step1Fields, (isValid) => {
|
|
@@ -22675,9 +22765,10 @@ const _sfc_main$d = {
|
|
|
22675
22765
|
});
|
|
22676
22766
|
});
|
|
22677
22767
|
},
|
|
22678
|
-
|
|
22679
|
-
|
|
22680
|
-
|
|
22768
|
+
// ===== [Step 2 → Step 1] 智能返回:已加入公司→取消加入;联系方式变化→重置验证码 =====
|
|
22769
|
+
// 两种返回路径:
|
|
22770
|
+
// 1. 当前处于"已有公司"卡片模式 → 取消加入,回到公司名输入界面
|
|
22771
|
+
// 2. 正常返回 Step 1:比对当前联系方式与快照,若发生变化则重置验证码状态
|
|
22681
22772
|
handleBackToStep1() {
|
|
22682
22773
|
if (this.hasResistCompany) {
|
|
22683
22774
|
this.handleCancelJoin();
|
|
@@ -22692,9 +22783,14 @@ const _sfc_main$d = {
|
|
|
22692
22783
|
this.$refs.registerFormRef.clearValidate();
|
|
22693
22784
|
});
|
|
22694
22785
|
},
|
|
22695
|
-
|
|
22696
|
-
|
|
22697
|
-
|
|
22786
|
+
// ===== 重置验证码所有相关状态 =====
|
|
22787
|
+
// 清空以下所有验证码相关的表单数据与 UI 状态:
|
|
22788
|
+
// - form.code:输入的 4 位验证码
|
|
22789
|
+
// - mobileUid / emailUid:滑块验证成功后服务端返回的 UID(用于验证码校验)
|
|
22790
|
+
// - verifyData:滑块验证组件的数据对象(含 ticket、randstr 等)
|
|
22791
|
+
// - codeReady:验证码输入框是否就绪(控制滑块重新弹出)
|
|
22792
|
+
// - isCounting:倒计时状态(停止倒计时)
|
|
22793
|
+
// 触发时机:用户返回 Step 1 且联系方式发生变化时
|
|
22698
22794
|
resetVerifyState() {
|
|
22699
22795
|
this.form.code = "";
|
|
22700
22796
|
this.mobileUid = "";
|
|
@@ -22703,6 +22799,9 @@ const _sfc_main$d = {
|
|
|
22703
22799
|
this.codeReady = false;
|
|
22704
22800
|
this.isCounting = false;
|
|
22705
22801
|
},
|
|
22802
|
+
// ===== 获取 IP 定位城市 + 区号列表 =====
|
|
22803
|
+
// 1. 调用 IP 定位 API 获取用户当前城市,自动填充城市选择器
|
|
22804
|
+
// 2. 调用区号列表 API 获取全球区号数据
|
|
22706
22805
|
async getAreaCodeData() {
|
|
22707
22806
|
var _a, _b, _c;
|
|
22708
22807
|
const res1 = await getLocalIpDataApi();
|
|
@@ -22735,6 +22834,7 @@ const _sfc_main$d = {
|
|
|
22735
22834
|
const res = await findPAreaCodeApi();
|
|
22736
22835
|
this.areaCodeData = res.data.data.records;
|
|
22737
22836
|
},
|
|
22837
|
+
// ===== 清空城市 → 重置验证码 + 公司查重 + 姓名等所有相关状态 =====
|
|
22738
22838
|
handleClearCity() {
|
|
22739
22839
|
this.resetVerifyState();
|
|
22740
22840
|
this.companyResistEn = false;
|
|
@@ -22745,6 +22845,12 @@ const _sfc_main$d = {
|
|
|
22745
22845
|
this.form.firstName = "";
|
|
22746
22846
|
this.form.lastName = "";
|
|
22747
22847
|
},
|
|
22848
|
+
// ===== 选择城市 → 处理城市/国家变化后的副作用 =====
|
|
22849
|
+
// 1. 提取城市 ID 和国家 ID
|
|
22850
|
+
// 2. 重置验证码状态(城市变化后需重新获取验证码)
|
|
22851
|
+
// 3. 非 compKey 邀请场景下,重置公司查重状态
|
|
22852
|
+
// 4. 若国家发生变化,清空公司名和快企信息(避免中英文公司名残留)
|
|
22853
|
+
// 5. 触发城市和公司名校验
|
|
22748
22854
|
handleSelectCity(e) {
|
|
22749
22855
|
var _a, _b, _c, _d;
|
|
22750
22856
|
const prevCountryId = this.form.countryId;
|
|
@@ -22774,14 +22880,25 @@ const _sfc_main$d = {
|
|
|
22774
22880
|
this.$refs.registerFormRef.validateField("city");
|
|
22775
22881
|
});
|
|
22776
22882
|
},
|
|
22883
|
+
// ===== 校验单个表单字段 =====
|
|
22884
|
+
// 用于在字段值变化时做局部校验(blur 事件触发),而非全量 validate
|
|
22885
|
+
// 特殊逻辑:当校验的是 email 或 phone 字段且校验通过,自动将 codeReady 置为 true,
|
|
22886
|
+
// 允许用户点击发送验证码;若校验失败则 codeReady 为 false,按钮保持禁用
|
|
22777
22887
|
validateField(field) {
|
|
22778
|
-
if (!this.$refs.registerFormRef) return;
|
|
22779
22888
|
this.$refs.registerFormRef.validateField(field, (isValid) => {
|
|
22780
22889
|
if (field === "email" || field === "phone") {
|
|
22781
22890
|
this.codeReady = isValid;
|
|
22782
22891
|
}
|
|
22783
22892
|
});
|
|
22784
22893
|
},
|
|
22894
|
+
// ===== 发送验证码 =====
|
|
22895
|
+
// 根据当前国家选择 API:中国 → sendMobileCodeApi(短信),海外 → sendEmailCodeApi(邮箱)
|
|
22896
|
+
// 参数说明:
|
|
22897
|
+
// captchaData:滑块验证通过后传入的数据
|
|
22898
|
+
// - uuid:滑块会话标识(注册提交时需与验证码一起回传)
|
|
22899
|
+
// - code:滑块验证码
|
|
22900
|
+
// startTimer:CodeInput 组件提供的倒计时启动函数(仅在接口成功时调用,避免失败时锁死按钮)
|
|
22901
|
+
// 成功后将返回的 verifyCode 存入 mobileUid/emailUid,用于后续注册提交时的校验回传
|
|
22785
22902
|
handleGetCode({ captchaData, startTimer }) {
|
|
22786
22903
|
this.verifyData = captchaData;
|
|
22787
22904
|
const params = {
|
|
@@ -22816,6 +22933,19 @@ const _sfc_main$d = {
|
|
|
22816
22933
|
});
|
|
22817
22934
|
console.log("发送注册验证码");
|
|
22818
22935
|
},
|
|
22936
|
+
// ===== 提交注册:全量校验后构建 payload,分流至"新设公司"或"申请加入" =====
|
|
22937
|
+
// 执行步骤:
|
|
22938
|
+
// 1. 全量表单校验(el-form validate)
|
|
22939
|
+
// 2. 检查是否已获取验证码(verifyData.uuid 必须存在,否则提示"请先获取验证码")
|
|
22940
|
+
// 3. 构建通用提交参数:appId、session 来源信息(clickSource/activityCode/referenceUserId/empNo)、
|
|
22941
|
+
// 行业类型(industrySector)、滑块验证数据(uuid/code)、项目 ID、注册入口标记
|
|
22942
|
+
// 4. 根据联系方式类型分支:
|
|
22943
|
+
// - MOBILE(中国区):区号 + 加密后的手机号 + 验证码 + 验证码 UUID
|
|
22944
|
+
// - EMAIL(海外区):邮箱地址 + 验证码 + 验证码 UUID
|
|
22945
|
+
// 5. 分流到具体提交方法:
|
|
22946
|
+
// - hasResistCompany=true → handleApplyJoinSubmit(申请加入已有公司)
|
|
22947
|
+
// - hasResistCompany=false → handleNewCompanySubmit(新设公司注册)
|
|
22948
|
+
// - 同时收集 session 中的国家/城市/公司名缓存,供注册后写入
|
|
22819
22949
|
handleRegister() {
|
|
22820
22950
|
this.$refs.registerFormRef.validate((valid) => {
|
|
22821
22951
|
var _a;
|
|
@@ -22871,9 +23001,14 @@ const _sfc_main$d = {
|
|
|
22871
23001
|
}
|
|
22872
23002
|
});
|
|
22873
23003
|
},
|
|
22874
|
-
|
|
22875
|
-
|
|
22876
|
-
|
|
23004
|
+
// ===== [A 路径] 新设公司注册 =====
|
|
23005
|
+
// 构建注册 payload 并调用注册 API:
|
|
23006
|
+
// 1. 合并基础参数 + 城市(cityId)/ 国家(countryId)/ 行业(industrySector)
|
|
23007
|
+
// 2. 非货主行业:附加公司名(中国→compNameCn,海外→compNameEn)+ 快企查重信息
|
|
23008
|
+
// (注意:kqInfo 中若含 compId 字段需排除,避免与新接口的 compId 语义冲突)
|
|
23009
|
+
// 3. 货主行业:不提交公司名称相关字段
|
|
23010
|
+
// 4. 根据 session 中的 uniqueCode 判断调用普通注册 API 或第三方绑定注册 API
|
|
23011
|
+
// 注册成功后统一调用 handlePostRegister 处理响应分流
|
|
22877
23012
|
async handleNewCompanySubmit(baseData) {
|
|
22878
23013
|
const sessionStorageItems = this.getAuthSessionItems();
|
|
22879
23014
|
const registerPayload = {
|
|
@@ -22912,9 +23047,14 @@ const _sfc_main$d = {
|
|
|
22912
23047
|
this.loading = false;
|
|
22913
23048
|
}
|
|
22914
23049
|
},
|
|
22915
|
-
|
|
22916
|
-
|
|
22917
|
-
|
|
23050
|
+
// ===== [B 路径] 申请加入已有公司 =====
|
|
23051
|
+
// 构建申请 payload 并调用注册 API:
|
|
23052
|
+
// 1. 携带已有公司 ID(compId),来源:公司查重匹配或 compKey 邀请链接
|
|
23053
|
+
// 2. 申请者姓名:中国区提交 nameCn;海外区拼接 firstName + lastName 为 nameEn
|
|
23054
|
+
// 3. 移除与新设公司相关的字段(industrySector、compNameEn/Cn、countryId、cityId 等),
|
|
23055
|
+
// 因为加入已有公司无需新建公司信息
|
|
23056
|
+
// 4. 根据 uniqueCode 判断调用普通注册 API 或第三方绑定注册 API
|
|
23057
|
+
// 注册成功后统一调用 handlePostRegister 处理响应分流
|
|
22918
23058
|
async handleApplyJoinSubmit(baseData) {
|
|
22919
23059
|
const sessionStorageItems = this.getAuthSessionItems();
|
|
22920
23060
|
const applyPayload = {
|
|
@@ -22959,6 +23099,10 @@ const _sfc_main$d = {
|
|
|
22959
23099
|
this.loading = false;
|
|
22960
23100
|
}
|
|
22961
23101
|
},
|
|
23102
|
+
// ===== 延迟跳转工具函数 =====
|
|
23103
|
+
// 先清除 sessionStorage 中的认证缓存数据(路径、来源等),再执行页面跳转
|
|
23104
|
+
// delayInput 支持传入毫秒数或数字字符串,经 normalizeDelayMs 统一转换为毫秒
|
|
23105
|
+
// 典型用法:注册成功后延迟 1000ms 跳转到 redirectPath
|
|
22962
23106
|
executeRedirectWithDelay(redirectPath, delayInput) {
|
|
22963
23107
|
const delayMs = normalizeDelayMs(delayInput);
|
|
22964
23108
|
setTimeout(() => {
|
|
@@ -22966,6 +23110,17 @@ const _sfc_main$d = {
|
|
|
22966
23110
|
handleRedirect$1(redirectPath);
|
|
22967
23111
|
}, delayMs);
|
|
22968
23112
|
},
|
|
23113
|
+
// ===== 注册成功后的统一后处理 =====
|
|
23114
|
+
// 根据接口返回的 res.data 分三种情况处理:
|
|
23115
|
+
// 1. improveComp 存在(第三方登录注册后需要完善公司信息)
|
|
23116
|
+
// → 不入库 tgc,不做跳转,直接 emit need-complete 事件,
|
|
23117
|
+
// 由父组件切换到 CompleteInfoForm 完善信息
|
|
23118
|
+
// 2. redirect 为 true(注册成功直接登录)
|
|
23119
|
+
// → 写入 tgc 凭证到 Cookie(30 天有效期)
|
|
23120
|
+
// → emit register-success,携带流控对象(redirect/preventDefault 方法)
|
|
23121
|
+
// 如果父组件没有调用 redirect 或 preventDefault,则内部自动跳转到 redirectPath
|
|
23122
|
+
// 3. redirect 为 false(注册提交成功但需要审核)
|
|
23123
|
+
// → 提示"注册成功,请等待审核",不做跳转,关闭弹窗或保持当前状态
|
|
22969
23124
|
handlePostRegister(res) {
|
|
22970
23125
|
const sessionStorageItems = this.getAuthSessionItems();
|
|
22971
23126
|
console.log("🍉 ~ RegisterForm.vue:749 ~ res.data:", res.data);
|
|
@@ -23471,7 +23626,7 @@ function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
23471
23626
|
}, 8, ["model", "rules"])
|
|
23472
23627
|
]);
|
|
23473
23628
|
}
|
|
23474
|
-
const RegisterForm = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["render", _sfc_render$3], ["__scopeId", "data-v-
|
|
23629
|
+
const RegisterForm = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["render", _sfc_render$3], ["__scopeId", "data-v-4ae4e4b8"]]);
|
|
23475
23630
|
const _imports_0$3 = "data:image/webp;base64,UklGRs4CAABXRUJQVlA4WAoAAAAQAAAAJwAAJwAAQUxQSFoBAAABN6KgbRtmp+3Gn/RDEBEEkzTVdowBQKcP3554FoBl23ba5llJyswNJ2VumGWofOY/p8qSit8R/Z8A+a8elYOpw8ta7XyzQK0aYSpXkxxr+l5TIvLMOMTaaw75atjrjVMg6apzYNuvnZH3q2Wxbl7NYR4Ddz6qB+/b4lxd8llHbmrIR018WxYu3QboXfHdMLae0xXZtvhGY+x52WHLcCHeNxRfOfR5Fu/tpdZaJ1mWZeOiA0zFL+w9j/I9NSffY5NUvmeVwTfp8PxNbrn9HRbs2zo8fU3Muq3K6EtK5JFtkzT6ilPmUrji+CvueSh64OULVMJJ0TamEq7JXBx7vAZTCVWXbcNlqBdm4nxFthPmGrPrJj2SvRBXUBdPNcTUvdQTXIu3eoP+gVt1hWlKyLaBQaNs275awvJIwlYeDaBH/f40BXQnkuCVq7HBmr5VI/naaP+iWj1bl98fVlA4IE4BAAAQBwCdASooACgAPi0ShkKhoQ42SgAMAWJZWxKQyHAkNc+PADbI89n6J94A3jAJQK0xA6Tk60mYtNspcySSE/tFIADM///yqf//Kgv//ywQt7g1bu7h+xw3tKfdFW3YSP2h0iF6VIn4CTXLv//vM//94Jv//ee+S0E0m6xnEgxdBDf7ewX/lL4BgZWe2EfgOrK0pMN4Qy5uWqWBS4KWWUfrCz0nMK/H/I4/+XhdD+65pGbyiKvih/6tn//ciDb/uimjajMDV4Q/Xe6/5j9xYKcn08xURQpu0wODf/+3SuKUFZLR0yHKFUmWQGuB/RhP/o3UFQW2JYdAdLNwvjre+S6H5X//i0Kc3jhiy9mLmUsuJ+4/5++fwdGZUbaTBUfk9QB9rjsVLVNwQW2lzccI98O08eePpfHRQKN1FzjT/cMehMc50hgx//o3l7EokAAA";
|
|
23476
23631
|
const _imports_1$2 = "data:image/webp;base64,UklGRhACAABXRUJQVlA4WAoAAAAQAAAAGAAAFwAAQUxQSOcAAAABgINt27HlzZxs1+i945+yudmaXJMm27btmmzbtm094f2+L88RMQHoH0ivGDZ+dTufRGOhwhmw/QIfT5NlyDEEHdz1zdzA5sDmTZ4EKeWJp2may+JdpEray5o7HRnnPYCzy2e43uvNSQvW5CfhcwDY1eKWK4CX3WgRAt0NzG7T6At8vGkUw3FXXX8YGLkf9c+8rLBeOI2gxyD51juA6+5ZuFjaej6YvL3vEsEhxb5nuOicA8KHHlECg1QHMzfnukeCszhGAgY6hBCT+RTuvkMWUWQz7XsGgPs2OUSdS9Uv2N0tWOIT/l4AVlA4IAIBAACwBwCdASoZABgAPjESh0KiIQ39VgAQAYJbACdM5JkB+meFg2gDaAN0l4AD9QPSA/wHuJ/sl6KYX31WXITTIqQjhEf+VVEAAP0cZ9TkuKczs9Y1za4WaelqmDJ+pg5xRI8RGqa0Xf/vA/xc/Jt7352wODrO+GBNH/+k0H/0IZkEP/+9kflw8xfZOvuJnYDve0V1+ez//9tEgIWxjEjRen4x7s8w+Gha3PQxumTkBwxFTp+YlQXvZzWdZW3wRP0nsu895denVK5N8FE8Zg23a9118GTARL99uq+SY4/E8PeGs/GKL4ufe2EdSmq0ixJ9pxRZOAX/4XkoyRtaDa35BrgAAAA=";
|
|
23477
23632
|
const _hoisted_1$c = { class: "login-wx" };
|
|
@@ -23718,7 +23873,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
23718
23873
|
};
|
|
23719
23874
|
}
|
|
23720
23875
|
});
|
|
23721
|
-
const WechatLogin = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-
|
|
23876
|
+
const WechatLogin = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-84a63da0"]]);
|
|
23722
23877
|
const _sfc_main$b = {
|
|
23723
23878
|
name: "LoginTypeSwitcher",
|
|
23724
23879
|
components: {
|
|
@@ -23827,7 +23982,7 @@ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
23827
23982
|
_: 1
|
|
23828
23983
|
}, 8, ["model-value", "onChange"]);
|
|
23829
23984
|
}
|
|
23830
|
-
const LoginTypeSwitcher = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["render", _sfc_render$2], ["__scopeId", "data-v-
|
|
23985
|
+
const LoginTypeSwitcher = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["render", _sfc_render$2], ["__scopeId", "data-v-ed6d6ee4"]]);
|
|
23831
23986
|
const _imports_0$2 = "data:image/webp;base64,UklGRhgCAABXRUJQVlA4WAoAAAAQAAAALwAALwAAQUxQSKIAAAABgFZbb9xIEATBUAyhEAqhDBIGNgOXQaEIgiAYwtfZtM3+LyImgP4d+1BAVqvCAx8OLsECo3CFAfMo0ODsecsz88SjeXD/vNQjedOzPgDCuqfl0bRNKsBiEa5APD+aTCWI2l0AnZ3ehTnKW+9dgIp/Kf146Aa2PM5egI8Ns66WwwOBq70JvmyE6jVsIPwIOpB4xuyMXU5jbhlnDF0lSm/03whWUDggUAEAAPALAJ0BKjAAMAA+LRKGQqGhDjduAAwBYlsAMgdwP4BoK/wA4aTvN+x2I4/APyq/oHuA/gHOJ7gD9XfMA6QDrYP0z9gD9APRQ/ZD4FP219gD9UARvMpbMuVN2542MibJh8RTb2jFdmX4AP7/8PzX//KRnpdaTTuezU2wfPVue6zvilNiLydYqgogCDf+z+cTn0sw++BUMUAXW/ykOXcyNB2xLlv/9baGU9jTlskvg+1Mv/puM3RR2VkkR8nzfym/nfxZ64t/3bWsauPme9EKHGYBBZv8u8jT/DUfv3hKs//3THxis4v6eWcTTUpo9W6e2PurHwS2B16ei/If+Ww23FLqmd3jWPwTwBTDBEJ3HBZfQftnPWpA9rY4f//0skE1+0YwOJB/my/FIk/GCZloGHd/7iN//8vNjd/zOhSoSRNP6Xtp1K0Qc6nr99ilYAAAAA==";
|
|
23832
23987
|
const _imports_1$1 = "data:image/webp;base64,UklGRiQBAABXRUJQVlA4WAoAAAAQAAAALwAALwAAQUxQSL8AAAABcFXbVtygAAdPSGKgDqIgMVAMgAIcxEdRAApQcJ0E3tD5LyLYuG0jSXKOaqvMPsL9Ha6xASWTFT5hMHmbKphYTJIwNRlAYFz0ZMB4PDiqHrB+XhpHMT4TIOtZOJhbp0OUOCcy1XDo75yrSk6UONkFJb71XIAWhxs/aFYm7qhkV5PvDmWYa1lGV2s4Wwd6OcM6RlE+dOaZZrpEXD5BoOr3d+sQWTfFkxAbhATAOF1DN6cKD1TD3cncipS2uz9DBwBWUDggPgAAAFADAJ0BKjAAMAA+JQ6FQqGHjAYAkS0gABSWHJn8435xRpEAAP7//k4XP//7dtNf5ihlI///6OQD//9v7AAA";
|
|
23833
23988
|
const _hoisted_1$a = { class: "wechat-choose-type" };
|
|
@@ -23895,7 +24050,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
23895
24050
|
};
|
|
23896
24051
|
}
|
|
23897
24052
|
});
|
|
23898
|
-
const WechatChooseType = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-
|
|
24053
|
+
const WechatChooseType = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-f485c6be"]]);
|
|
23899
24054
|
const _imports_0$1 = "data:image/webp;base64,UklGRkYDAABXRUJQVlA4WAoAAAAQAAAATwAATwAAQUxQSK0BAAABkJVtT55JrwQkRAISIqEOBgl1sDhoHVAHXQdIQEIkICH780ETOodzEBETgJ+MA3FKG8fvIaQiOm5lCy/j2vVx4RdxVdtKLwmH2pfwBmrqKbQeifr2bTUSdd/WIlH/HpcqOuxnyjJT9/0aqISFkg47AaCJGwDOgeaFZPQb/7dR/I9HSsuwjsuHapaXKRMaAZCOawBQJvoyMqN3PvqEypGrzsZFgvrLmShgXXYrjMDHLSLS6rGR3+ZUCVy7TtfklVz6Dq76XJIPe0gMh9oW8iAHIWpqLeSAbhdJ1L5Hh8ssB1HPTnZsJTjUV4IZxChFHUrartG5nf2TZju2EdQRAaifCgAe9GCG22QnHQoA7J8SAAw02wWxiPtIv4AgnyqAX6NmBxID1Am9S9ehlKqTwQ4kjxpkxj46gORJha6YPBCuR32FzQXxQYOswD7ng457heAj/8ndPmnYF6hwjaoqCUDglEspRAskn1Ml4WF1E/huCY/ZjZ1MT6eM9UNzufBGEocaXgFqZhdem412vJiqCb8JiJdM9f/OdwHg/a4i0soeQZeqvO4pi8bvBWD8PAwAVlA4IHIBAACQDQCdASpQAFAAPjESh0KiIQzPMmYQAYJYgDTVCv5F+Mf4gb4DJX+Sz7l/ANsR/t26P/QD/AegB1gH9L/gHoV9YB+tfoUf7T/efAf+sP68fAV+m//U1vlDvsJaoYWahGVgTNJjQto23T3wmPTWzB6ZzMk6AwAA/v7uqgr/9ZP//7blAnmnE6lioCaVp1+WnldB5HpBbYjxc1NG5XU54UvD9kf2w/pZ7/42ltzXYtGbK1//nqr8tjkze5eVKps78/9WExTMn4pKTe3c8mpsuj8YwNG+XmxN6qsxIT2EwKQHnE5z8J/+pe+1IL/r1o8YBWTv7H+OAb1dnyF/HIBfP7w3V0JsIK9k9luJE6Inls4/P8XLinjMj63/lB+fL9Mg/9VBqi1r084wLn/+c3RisrFoveLUv2I5xww1R/MwdnWNwJwQ8oKLyHlGl0b3UxrGhAtGoS5KzFv4B538wnEyq7d8a9J8x7Ua1ZythfCc5mNgAAAA";
|
|
23900
24055
|
const _imports_2 = "data:image/webp;base64,UklGRtgAAABXRUJQVlA4WAoAAAAQAAAAHwAAHwAAQUxQSG8AAAABcFXbVq2cCEQ4EYxABBtIhNvg0kAaEMEIJwoRiLB86/b5GxETYP9n6T1rGiyaBULjMJPEAvaaDOwkdgBWSRrAKH4rxsOTq3NzbfD0/Cr+eACzZk/XHl+Bluz5DlRTBnRTOuCSAmHSBlU0xlbzdwIAVlA4IEIAAABwAwCdASogACAAPjESjEYiENDKACADBLSAACWH58lev5ur/aAA/iw///2p6j//i/2//+H8FPIH///0cbN//9v7AAA=";
|
|
23901
24056
|
function useAuthLogin(options = {}) {
|
|
@@ -24210,7 +24365,6 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
24210
24365
|
const emits = __emit;
|
|
24211
24366
|
const {
|
|
24212
24367
|
loading: loadingBtn,
|
|
24213
|
-
// 将 Hook 的 loading 重命名为 loadingBtn
|
|
24214
24368
|
handleBindSubmit
|
|
24215
24369
|
} = useAuthLogin({
|
|
24216
24370
|
appId: "ERA",
|
|
@@ -24596,7 +24750,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
24596
24750
|
};
|
|
24597
24751
|
}
|
|
24598
24752
|
});
|
|
24599
|
-
const WechatBindLogin = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-
|
|
24753
|
+
const WechatBindLogin = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-a39fbac2"]]);
|
|
24600
24754
|
const _sfc_main$8 = {
|
|
24601
24755
|
name: "CompleteInfoForm",
|
|
24602
24756
|
components: {
|
|
@@ -24726,29 +24880,44 @@ const _sfc_main$8 = {
|
|
|
24726
24880
|
};
|
|
24727
24881
|
},
|
|
24728
24882
|
computed: {
|
|
24883
|
+
// 当前城市所属国家 ID
|
|
24729
24884
|
countryId() {
|
|
24730
24885
|
var _a, _b, _c, _d;
|
|
24731
24886
|
return ((_c = (_b = (_a = this.form.city) == null ? void 0 : _a.raw) == null ? void 0 : _b.country) == null ? void 0 : _c.id) || ((_d = this.resistCompanyInfo) == null ? void 0 : _d.countryId);
|
|
24732
24887
|
},
|
|
24888
|
+
// 当前城市 ID
|
|
24733
24889
|
cityId() {
|
|
24734
24890
|
var _a;
|
|
24735
24891
|
return (_a = this.form.city) == null ? void 0 : _a.id;
|
|
24736
24892
|
},
|
|
24893
|
+
// 当前国家是否为中国
|
|
24737
24894
|
currentCountryIsChina() {
|
|
24738
24895
|
const id = this.countryId;
|
|
24739
24896
|
return [1].includes(Number(id));
|
|
24740
24897
|
},
|
|
24898
|
+
// 公司名称输入框标签文字
|
|
24741
24899
|
currentCompanyLabel() {
|
|
24742
24900
|
return this.isEn ? this.currentCountryIsChina ? "Company Name in Chinese" : "Company Name in English" : this.currentCountryIsChina ? "公司中文名称" : "公司英文名称";
|
|
24743
24901
|
},
|
|
24902
|
+
/**
|
|
24903
|
+
* 是否显示手机验证码区域
|
|
24904
|
+
* 条件:渲染就绪 && 中国区 && 当前用户未绑定手机号
|
|
24905
|
+
* 已绑定手机号的用户无需再次验证
|
|
24906
|
+
*/
|
|
24744
24907
|
isShowMobileCode() {
|
|
24745
24908
|
if (!this.isReady) return false;
|
|
24746
24909
|
return this.currentCountryIsChina && !this.currentUserMobile;
|
|
24747
24910
|
},
|
|
24911
|
+
/**
|
|
24912
|
+
* 是否显示邮箱验证码区域
|
|
24913
|
+
* 条件:渲染就绪 && 当前用户未绑定邮箱
|
|
24914
|
+
* 已绑定邮箱的用户无需再次验证
|
|
24915
|
+
*/
|
|
24748
24916
|
isShowEmailCode() {
|
|
24749
24917
|
if (!this.isReady) return false;
|
|
24750
24918
|
return !this.currentUserEmail;
|
|
24751
24919
|
},
|
|
24920
|
+
// 验证码输入组件标签
|
|
24752
24921
|
codeInputLabel() {
|
|
24753
24922
|
return buildCodeInputLabel({
|
|
24754
24923
|
isChina: this.currentCountryIsChina,
|
|
@@ -24840,6 +25009,13 @@ const _sfc_main$8 = {
|
|
|
24840
25009
|
}
|
|
24841
25010
|
});
|
|
24842
25011
|
},
|
|
25012
|
+
/**
|
|
25013
|
+
* 发送验证码
|
|
25014
|
+
* @param captchaData - 滑块验证返回的 { uuid, code }
|
|
25015
|
+
* @param type - 'mobile' 发送手机验证码 | 'email' 发送邮箱验证码
|
|
25016
|
+
* 根据 type 参数选择不同的 API,成功后设置对应的 codeSent/Uid 状态,
|
|
25017
|
+
* 接口成功后才调用 startTimer 启动倒计时
|
|
25018
|
+
*/
|
|
24843
25019
|
handleGetCode({ captchaData, startTimer }, type = "mobile") {
|
|
24844
25020
|
var _a;
|
|
24845
25021
|
this.verifyData = captchaData;
|
|
@@ -24894,7 +25070,11 @@ const _sfc_main$8 = {
|
|
|
24894
25070
|
}
|
|
24895
25071
|
});
|
|
24896
25072
|
},
|
|
24897
|
-
|
|
25073
|
+
/**
|
|
25074
|
+
* 逻辑 A:新设公司提交
|
|
25075
|
+
* 组装城市、公司名、行业、手机/邮箱验证码数据,
|
|
25076
|
+
* 调用 completeCompRedirectApi 完成完善信息
|
|
25077
|
+
*/
|
|
24898
25078
|
handleNewSubmit() {
|
|
24899
25079
|
var _a;
|
|
24900
25080
|
this.loading = true;
|
|
@@ -24933,7 +25113,11 @@ const _sfc_main$8 = {
|
|
|
24933
25113
|
this.loading = false;
|
|
24934
25114
|
});
|
|
24935
25115
|
},
|
|
24936
|
-
|
|
25116
|
+
/**
|
|
25117
|
+
* 逻辑 B:申请加入已有公司提交
|
|
25118
|
+
* 传入已有公司 compId + 用户姓名 + 验证码,调用 completeJoinCompanyRedirectApi
|
|
25119
|
+
* 成功后写入 tgc Cookie 并执行页面重定向
|
|
25120
|
+
*/
|
|
24937
25121
|
handleJoinSubmit() {
|
|
24938
25122
|
var _a;
|
|
24939
25123
|
this.loading = true;
|
|
@@ -25305,7 +25489,7 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
25305
25489
|
}, 8, ["model", "rules"])
|
|
25306
25490
|
]);
|
|
25307
25491
|
}
|
|
25308
|
-
const CompleteInfoForm = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["render", _sfc_render$1], ["__scopeId", "data-v-
|
|
25492
|
+
const CompleteInfoForm = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["render", _sfc_render$1], ["__scopeId", "data-v-8d245598"]]);
|
|
25309
25493
|
const _hoisted_1$7 = { class: "auth-footer-box" };
|
|
25310
25494
|
const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
25311
25495
|
__name: "FooterBox",
|
|
@@ -25354,7 +25538,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
25354
25538
|
};
|
|
25355
25539
|
}
|
|
25356
25540
|
});
|
|
25357
|
-
const FooterBox = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-
|
|
25541
|
+
const FooterBox = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-00dec381"]]);
|
|
25358
25542
|
const _hoisted_1$6 = { class: "forget-password-wrapper" };
|
|
25359
25543
|
const _hoisted_2$5 = { class: "forgot-pwd-container" };
|
|
25360
25544
|
const _hoisted_3$5 = { class: "header-title" };
|
|
@@ -25728,7 +25912,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
25728
25912
|
};
|
|
25729
25913
|
}
|
|
25730
25914
|
});
|
|
25731
|
-
const ForgetPassword = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-
|
|
25915
|
+
const ForgetPassword = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-9dd4814c"]]);
|
|
25732
25916
|
const _hoisted_1$5 = { class: "auth-bottom-tip" };
|
|
25733
25917
|
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
25734
25918
|
__name: "AuthBottomTip",
|
|
@@ -25776,7 +25960,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
25776
25960
|
};
|
|
25777
25961
|
}
|
|
25778
25962
|
});
|
|
25779
|
-
const AuthBottomTip = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-
|
|
25963
|
+
const AuthBottomTip = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-b4421e4f"]]);
|
|
25780
25964
|
const _imports_0 = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1767855712095'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='9362'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20fill='currentcolor'%20d='M113.242353%20250.217412l356.352%20356.412235a60.235294%2060.235294%200%200%200%2080.655059%204.156235l4.577882-4.156235%20356.111059-356.171294c1.204706%204.397176%201.987765%208.914824%202.409412%2013.552941l0.240941%206.987294v481.882353c0%2042.345412-32.768%2077.101176-74.270118%2080.112941l-6.023529%200.240942H190.765176a80.293647%2080.293647%200%200%201-80.112941-74.330353l-0.180706-6.02353v-481.882353c0-4.818824%200.421647-9.456941%201.204706-14.034823l1.505883-6.746353z%20m720.052706-59.512471c4.818824%200%209.637647%200.421647%2014.215529%201.204706l6.866824%201.566118-342.136471%20342.13647-342.256941-342.13647c4.397176-1.204706%209.035294-2.048%2013.673412-2.409412l7.107764-0.361412h642.529883z'%20p-id='9363'%3e%3c/path%3e%3c/svg%3e";
|
|
25781
25965
|
const _imports_1 = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1767855760413'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='9516'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M694.874353%20918.949647c-57.825882-2.108235-221.726118-24.696471-393.336471-196.367059-171.610353-171.550118-194.258824-335.450353-196.367058-393.33647-3.252706-88.124235%2064.271059-173.778824%20142.336-207.209412a59.030588%2059.030588%200%200%201%2058.006588%206.324706c64.210824%2046.863059%20108.604235%20117.639529%20146.672941%20173.357176%2017.227294%2025.178353%2013.071059%2059.512471-10.24%2079.75153L363.52%20439.717647a19.275294%2019.275294%200%200%200-5.722353%2024.696471c17.709176%2032.346353%2049.332706%2080.353882%2085.473882%20116.495058%2036.141176%2036.141176%2086.437647%2069.752471%20120.952471%2089.509648a19.395765%2019.395765%200%200%200%2025.840941-6.445177l50.959059-77.703529c19.516235-25.961412%2056.018824-31.623529%2082.582588-13.251765%2056.500706%2039.092706%20122.458353%2082.642824%20170.706824%20144.444235a59.030588%2059.030588%200%200%201%207.589647%2059.632941c-33.611294%2078.426353-118.663529%20145.167059-207.088941%20141.914353z'%20p-id='9517'%3e%3c/path%3e%3c/svg%3e";
|
|
25782
25966
|
const _hoisted_1$4 = { class: "bind-container" };
|
|
@@ -26274,7 +26458,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
26274
26458
|
};
|
|
26275
26459
|
}
|
|
26276
26460
|
});
|
|
26277
|
-
const ThirdBindLogin = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-
|
|
26461
|
+
const ThirdBindLogin = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-e8b08f1c"]]);
|
|
26278
26462
|
const _sfc_main$3 = {
|
|
26279
26463
|
name: "ThirdRegisterForm",
|
|
26280
26464
|
components: {
|
|
@@ -26305,34 +26489,43 @@ const _sfc_main$3 = {
|
|
|
26305
26489
|
"register-step-change"
|
|
26306
26490
|
],
|
|
26307
26491
|
computed: {
|
|
26492
|
+
// 是否同意用户协议
|
|
26308
26493
|
isAgree() {
|
|
26309
26494
|
return this.form.agree;
|
|
26310
26495
|
},
|
|
26496
|
+
// 当前选择的城市所属国家 ID
|
|
26311
26497
|
countryId() {
|
|
26312
26498
|
var _a, _b, _c;
|
|
26313
26499
|
return (_c = (_b = (_a = this.form.city) == null ? void 0 : _a.raw) == null ? void 0 : _b.country) == null ? void 0 : _c.id;
|
|
26314
26500
|
},
|
|
26501
|
+
// 当前选择的城市 ID
|
|
26315
26502
|
cityId() {
|
|
26316
26503
|
var _a;
|
|
26317
26504
|
return (_a = this.form.city) == null ? void 0 : _a.id;
|
|
26318
26505
|
},
|
|
26506
|
+
// 当前国家是否为中国(countryId=1 为中国),影响表单字段与验证码发送方式
|
|
26319
26507
|
currentCountryIsChina() {
|
|
26320
26508
|
var _a;
|
|
26321
26509
|
const id = this.countryId || ((_a = this.resistCompanyInfo) == null ? void 0 : _a.countryId);
|
|
26322
26510
|
return [1].includes(Number(id));
|
|
26323
26511
|
},
|
|
26512
|
+
// 公司名称输入框的 placeholder 文字,根据语言和地区动态切换
|
|
26324
26513
|
currentCompanyLabel() {
|
|
26325
26514
|
return this.isEn ? this.currentCountryIsChina ? "Company Name in Chinese" : "Company Name in English" : this.currentCountryIsChina ? "公司中文名称" : "公司英文名称";
|
|
26326
26515
|
},
|
|
26516
|
+
// 是否选择了"货主(Trader)"行业类型,货主不需要填写公司名称
|
|
26327
26517
|
isTraderSector() {
|
|
26328
26518
|
return this.form.sector === "Trade";
|
|
26329
26519
|
},
|
|
26520
|
+
// 是否显示邮箱绑定按钮(海外区 && 有第三方邮箱验证列表)
|
|
26330
26521
|
showEmailBindBtn() {
|
|
26331
26522
|
return !this.currentCountryIsChina && this.thirdPartyEmailVerifyList.length > 0;
|
|
26332
26523
|
},
|
|
26524
|
+
// 是否显示手机号绑定按钮(中国区 && 有第三方手机验证列表)
|
|
26333
26525
|
showMobileBindBtn() {
|
|
26334
26526
|
return this.currentCountryIsChina && this.thirdPartyMobileVerifyList.length > 0;
|
|
26335
26527
|
},
|
|
26528
|
+
// 验证码输入组件的标签文字,根据地区自动拼接手机号/邮箱
|
|
26336
26529
|
codeInputLabel() {
|
|
26337
26530
|
return buildCodeInputLabel({
|
|
26338
26531
|
isChina: this.currentCountryIsChina,
|
|
@@ -26504,6 +26697,10 @@ const _sfc_main$3 = {
|
|
|
26504
26697
|
type === "email" ? this.thirdPartyEmailVerifyList : this.thirdPartyMobileVerifyList
|
|
26505
26698
|
);
|
|
26506
26699
|
},
|
|
26700
|
+
/**
|
|
26701
|
+
* Step 1 → Step 2:校验城市 + 联系方式(手机/邮箱)后进入第 2 步
|
|
26702
|
+
* 同时快照当前联系方式,用于返回 Step 1 时的变更检测
|
|
26703
|
+
*/
|
|
26507
26704
|
handleNextStep() {
|
|
26508
26705
|
const step1Fields = this.currentCountryIsChina ? ["city", "phone"] : ["city", "email"];
|
|
26509
26706
|
this.$refs.registerFormRef.validateField(step1Fields, (isValid) => {
|
|
@@ -26515,6 +26712,11 @@ const _sfc_main$3 = {
|
|
|
26515
26712
|
});
|
|
26516
26713
|
});
|
|
26517
26714
|
},
|
|
26715
|
+
/**
|
|
26716
|
+
* Step 2 → Step 1:返回到第 1 步
|
|
26717
|
+
* - 如果处于"已加入公司"状态,则回到公司名输入界面(取消加入)
|
|
26718
|
+
* - 如果联系方式有变更,重置验证码相关状态
|
|
26719
|
+
*/
|
|
26518
26720
|
handleBackToStep1() {
|
|
26519
26721
|
if (this.hasResistCompany) {
|
|
26520
26722
|
this.handleCancelJoin();
|
|
@@ -26674,6 +26876,13 @@ const _sfc_main$3 = {
|
|
|
26674
26876
|
}
|
|
26675
26877
|
});
|
|
26676
26878
|
},
|
|
26879
|
+
/**
|
|
26880
|
+
* 发送验证码
|
|
26881
|
+
* - 滑块验证成功后的回调,接收 captchaData(含 uuid + code)
|
|
26882
|
+
* - 根据 currentCountryIsChina 选择 sendMobileCodeApi 或 sendEmailCodeApi
|
|
26883
|
+
* - 成功后保存 verifyCode UUID(mobileUid/emailUid),用于注册时提交
|
|
26884
|
+
* - 接口成功后才调用 startTimer() 启动倒计时,避免失败时按钮被锁
|
|
26885
|
+
*/
|
|
26677
26886
|
handleGetCode({ captchaData, startTimer }) {
|
|
26678
26887
|
this.verifyData = captchaData;
|
|
26679
26888
|
const params = {
|
|
@@ -26707,6 +26916,12 @@ const _sfc_main$3 = {
|
|
|
26707
26916
|
console.error(err);
|
|
26708
26917
|
});
|
|
26709
26918
|
},
|
|
26919
|
+
/**
|
|
26920
|
+
* 注册提交入口
|
|
26921
|
+
* 1. 表单整体校验
|
|
26922
|
+
* 2. 组装提交数据(区分手机号/邮箱、拼接第三方登录信息)
|
|
26923
|
+
* 3. 业务分流:hasResistCompany ? 申请加入公司 : 新设公司注册
|
|
26924
|
+
*/
|
|
26710
26925
|
handleRegister() {
|
|
26711
26926
|
this.$refs.registerFormRef.validate((valid) => {
|
|
26712
26927
|
var _a;
|
|
@@ -26841,6 +27056,14 @@ const _sfc_main$3 = {
|
|
|
26841
27056
|
handleRedirect$1(redirectPath);
|
|
26842
27057
|
}, delayMs);
|
|
26843
27058
|
},
|
|
27059
|
+
/**
|
|
27060
|
+
* 注册成功后的处理流程
|
|
27061
|
+
* 1. 写入登录凭证(tgc Cookie + token)
|
|
27062
|
+
* 2. improveComp 检查:如果后端返回 improveComp 标记,说明需要完善公司信息,
|
|
27063
|
+
* 则 emit need-complete 事件并 return,不执行重定向
|
|
27064
|
+
* 3. 正常流程:emit register-success 事件(包含 redirect/preventDefault 流控能力),
|
|
27065
|
+
* 如果父组件未处理则自动执行重定向
|
|
27066
|
+
*/
|
|
26844
27067
|
handlePostRegister(res) {
|
|
26845
27068
|
const sessionStorageItems = this.getAuthSessionItems();
|
|
26846
27069
|
if (res.data.code === 0) {
|
|
@@ -27333,7 +27556,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
27333
27556
|
}, 8, ["model", "rules"])
|
|
27334
27557
|
]);
|
|
27335
27558
|
}
|
|
27336
|
-
const ThirdRegisterForm = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render], ["__scopeId", "data-v-
|
|
27559
|
+
const ThirdRegisterForm = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render], ["__scopeId", "data-v-fda6eabc"]]);
|
|
27337
27560
|
function useLoginForm(options) {
|
|
27338
27561
|
const { isEn, loginType } = options;
|
|
27339
27562
|
const loginFormRef = ref();
|
|
@@ -28320,7 +28543,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
28320
28543
|
};
|
|
28321
28544
|
}
|
|
28322
28545
|
});
|
|
28323
|
-
const index$2 = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-
|
|
28546
|
+
const index$2 = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-80de1603"]]);
|
|
28324
28547
|
const __vite_glob_0_16 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
28325
28548
|
__proto__: null,
|
|
28326
28549
|
default: index$2
|
|
@@ -29419,7 +29642,9 @@ const {
|
|
|
29419
29642
|
AirLineSearch,
|
|
29420
29643
|
SeaLineSearch,
|
|
29421
29644
|
LineCascader,
|
|
29422
|
-
JcImg
|
|
29645
|
+
JcImg,
|
|
29646
|
+
ForgotPasswordDialog,
|
|
29647
|
+
ChangePasswordDialog
|
|
29423
29648
|
} = components;
|
|
29424
29649
|
let installed = false;
|
|
29425
29650
|
const index = {
|
|
@@ -29442,8 +29667,10 @@ export {
|
|
|
29442
29667
|
AirCarrierSearch,
|
|
29443
29668
|
AirLineSearch,
|
|
29444
29669
|
ApplyDataDialog,
|
|
29670
|
+
ChangePasswordDialog,
|
|
29445
29671
|
ChineseCompanySearch,
|
|
29446
29672
|
CodeInput,
|
|
29673
|
+
ForgotPasswordDialog,
|
|
29447
29674
|
GlobalModal,
|
|
29448
29675
|
GoogleInput,
|
|
29449
29676
|
JcCarrierSearch,
|