Retired/utils/lib/request.js

87 lines
2.8 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.

// 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('请求完成')
}
});
});
}