import axios from 'axios' // 引入axios
import QS from 'qs'; // 引入qs模块,用来序列化post类型的数据,
const BASE_URL = ''
// 创建axios实例
const http = axios.create({
baseURL: BASE_URL,
timeout: 99999 // 请求超时时间
})
// 添加request拦截器
http.interceptors.request.use(config => {
config.data = QS.stringify(config.data)
return config
}, error => {
Promise.reject(error)
})
// 添加respone拦截器
http.interceptors.response.use(
response => {
if (response.data.code != 200) {
console.info(response);
return Promise.reject(response)
}
return Promise.resolve(response.data)
},
error => {
if (error.response) {
switch (error.response.status) {
case 401:
console.info(401)
break;
case 403:
console.info(403)
break;
case 404:
console.info(404)
break;
case 500:
console.info(500)
break;
}
}
console.info('请求失败!');
return Promise.reject(error.response)
}
)
//封装get请求
export function get(url, params = {}) {
return http({
url,
method: 'GET',
headers: {},
params
})
}
//封装post请求
export function post(url, data = {}) {
return http({
url,
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8'
},
data
})
}