// http response 拦截器
instance.interceptors.response.use(
response => {
return response
},
error => {
if (error.message === 'Network Error') Message({ type: 'error', message: 'Network error !!! Try again later !!!' })
// 如果服务端有响应,显示响应的错误信息
if (error.response) {
Message({ type: 'error', message: 'The authentication is invalid. Please login again.' })
// 退出登录
switch (error.response.data.status_code) {
case 401:
setTimeout(() => {
store.dispatch('logout')
router.replace({
path: '/login',
query: {
redirect: router.currentRoute.fullPath
}
})
}, 1000)
break
case 404:
setTimeout(() => {
store.dispatch('logout')
router.replace({
path: '/404',
query: {
redirect: router.currentRoute.fullPath
}
})
}, 1000)
break
case 500:
Message({ type: 'error', message: 'The Server is error, try again later !!!' })
}
}
return Promise.reject(error)
}
)
现在写法是 token 过期退出登录,但是业务需求要能刷新token,不太会写,有木有代码参看一下