封装axios

发布时间 2023-05-21 17:53:19作者: MaoShen1
import axios from "axios";

const request = axios.create({
    baseURL: "/api", //统一前缀
    timeout: 5000,
});

//request拦截器
request.interceptors.request.use(
function (config) {
    config.headers["Content-Type"] = "application/json; charset=utf-8";
    
    // let user = JSON.parse(localStorage.getItem('users'))
    if(user){
    //设置请求头
    config.headers['token'] = user.token
    }


    return config;
},
(error) => {
    return Promise.reject(error);
}
);

// response拦截器
request.interceptors.response.use(
function (response) {
    let res = response.data;

    // if (typeof res === "string") {
    //     res = res ? JSON.parse(res) : res;
    // }
    if (response.config.responseType === "blob") {
        return res;
    }

    return res;
},
(error) => {
    console.log("error: ", error); //方便调试
    return Promise.reject(error);
}
);


export default request