import axios from 'axios'; import qs from 'qs'; import Util from "../tool"; /** * 封装axios的通用请求 * @param {string} method get\post\put\delete * @param {string} url 请求的接口URL * @param {object} param 传的参数,没有则传空对象 */ const envs = process.env.NODE_ENV; export let NODE_ENVS = "/"; switch (envs) { case 'development': //开发环境 NODE_ENVS = 'http://cloud.liexindev.net'; break; case 'test': //测试环境 NODE_ENVS = 'http://cloud.liexindev.net'; break; case 'production': //线上环境 NODE_ENVS = '//cloud.ichunt.com'; break; } export const http = (method, url, param,loading) => { //axios.defaults.withCredentials = true; // 携带cookie //loading 默认加载loading 传1 不加载 param = param && typeof param === 'object' ? param : {}; let token = Util.getCookie('token') || ''; const config = { url: `${NODE_ENVS}${url}`, method: method, transformRequest: [function (param) { return qs.stringify(param); }], loading:(loading?false:true) }; //param.token=token if(url!="/auth/cp"&&url!="/auth/login"){ config.headers={ 'Authorization': 'Bearer ' + token } } // post请求时需要设定Content-Type if (method == 'post'||method == 'POST') { config.data = param; } else if (method === 'get'||method == 'GET') { config.params = param; } return axios(config); }