axios攔截器設(shè)置

應(yīng)用場(chǎng)景:
1:每個(gè)請(qǐng)求都帶上的參數(shù),比如token,時(shí)間戳等。
2:對(duì)返回的狀態(tài)進(jìn)行判斷,比如token是否過期

請(qǐng)求

axios.interceptors.request.use(
  config => {
    const xToken = getXToken()
    if (xToken !== null) {
      config.headers['X-Token'] = xToken
    }
    if (config.method === 'post') {
      config.data = {
        ...config.data, 
        _t: Date.parse(new Date()) / 1000, 
      }
    } else if (config.method === 'get') {
      config.params = {
         _t: Date.parse(new Date()) / 1000, 
         ...config.params 
      }
    }
    return config
  }, function (error) {
    return Promise.reject(error) 
  }
)

響應(yīng)

axios.interceptors.response.use((res) => {
  // token 已過期,重定向到登錄頁(yè)面
  if (res.date.code === 4) {
    localStorage.clear()
    router.replace({
      path: '/sigin',
      query: {redirect: router.currentRoute.fullPath} 
    })
  }
  return res
}, function(err) {
  return Promise.reject(error) 
})
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容