在封装axios的时候,相信大家都会遇到错误码401的token失效或token没有,提示用户重新登录的问题,但有时后但我们根据提示弹窗前往提示登录页面的时候,我们会发现但我们登录完成返回原本的页面时,提示弹窗还在的情况,原因在于我们我们多次调用了报错需要显现弹窗提示的接口,
解决方法:
对需要进行显示弹窗的axios封装内容进行节流操作
let jsq = null;//放在方法外部
//方法内部
clearTimeout(jsq);//运行方法先清除延时器
jsq = setTimeout(() => {
if (token) {
//token过期
// 请空用户数据
removeToken();
removeTokenType();
// 弹出登录页面
uni.showModal({
title: "提示",
content: "登录状态失效,请重新登录",
success: function (res) {
if (res.confirm) {
loginApi.mpWeixinLogins();
} else if (res.cancel) {
console.log("用户点击取消");
}
},
});
} else {
//未登录
uni.showModal({
title: "提示",
content: "请登录",
success: function (res) {
if (res.confirm) {
loginApi.mpWeixinLogins();
} else if (res.cancel) {
console.log("用户点击取消");
}
},
});
}
jsq = null;
}, 1000);