// import wxCode from '@/utils/lib/code.js' // export const apiResquest = (prams) => { // return new Promise((resolve, reject) => { // let url = getApp().globalData.webApi + prams.url; // return uni.request({ // url: url, // data: prams.query, // method: prams.method, // header: { // 'Authorization': uni.getStorageSync("token"), // }, // success: (res) => { // // uni.hideLoading() // if (res.data.code == 1) { // wxCode.codes() // } // resolve(res.data); // }, // fail: (err) => { // reject(err); // }, // complete: () => { // console.log('请求完成') // } // }); // }) // } import wxCode from '@/utils/lib/code.js' let isRefreshing = false; // 标志位,表示是否正在刷新token let pendingRequests = []; // 存储等待中的请求 export const apiResquest = (params) => { return new Promise((resolve, reject) => { let url = getApp().globalData.webApi + params.url; uni.request({ url: url, data: params.query, method: params.method, header: { 'Authorization': uni.getStorageSync("token"), }, success: (res) => { // 如果返回的 code 为 1,表示需要重新获取 token if (res.data.code == 1) { // if (!isRefreshing) { // isRefreshing = true; // 设置标志位 wxCode.codes() // .then(newToken => { // isRefreshing = false; // 请求完成,重置标志位 // // 更新所有等待中的请求的 token // pendingRequests.forEach((req) => { // req.resolve({ ...res.data, token: newToken }); // }); // pendingRequests = []; // 清空等待中的请求 // }).catch((err) => { // isRefreshing = false; // 请求失败,重置标志位 // // 拒绝所有等待中的请求 // pendingRequests.forEach((req) => { // req.reject(err); // }); // pendingRequests = []; // 清空等待中的请求 // }); } // 如果正在刷新,加入等待中的请求 // return pendingRequests.push({ resolve, reject }); // } resolve(res.data); // 正常返回 }, fail: (err) => { reject(err); }, complete: () => { console.log('请求完成') } }); }); }