//引入axios import axios from 'axios' //import qs from 'qs' let cancel const CancelToken = axios.CancelToken; //请求拦截器 // 在发送请求之前做些什么 axios.interceptors.request.use(config => { //发起请求时,取消掉当前正在进行的相同请求 config.headers['x-auth-token'] = 'fbea6e17-db8a-462a-8816-49a31c20307a' //config.headers['x-auth-token'] = '6840160c-7c45-42c4-8736-805f13487565' //测试地址 config.data = { ...config.data, sysCode: '1001' } // config.data = qs.stringify(config.data); return config }, error => { return Promise.reject(error) }) //响应拦截器即异常处理,对响应数据做点什么 axios.interceptors.response.use(response => { return response }, err => { err.messages=''; if (err && err.response) { switch (err.response.status) { case 400: err.messages = '错误请求' break; case 401: err.messages = '未授权,请重新登录' break; case 403: err.messages = '拒绝访问' break; case 404: err.messages = '请求错误,未找到该资源' break; case 405: err.messages = '请求方法未允许' break; case 408: err.messages = '请求超时' break; case 500: err.messages = '服务器端出错' break; case 501: err.messages = '网络未实现' break; case 502: err.messages = '网络错误' break; case 503: err.messages = '服务不可用' break; case 504: err.messages = '网络超时' break; case 505: err.messages = 'http版本不支持该请求' break; default: err.messages = `连接错误${err.response.status}` } } else { err.messages = "连接到服务器失败"; } //message.err(err.message) //return Promise.reject(err.response) return Promise.resolve(err) }) //基础url前缀 //axios.defaults.baseURL = '/api' axios.defaults.baseURL = 'http://106.15.191.5:8093/'; //axios.defaults.baseURL = 'http://test.renniting.cn/bcp/';//测试地址 //设置默认请求头 // axios.defaults.withCredentials=true;//让ajax携带cookie // axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'; axios.defaults.timeout = 10000 function post(url, params) { return new Promise((resolve,reject) => { axios({ method: 'post', url, data: params, cancelToken: new CancelToken(c => { cancel = c }) }).then(res => { resolve(res) }) }) } export {post}