axios拦截器

var quer = false
axios.interceptors.response.use((res) => {
  // token 已过期,重定向到登录页面
  console.log("响应拦截器======================================", res)
  if (quer) {//超时其他接口返回的都不接收,跳出响应
    throw new Error("session过期!")
  }
  if (res.request.readyState == 4 && !res.data.result && res.data.desc == "session过期!") {
    quer = true
    Modal.info({
      title: "提示",
      content: "您的信息已过期,请重新登录",
      zIndex: 9999,
      mask: false,
      maskClosable: false,
      onOk: () => {
        localStorage.clear()
        sessionStorage.clear()
        window.location.href = window.loginUrl;//点击确定跳转带获取token的地址
        Modal.destroyAll();
      }
    })
  } else {
    return res
  }
}, (err) => {
  console.log("错误错误", err)
  return Promise.reject(err)
})

posted on 2019-12-27 16:15  寂无声之SPY  阅读(221)  评论(0编辑  收藏  举报

导航