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);
|
})
|
})
|
}
|