應(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)
})