axios、config逻辑优化

dev
smallchill 6 years ago
parent 52e01c1109
commit b1ca538543
  1. 11
      src/router/axios.js
  2. 18
      vue.config.js

@ -27,7 +27,7 @@ axios.defaults.withCredentials = true;
NProgress.configure({
showSpinner: false
});
//HTTPrequest拦截
//http request拦截
axios.interceptors.request.use(config => {
NProgress.start() // start progress bar
const meta = (config.meta || {});
@ -44,10 +44,11 @@ axios.interceptors.request.use(config => {
}, error => {
return Promise.reject(error)
});
//HTTPresponse拦截
//http response 拦截
axios.interceptors.response.use(res => {
NProgress.done();
const status = res.data.code || 200
// 获取状态码
const status = res.data.code || res.status;
const statusWhiteList = website.statusWhiteList || [];
const message = res.data.msg || '未知错误';
//如果在白名单里则自行catch逻辑处理
@ -59,13 +60,13 @@ axios.interceptors.response.use(res => {
Message({
message: message,
type: 'error'
})
});
return Promise.reject(new Error(message))
}
return res;
}, error => {
NProgress.done();
return Promise.reject(new Error(error));
})
});
export default axios;

@ -11,17 +11,11 @@ module.exports = {
'vuex': 'Vuex',
'axios': 'axios',
'element-ui': 'ELEMENT',
})
const entry = config.entry('app')
entry
.add('babel-polyfill')
.end()
entry
.add('classlist-polyfill')
.end()
entry
.add('@/mock')
.end()
});
const entry = config.entry('app');
entry.add('babel-polyfill').end();
entry.add('classlist-polyfill').end();
entry.add('@/mock').end();
},
devServer: {
port: 1888,
@ -38,4 +32,4 @@ module.exports = {
}
}
}
}
};

Loading…
Cancel
Save