require('es6-promise').polyfill();const Base64 = require('js-base64').Base64;import axios from 'axios';import {Message} from 'element-ui';//全局设置超时时间axios.defaults.timeout = 50000;//全局设置头部信息axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';//跨域axios.defaults.withCredentials = true;//请求路由拦截axios.interceptors.request.use(function (config) { // 一般在这个位置判断token是否存在 return config;}, function (error) { // 对请求错误做些什么 return Promise.reject(error);});//响应拦截axios.interceptors.response.use(function (response) { // 处理响应数据 if (response.status === 200) { if(!response.data.success){ Message.error(response.data.message); } return Promise.resolve(response); } else { console.log(response); return Promise.reject(response); }}, function (error) { // 处理响应失败 console.log("==========处理响应失败========"); console.log(error); Message.error('系统故障,请联系管理员'); return Promise.reject(error);});export default { //get请求 requestGet(url, params = {}) { return new Promise((resolve, reject) => { axios.get(url, params).then(res => { resolve(res.data); }).catch(error => { reject(error); }); }); }, //get请求不带参数 requestQuickGet(url) { return new Promise((resolve, reject) => { axios.get(url).then(res => { resolve(res.data); }).catch(error => { reject(error); }); }); }, //post请求 requestPost(url, params = {}) { console.log(url); return new Promise((resolve, reject) => { axios.post(url, params).then(res => { resolve(res.data); }).catch(error => { reject(error); }); }); }, /** * 文件上传 * @param url * @param params */ requestFilePost(url, params = {}) { console.log(params); return new Promise((resolve, reject) => { let username = Base64.decode(decodeURIComponent(utils.getCookie("username"))); let config = { headers: { 'Content-Type': 'multipart/form-data', 'token': username } } axios.post(url, params, config).then(res => { resolve(res.data); }).catch(error => { reject(error); }); }); }, //post请求 requestPostForm(url, params = {}) { return new Promise((resolve, reject) => { axios.post(url, params, { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }).then(res => { resolve(res.data);//注意res是axios封装的对象,res.data才是服务端返回的信息 }).catch(error => { reject(error); }); }); }, //put请求 requestPut(url, params = {}) { return new Promise((resolve, reject) => { axios.put(url, params).then(res => { resolve(res.data); }).catch(error => { reject(error); }); }); }, //delete请求 requestDelete(url, params = {}) { return new Promise((resolve, reject) => { axios.delete(url, params).then(res => { resolve(res.data); }).catch(error => { reject(error); }); }); }, //同步get请求 async syncRequestQuickGet(url) { return await axios.get(url); }};