1.场景一,需要弹窗按了确定再去登录页面
编辑
这个时候需要定义一个变量。如果是第一次值是默认值0就弹窗,并且变量加一。
如果是一个页面同时失效多个接口只有第一个接口走这里
let current = 0; //登陆失效只弹窗一次..设置一个变量保证只弹窗一次
// 403:没有权限, 401:"token失效" 请重新登陆"
if (error.response.status == "401" || error.response.status == "402"||error.response.status == "403") {
//只弹窗一次登陆失效的提示
if (current == 0) {
1,先关闭所有的弹窗
2.弹窗提示
3.点击确定去登录页面
current++;
}
场景二:直接toast登陆失效。然后自动跳转去登录夜
可以判断当前页面是否是登陆页面。如果失效并且已经不是登陆页面才跳转去登录页。
下面以小程序为例
let pages = getCurrentPages(); let curRoute = null;//当前页面的路由 if (pages.length) { let currPage = pages[pages.length - 1]; curRoute=currPage.route }if ((res.data.code == 401||res.statusCode==401)&& curRoute!=='pages/login/login') {wx.hideLoading();//关闭多有的弹窗。微信里面目前 toast 和 loading 相关接口可以相互混用,在使用wx.hideLoading()的时候showToast的弹窗也会关闭的wx.showToast({title:'登陆失效,请重新登录'});wx.redirectTo({ url: "/pages/login/login" }) }