import { ElLoading } from "element-plus"; /* 全局请求 loading */ let loadingInstance: ReturnType; /** * @description 开启 Loading * */ const startLoading = () => { loadingInstance = ElLoading.service({ fullscreen: true, lock: true, text: "Loading", background: "rgba(0, 0, 0, 0.7)" }); }; /** * @description 结束 Loading * */ const endLoading = () => { loadingInstance.close(); }; /** * @description 显示全屏加载 * */ let needLoadingRequestCount = 0; export const showFullScreenLoading = () => { if (needLoadingRequestCount === 0) { startLoading(); } needLoadingRequestCount++; }; /** * @description 隐藏全屏加载 * */ export const tryHideFullScreenLoading = () => { if (needLoadingRequestCount <= 0) return; needLoadingRequestCount--; if (needLoadingRequestCount === 0) { endLoading(); } };