Files
ks-app-employment-service/packageRc/utils/captchaApi.js
2025-11-03 12:30:37 +08:00

94 lines
2.7 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 验证码相关API
// 注意这里使用uni.request进行封装与项目其他API保持一致
/**
* 获取验证图片和token
* @param {Object} data - 请求参数必须包含clientUid和ts
*/
export function reqGet(data) {
// 确保data对象存在
const requestData = { ...data };
// 如果没有提供clientUid生成一个
if (!requestData.clientUid) {
requestData.clientUid = 'slider-' + Date.now() + '-' + Math.random().toString(36).substring(2, 15);
}
// 如果没有提供ts使用当前时间戳
if (!requestData.ts) {
requestData.ts = Date.now();
}
return new Promise((resolve, reject) => {
uni.request({
url: 'http://10.160.0.5:8907/captcha/get',
method: 'POST',
data: requestData,
header: {
'Content-Type': 'application/json;charset=utf-8',
isToken: false
},
success: (res) => {
// 检查响应是否有效
if (res.statusCode === 200 && res.data) {
resolve(res.data);
} else {
reject(new Error('获取验证码图片失败:' + (res.statusCode || '未知错误')));
}
},
fail: (error) => {
console.error('验证码API请求失败:', error);
reject(new Error('网络请求失败,请检查网络连接'));
}
});
});
}
/**
* 滑动或点选验证
* @param {Object} data - 验证参数必须包含clientUid、ts和token
*/
export function reqCheck(data) {
// 确保data对象存在
const requestData = { ...data };
// 如果没有提供ts使用当前时间戳
if (!requestData.ts) {
requestData.ts = Date.now();
}
// 验证必要参数
if (!requestData.clientUid) {
return Promise.reject(new Error('缺少必要参数clientUid'));
}
if (!requestData.token) {
return Promise.reject(new Error('缺少必要参数token'));
}
if (!requestData.pointJson) {
return Promise.reject(new Error('缺少必要参数pointJson'));
}
return new Promise((resolve, reject) => {
uni.request({
url: 'http://10.160.0.5:8907/captcha/check',
method: 'POST',
data: requestData,
header: {
'Content-Type': 'application/json;charset=utf-8',
isToken: false
},
success: (res) => {
// 检查响应是否有效
if (res.statusCode === 200 && res.data) {
resolve(res.data);
} else {
reject(new Error('验证码验证失败:' + (res.statusCode || '未知错误')));
}
},
fail: (error) => {
console.error('验证码验证请求失败:', error);
reject(new Error('网络请求失败,请检查网络连接'));
}
});
});
}