// 验证码相关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('网络请求失败,请检查网络连接')); } }); }); }