Skip to content

Instantly share code, notes, and snippets.

@llccing
Last active April 16, 2019 02:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save llccing/3d9bc0e3a27a830c33d831d919e9718a to your computer and use it in GitHub Desktop.
Save llccing/3d9bc0e3a27a830c33d831d919e9718a to your computer and use it in GitHub Desktop.
针对axios的错误处理,结合vuex
import axios from 'axios';
import Vue from 'vue';
import store from '@/store';
// import { Message } from 'iview';
// 请求时拦截
axios.interceptors.request.use(config => config, error => Promise.reject(error));
// 请求完成后拦截
axios.interceptors.response.use(
response => response,
(error) => {
// 统一捕获错误
if (error.response.status === 500) {
// Message.error({
// content: `500啦,可能是后端的锅${error.response.data.message}`,
// duration: 3,
// });
// eslint-disable-next-line
console.error(`500啦,可能是后端的锅${error.response.data.message}`);
} else if (error.response.status === 401) {
// Message.error({
// content: `401啦,没权限,可能没登录${error.response.data.message}`,
// duration: 3,
// });
store.commit('loginTimeout');
// eslint-disable-next-line
console.error(`401啦,没权限,可能没登录${error.response.data.message}`);
} else if (error.response.status === 404) {
// Message.error({
// content: `404啦,没找到,可能是接口地址写错了${error.response.data.message}`,
// duration: 3,
// });
// eslint-disable-next-line
console.error(`404啦,没找到,可能是接口地址写错了${error.response.data.message}`);
} else if (error.response.status === 400) {
// Message.error({
// content: error.response.data.message,
// duration: 3,
// });
// eslint-disable-next-line
console.error(error.response.data.message);
}
return Promise.resolve(error.response);
},
);
Vue.prototype.$axios = axios;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment