import axios from 'axios';
import qs from 'qs'
import Vue from 'vue';
//意思是攜帶cookie信息,保持session的一致性
axios.defaults.withCredentials = true;
//生產環境,不在控制檯打印提示信息
Vue.config.productionTip = false;
//默認請求時間3s
axios.defaults.timeout = 3000;
//post 請求
let $post = (url, params, headers) => {
// 設置請求頭
let _params = params;//根據請求頭 設置參數類型
if (headers === undefined) {
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';
_params = qs.stringify(params);
} else {
axios.defaults.headers.post['Content-Type'] = 'application/json; charset=UTF-8';
}
return new Promise((resolve, reject) => {
axios.post(url, _params, {indices: false}).then((res) => {
resolve(res);// 返回請求成功的數據 data
}).catch((err) => {
reject(err);//返回失敗的錯誤信息
});
});
};
//get 請求
let $get = (url, params) => {
return new Promise((resolve, reject) => {
axios.get(url, {params: params}).then((res) => {
resolve(res.data);
}).catch((err) => {
reject(err);
});
});
};
//delete 請求
let $del = (url, params) => {
return new Promise((resolve, reject) => {
axios.delete(url, {params: params}).then((res) => {
resolve(res.data);
}).catch((err) => {
reject(err);
});
});
};
export {
$get,
$post,
$del
}