import axios from 'axios';
import qs from 'qs';
// axios.defaults.baseURL = 'http://192.168.2.122:8080/api';
axios.defaults.baseURL = '/api';
axios.defaults.timeout = 5000;
// axios.defaults.headers.common['token'] = token
//axios.defaults.headers.post['Content-Type'] = 'multipart/form-data';//配置请求头

// 请求拦截器
axios.interceptors.request.use((config) => {
    let baseData = config.data;
    if (config.method.toLowerCase() === 'post') {
        config.data = qs.stringify(config.data);
    }
    if (config.url === '/firmsUpload') { //针对上传文件的接口 data不做转义 否则会造成传值为空
        config.data = baseData
    }
    if (config.url === '/importDealerFeedback') { //针对经销商导入文件的接口 data不做转义 否则会造成传值为空
        config.data = baseData
    }
    return config;
}, (err) => {
    console.log('请求拦截', err);
    return Promise.reject(err);
})

// 响应拦截器
axios.interceptors.response.use((config) => {
    return config;
}, (err) => {
    console.log('响应拦截', err);
    return Promise.reject(err);
})
axios.uploadFile = function(url, data) {
    console.log(data.getAll('file'));
    let config = {
        //请求的接口，在请求的时候，如axios.get(url,config);这里的url会覆盖掉config中的url
        url: url,
        //基础url前缀

        //请求头信息
        headers: {
            'Content-Type': 'multipart/form-data',
        },
        transformRequest: [data => data],
        //跨域请求时是否需要使用凭证
        withCredentials: true,
        // 返回数据类型
        responseType: 'json', //default
    };
    return axios.post(url, data, config);
};

export default axios