caixianzhi pc接口修改完成

This commit is contained in:
rain
2026-06-08 17:31:30 +08:00
parent 3a2081f395
commit 7f7fd61ec0
10 changed files with 1737 additions and 12 deletions
+65 -3
View File
@@ -2,6 +2,7 @@ const AuthPageUtil = {
smsTimers: {},
slideUuid: '',
slideX: 0,
slideToken: '',
isPhone(phone) {
return /^1[3-9]\d{9}$/.test(String(phone || '').trim());
@@ -15,7 +16,7 @@ const AuthPageUtil = {
loadVerifyType() {
return ApiClient.get(ApiClient.API.authVerifyConfig, {}, { publicRequest: true })
.then((res) => {
const data = (res && res.data) || {};
const data = (res && res.data) || res || {};
const yes = (value) =>
value === true || value === 1 || value === '1' || String(value).toLowerCase() === 'true';
if (
@@ -32,12 +33,13 @@ const AuthPageUtil = {
.catch(() => 'captcha');
},
sendSmsCode(options) {
buildSmsParams(options = {}) {
const params = {
phoneNumber: options.phoneNumber,
};
if (options.verifyType === 'slide') {
params.verifyType = 'slide';
params.slideToken = options.slideToken || this.slideToken;
params.slideUuid = options.slideUuid || this.slideUuid;
params.slideX = options.slideX || this.slideX;
}
@@ -46,7 +48,23 @@ const AuthPageUtil = {
params.code = options.code || '';
params.uuid = options.uuid || '';
}
return ApiClient.get(ApiClient.API.authSmsCode, params, { publicRequest: true });
return params;
},
sendSmsCode(options) {
return ApiClient.get(ApiClient.API.authSmsCode, this.buildSmsParams(options), {
publicRequest: true,
});
},
sendForgotPasswordSmsCode(options) {
return ApiClient.get(ApiClient.API.authForgotPasswordSmsCode, this.buildSmsParams(options), {
publicRequest: true,
});
},
getImageCaptcha() {
return ApiClient.get(ApiClient.API.authCode, {}, { publicRequest: true });
},
installSlideCaptchaTenantHeader() {
@@ -138,6 +156,50 @@ const AuthPageUtil = {
});
return window.__slideCaptchaLoading;
},
openSlideCaptcha(options = {}) {
this.installSlideCaptchaTenantHeader();
this.loadSlideCaptchaScript()
.then((SlideCaptcha) => {
SlideCaptcha.open({
title: options.title || '安全验证',
subtitle: options.subtitle || '拖动滑块完成验证',
apiBase: ApiClient.baseUrl || '',
tenantId: ApiClient.tenantId || '000000',
headers: ApiClient.publicHeaders(),
onSuccess: (result) => {
const data = result || {};
const nested = data.data || {};
this.slideToken =
data.slideToken || data.token || data.verifyToken ||
nested.slideToken || nested.token || nested.verifyToken || '';
this.slideUuid = data.slideUuid || data.uuid || nested.slideUuid || nested.uuid || '';
this.slideX = Number(data.slideX || data.x || nested.slideX || nested.x || 0) || 0;
if (!this.slideToken && !this.slideUuid) {
if (typeof options.onError === 'function') {
options.onError(new Error('滑动验证未返回凭证,请重试'));
}
return;
}
if (typeof options.onSuccess === 'function') {
options.onSuccess({
slideToken: this.slideToken,
slideUuid: this.slideUuid,
slideX: this.slideX,
});
}
},
onCancel: options.onCancel,
onError: options.onError,
});
})
.catch((error) => {
if (typeof options.onError === 'function') options.onError(error);
});
},
};
if (typeof window !== 'undefined') {