(1)问题,tab之间切换太快,其中一个请求还未响应,另外一个请求已经发起
(2)解决
wx.showLoading({
title: '加载中',
mask:true
})
// get请求 遮层罩弹框有些请求不需要时,则showLoadFlag传false,不传则为默认为true
function getReq(env, url, header, data, cb, showLoadFlag) {
var showLoadingFlag = true;
if (showLoadFlag != undefined && showLoadFlag != null) {
showLoadingFlag = showLoadFlag;
}
if (showLoadingFlag) {
wx.showLoading({
title: '加载中',
mask:true
})
}
wx.request({
url: geturl(env) + url,
method: 'get',
header: header,
data: data,
success: function (res) {
if(res.data.code == -1111){
console.log('token已失效,刷新token...');
// 身份验证失败,无效的token或userid不正确! 重新登录
// 1.0 清除缓存
wx.clearStorageSync()
// 2.0 自动登录
app.login().then(function (res) {
//console.log(res);
if (res.status == 200) {
// 3.0 重新发起请求
let map = objToStrMap(header)
map.set("token", app.globalData.context.token);
map.set("requestid", util.getuuid());
header = strMapToObj(map);
getReq(env, url, header, data, cb, showLoadFlag)
} else{
wx.showToast({
title: '登录超时,请重新登录!',
icon: 'none'
})
}
})
}else{
if (showLoadingFlag) {
wx.hideLoading();
}
return typeof cb == "function" && cb(res.data)
}
},
fail: function () {
if (showLoadingFlag) {
wx.hideLoading();
}
wx.showModal({
title: '系统错误',
content: '当前系统异常,请稍后再试!',
showCancel: false,
success: function (res) {
if (res.confirm) {
// wx.redirectTo({
// url: '/pages/errors/systemError/systemError',
// })
}
}
})
return typeof cb == "function" && cb(false)
}
})
}