## >request.js
對axios進行基礎設置
~~~
import axios from 'axios' //引入axios
import qs from 'qs'
axios.defaults.timeout?=?10000; //設置請求超時
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'; // 設置post請求頭
// 添加請求攔截器
axios.interceptors.request.use(function (config) {
console.log(config);
// 在發送請求前可以對請求數據進行處理
return config;
}, function (error) {
console.log(error);
// 請求錯誤時所作操作
return Promise.reject(error);
});
// 添加響應攔截器
axios.interceptors.response.use(function (response) {
console.log(response);
// 請求成功后的操作,如返回res.data.data
return response;
}, function (error) {
console.log(error);
// 對響應錯誤處理,如根據錯誤編碼給出不同提示
return Promise.reject(error);
});
/**
?*?axios請求
?*?@param url?請求地址
?*?@param method?{METHOD}?http?method
?*?@param params?請求參數
?*?@returns {Promise<AxiosResponse>}
?*/
async function request(url,?method,?params,?config)?{
return axios[method](url,?params,?config);
}
//不同的請求方式配置
const http?=?{
get:?(url,?params,?config?=?{})?=>?{
return request(
url,
"get",
??????{
params:params
??????},
config
????);
??},
post:?(url,?params,?config?=?{})?=>?{
let param?=?params;
return request(url,?"post",?param,?config);
??},
put:?(url,?params,?config?=?{}) =>?{
return request(url,?"put",?params,?config);
??},
delete:?(url,?params,?config?=?{})?=>?{
return request(
url,
"delete",
??????{
params:params
??????},
config
????);
??},
requestJson:?(
url,
params,
type,
config?=?{
headers:?{
"Content-Type":"application/json"
??????}
????}
??)?=>?{
return request(url,?type,?params,?config);
??},
\**
???\*?導入文件
???\*?@param?{String}?url?\[請求的url地址\]
???\*?@param?{Object}?params?\[請求時攜帶的參數\]
???*/
postForm:?(
url,
params,
config?=?{
headers:?{
"content-Type":"multipart/form-data"
??????}
????}
??)?=>?{
return request(url,?"post",?params,?config);
??}
};
export default http;
~~~
~~~