import axios from 'axios'; import qs from 'qs'; import { Message } from 'element-ui'; axios.defaults.timeout = 5000; axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'; axios.defaults.baseURL = ''; //post传参序列化 axios.interceptors.request.use((config) => { //在发送请求时做某件事 if(config.method === 'post' || config.method === 'delete' || config.method === 'put'){ config.data = qs.stringify(config.data); } return config; },(error) => { console.log('错误的参数'); return Promise.reject(error); }); //返回状态判断(添加响应拦截器) axios.interceptors.response.use((res) => { //对相应数据做些事 if(!res.data.success){ return Promise.resolve(res); } return res; },(error) => { //根据返回的状态码来获取相应的提示 if(error.response.status){ switch (error.response.status) { case 400: Message.error('请求出错') break; case 10021: Message.warning({ message: 'token失效,请重新登录' }) break; case 401: Message.warning({ message: '授权失败,请重新登录' }) break; case 403: Message.warning({ message: '拒绝访问' }) break; case 404: Message.warning({ message:'请求错误,未找到该资源' }) break; case 500: Message.warning({ message: '服务端错误' }) break; default: Message.warning({ message:error.response.data.msg, }) } } return Promise.reject(error); }); //返回一个Promise(发送post请求) export function post(url,params){ return new Promise((resolve,reject) => { axios.post(url,params) .then(response => { resolve(response); },error => { reject(error); }) .catch((error) => { reject(error); }) }) } //返回一个Promise(发送get请求) export function get(url,params){ return new Promise((resolve,reject) => { axios.get(url,{params:params}) .then(response => { resolve(response); },error => { reject(error); }).catch((error) => { reject(error); }) }) } //返回一个Promise(发送delete请求) export function del(url,params){ return new Promise((resolve,reject) => { axios.delete(url,params) .then(response => { resolve(response); },error => { reject(error); }) .catch((error) => { reject(error); }) }) } //返回一个Promise(发送put请求) export function put(url,params){ return new Promise((resolve,reject) => { axios.put(url,params) .then(response => { resolve(response); },error => { reject(error); }) .catch((error) => { reject(error); }) }) }