'use strict'
import axios from 'axios'
import qs from 'qs'
var host = "https://www.easy-mock.com/mock/5bb02bc0a0afc503f502a292/example";
axios.interceptors.request.use(config => {
// loading
//请求拦截
return config
}, error => {
return Promise.reject(error)
})
axios.interceptors.response.use(response => {
//响应拦截
return response
}, error => {
return Promise.reject(error.response)
})
function checkStatus(response) {
// loading
// 如果http状态码正常,则直接返回数据
if(response && (response.status === 200 || response.status === 304 || response.status === 400)) {
var res = response.data || {};
try{
if(typeof res == "string"){
res = JSON.parse(res);
}
//还可以判断数据是否正确
}catch(e){
console.warn("不是一个json数据:",res);
}
//用于判断数据是否正确
if(res.success){
return res;
}else{
console.error("数据请求错误");
return Promise.reject(res);
}
}else{
// 异常状态下,把错误信息返回去
//处理错误情况
return Promise.reject(response)
}
}
export default {
post(url, data) {
data = data || {};
return axios({
method: 'post',
url: host + url,
data: qs.stringify(data),
timeout: 10000,
}).then(checkStatus).catch((e)=>{
console.error("统一处理的错误",e);
return Promise.reject(e);
});
},
get(url, params) {
params = params || {};
return axios({
method: 'get',
url: host + url ,
params, // get 请求时带的参数
timeout: 10000,
}).then(checkStatus).catch((e)=>{
console.error("统一处理的错误",e);
return Promise.reject(e);
});
}
}
import $http from "./http";
$http.get("/demo/secret",param).then((ret)=>{
console.info(ret);
return ret;
});