import axios from 'axios'
const csrf = document.getElementsByTagName('meta')['_csrf'].content
const csrfHeader = document.getElementsByTagName('meta')['_csrf_header'].content
if( csrf) {
axios.defaults.headers.common[csrfHeader] = csrf
}
axios.defaults.baseURL = "/aaaa";
axios.defaults.timeout = 30000;
axios.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8';
// 響應攔截器
axios.interceptors.response.use(
response => {
// 如果返回的狀態碼爲200,說明接口請求成功,可以正常拿到數據
// 否則的話拋出錯誤
if (response.code === 200) {
return Promise.resolve(response);
} else {
let ret = response.data;
let code = ret.code;
if(code == 0){
return Promise.resolve(response);
}else{
return Promise.reject(response);
}
}
},
error => {
if(error.code == "ECONNABORTED"){
Message.error({message: '接口訪問超時!'});
}else{
Message.error({message: '接口訪問異常!'});
}
return Promise.reject(error.response);
}
);
/**
* get方法,對應get請求
* @param {String} url [請求的url地址]
* @param {Object} params [請求時攜帶的參數]
*/
export function get(url, params) {
return new Promise((resolve, reject) => {
axios.get(url, {
params: params
}).then(
res => {
resolve(res.data)
}
).catch(err => {
reject(err)
})
});
}
/**
* post方法,對應post請求
* @param {String} url [請求的url地址]
* @param {Object} params [請求時攜帶的參數]
*/
export function post(url, params) {
return new Promise((resolve, reject) => {
axios.post(url, params)
.then(
res => {
resolve(res.data)
}
).catch(err => {
reject(err)
})
});
}