uniapp的token无感换区
时间: 2023-10-04 12:09:30 浏览: 115
在uniapp中实现token无感刷新的方法通常是通过拦截器来实现。你可以在请求拦截器中检查本地是否存在token,如果存在则添加到请求头中。当请求返回401状态码时,可以在响应拦截器中重新请求获取新的token,并更新本地的token。这样就实现了token的无感刷新。
示例代码如下:
```javascript
// 请求拦截器
service.interceptors.request.use(config => {
if (storeToken.token) {
config.headers["token"] = storeToken.token; // 将token添加到请求头中
}
return config;
}, error => {
return Promise.reject(error);
});
// 响应拦截器
service.interceptors.response.use(response => {
// 如果返回的状态码是401,则重新请求获取新的token,并更新本地的token
if (response.status === 401) {
return service.get('/refreshToken').then(res => {
storeToken.token = res.data.token; // 更新本地的token
response.config.headers['token'] = res.data.token; // 更新请求头中的token
return service(response.config); // 重新请求
});
}
return response;
}, error => {
return Promise.reject(error);
});
```
阅读全文