You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

32 lines
829 B

export default ({ app, $axios, store, redirect }, inject) => {
$axios.defaults.timeout = 5000;
// 請求攔截
$axios.onRequest((config) => {
// token 儲存在緩存
console.log("axios.onRequest");
const token = app.$auth.$storage.getUniversal('authtoken');
if(token){
config.headers["authtoken"] = token;
}
})
// 服務器返回異常攔截
$axios.onError((error) => {
const code = parseInt(error && error.response && error.response.status)
if (code === 401) {
app.$auth.$storage.removeUniversal('userPicture')
app.$auth.$storage.removeUniversal('userLastName')
app.$auth.$storage.removeUniversal('authtoken')
app.$auth.logout()
}
return error
})
// 接口數據返回攔截
$axios.onResponse((response) => {
return response
})
}