1、为了方便,设置baseURL地址,简化api地址
2、通过axios.defaults.timeout设置默认的请求超时时间。例如超过了10s,就会告知用户当前请求超时,请刷新等。
3、请求拦截:
// 请求拦截器
axios.interceptors.request.use(
config => {
// 每次发送请求之前判断是否存在token,如果存在,则统一在http请求的header都加上token,不用每次请求都手动添加了
// 即使本地存在token,也有可能token是过期的,所以在响应拦截器中要对返回状态进行判断
const token = localStorage.getItem("token");
token && (config.headers.Authorization = "Bearer "+token);
return config;
},
error => {
return Promise.error(error);
})
一般在登陆完成后我们需要把token存到本地或是cookie里面,然后用户每次在进入页面的时候,首先从本地存储中读取token,如果token存在说明用户已经登陆过,然后,在每次请求接口的时候,都会在请求的header中携带token,后台人员就可以根据你携带的token来判断你的登录是否过期,如果没有携带,则说明没有登录过。
4、最后对后台返回的状态码进行统一管理,附上完整代码
import axios from 'axios