使用ajax在nvue页面进行刷新token的请求,请求头携带token,请求到的新的token覆盖掉之前存入到vuex里面的token,vuex存放的token被覆盖,请求头token没有刷新为新token
var userInfo = JSON.parse(uni.getStorageSync('userInfo'))
// 添加请求拦截器
instance.interceptors.request.use(
config => {
// 将token添加到请求中
config.header.get['Authorization'] = 'Bearer ' + userInfo.token;
config.header.post['Authorization'] = 'Bearer ' + userInfo.token;
return config
},
error => {
// 对请求错误做些什么
console.log('发请求错误', error)
return Promise.reject(error)
}
)
storage里更新了吗
// 添加响应拦截器
instance.interceptors.response.use(
response => {
// 如果响应中有新的token则更新vuex中的token
if (response.data.token) {
uni.setStorageSync('userInfo', response.data.userInfo);
}
return response
},
error => {
if (error.response.status == 401) {
// 如果返回401 即没有权限,可以直接跳转到登录页面,重新登录获取 token
uni.navigateTo({
url: '/pages/user/login'
})
}
console.log('响应失败', error)
return Promise.reject(error)
}
)
export default instance