提交 20da0656 编写于 作者: Yuanzhao.dai's avatar Yuanzhao.dai

全局loading

上级 63458f4b
import axios from 'axios'
import { Loading } from 'element-ui';
import store from '../store'
// import { getHostnameAndPort } from '../utils'
// axios.defaults.withCredentials = true
......@@ -9,8 +10,41 @@ const service = axios.create({
withCredentials: false
})
/*loading*/
let loadingInstance = () => {
return Loading.service({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
}
let loading;
let needLoadingRequestCount = 0;
let showFullScreenLoading = () => {
if (needLoadingRequestCount === 0) {
loadingInstance();
}
needLoadingRequestCount++;
};
let tryHideFullScreenLoading = () => {
if (needLoadingRequestCount > 0) {
needLoadingRequestCount--;
}
if (needLoadingRequestCount === 0) {
loadingInstance().close();
}
};
// request拦截器
service.interceptors.request.use(config => {
if (config.noLoading) {
}else{
showFullScreenLoading();
}
const noSysCode = config.headers.noSysCode;
if(noSysCode){
delete config.headers.sysCode;
......@@ -36,12 +70,18 @@ service.interceptors.request.use(config => {
return config
}, error => {
// logger.debug('service.interceptors.request: ', error)
tryHideFullScreenLoading();
Promise.reject(error)
})
// respone拦截器
service.interceptors.response.use(
response => {
if (response.config.noLoading) {
}else{
tryHideFullScreenLoading()
}
const res = response.data
/*
baseUrl时,返回000000为成功
......@@ -55,6 +95,8 @@ service.interceptors.response.use(
},
error => {
// logger.error('err' + error)
tryHideFullScreenLoading();
return Promise.reject(error)
}
)
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册