export default {
install: function(Vue,axios,router) {
axios.defaults.timeout = 5000;
axios.defaults.headers.post['accept'] = 'application/json';
axios.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8';
// axios.defaults.headers.common['token'] = localStorage.getItem("currentUser_token");
axios.defaults.baseURL = 'http://192.168.4.195:9092/';
// axios.defaults.baseURL = 'http://192.168.4.64:9092/';
axios.interceptors.request.use(
config => {
if (sessionStorage.getItem("currentUser_token")) {
config.headers.common['token'] = sessionStorage.getItem("currentUser_token");
}
return config;
},
err => {
return Promise.reject(err);
});
// http response 拦截器
axios.interceptors.response.use(
response => {
return response;
},
error => {
if (error.response) {
switch (error.response.status) {
case 401:
// 401 清除token信息并跳转到登录页面
// store.commit('users/clearUser');
router.replace({
path: '/',
query: {redirect: router.currentRoute.fullPath}
});
break;
case 403:
// 403 无权限,跳转到首页
router.replace({
path: '/',
query: {redirect: router.currentRoute.fullPath}
});
break;
}
}
// console.log(JSON.stringify(error));//console : Error: Request failed with status code 402
/*return Promise.reject(error.response.data)*/
return Promise.reject('');
});
//将axios挂载到Vue原型上
Vue.prototype.axios = axios;
Vue.prototype.http = params => {
return new Promise((resolve, reject) => {
axios.post("/CallMethod", params)
.then(response => {
resolve(response.data);
})
.catch(err => {
reject(err);
})
})
};
}
}