import axios from 'axios'
import qs from 'qs'

export default {
    post(url, data,params) {
        return axios({
            method: 'POST', // 请求协议
            url: url, // 请求的地址
            data: data, // post 请求的实体类数据
            params: params, //urlencoded 参数
            timeout: 30000, // 超时时间, 单位毫秒
            headers: {
                'Content-Type': 'application/json;charset=UTF-8',
            }
        })
    },
    postToDify(url, data, token) {
            return axios({
                method: 'POST', // 请求协议
                url: url, // 请求的地址
                data: data, // post 请求的实体类数据
                timeout: 30000, // 超时时间, 单位毫秒
                headers: {
                    'Content-Type': 'application/json;charset=UTF-8',
                    'Authorization':'Bearer '+token
                }
            })
    },
    postWithFrom(url, data) {
            return axios({
                method: 'POST', // 请求协议
                url: url, // 请求的地址
                params: data, // post 请求的数据
                timeout: 30000, // 超时时间, 单位毫秒
                headers: {
                    'Content-Type': 'application/x-www-form-urlencoded',
                }
            })
    },
    postFormData(url, data) {
            return axios({
                method: 'POST', // 请求协议
                url: url, // 请求的地址
                data: data, // post 请求的数据
                timeout: 30000, // 超时时间, 单位毫秒
                transformRequest: [function(data, headers) {
                      // 去除post请求默认的Content-Type
                      delete headers.post['Content-Type']
                      return data
                    }],
                })
    },
    postMulData(url, data) {
        return axios({
            method: 'POST', // 请求协议
            url: url, // 请求的地址
            data: data, // post 请求的数据
            headers: {
                'Content-Type': 'multipart/form-data'
            }
        })
    },
    postExcelData(url, data) {
        return axios({
            method: 'POST', // 请求协议
            url: url, // 请求的地址
            data: data, // post 请求的数据
            headers: {
                'Content-Type': 'multipart/form-data'
            }
        })
    },
    get(url, params) {
        return axios({
            method: 'GET',
            url: url,
            params:  params,
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded'
            }
        });
    },
    getStream(url, params) {
        return axios({
            method: 'GET',
            url: url,
            responseType: 'blob',
            params:  params,
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded'
            }
        });
    },
    getPDF(url, params) {
        return axios({
            method: 'GET',
            url: url,
            responseType: 'blob',
            params:  params,
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded'
            }
        });
    },
    put(url, params){
        return axios({
            method: 'PUT',
            url: url,
            data: params,
            headers: {
                'Content-Type': 'application/json;charset=UTF-8'
            }
        })
    },
    del: (url,params) => {
        return axios({
            method: 'DELETE',
            url: url,
            data: params,
            headers: {
                'Content-Type': 'application/json;charset=UTF-8'
            }
        })
    },
    delByParam: (url,params) => {
        return axios({
            method: 'DELETE',
            url: url,
            params: params,
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded'
            }
        })
    },
    login: data =>{
        return axios({
            method: 'POST', // 请求协议
            url: 'cloud-user-center/login', // 请求的地址
            // url: 'cloud-kako-user-center/login', // 请求的地址
            data: qs.stringify(data), // post 请求的数据
            timeout: 30000, // 超时时间, 单位毫秒
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded'
            }
        })
    }
}

// {
//     // 服务器提供的响应
//     data: {},
//     // 服务器响应的HTTP状态代码
//     status: 200,
//         // 服务器响应的HTTP状态消息
//         statusText: 'OK',
//     // 服务器响应头
//     headers: {},
//     // axios 的配置
//     config: {}
// }