_axios.js 1.42 KB
//axios二次封装
//引入axios包
import axios from "axios";
//重新定义一个axios新实例
// create方法,创建一个 
const request = axios.create({
    // http://192.168.1.160:8095/api/
    // http://manghe.huntunn888.top/api

    // baseURL: "http://egg.free.idcfengye.com/api",

    baseURL: "http://manghe.huntunn888.top/api",
    // baseURL: "http://192.168.1.160:8095/api/",
    header: { isToken: true }
})
//请求拦截器:在发请求之前,请求拦截器可以检测到,可以在请求发出之前做一些事情
request.interceptors.request.use((config) => {
    //config:配置对象,对象里面有一个属性很重要,headers请求头
    //需要携带token带给服务器
    // if (localStorage.getItem("x-token")) {
    //     config.headers.token = localStorage.getItem("x-token");
    // }
    const token =localStorage.getItem("isToken")
		if(token&&config.header.isToken){
	 		// 设置请求头
			config.headers.Authorization=token;
		}
    return config;
});
//响应拦截器
request.interceptors.response.use((res) => {
    //成功的回调函数:服务器响应数据回来以后,响应拦截器可以检测到,可以做一些事情
    return res.data;
}, (error) => {
    //响应失败的回调函数
    // return Promise.reject(new Error('faile'));
    // router.push("/loginRegister/login")
});

//导出自定义的新axios实例
export default request;