import { fourDotsSpinnerSvg } from '@/assets/svg/loading' const getLoadingBackground = () => { const isDark = document.documentElement.classList.contains('dark') return isDark ? 'rgba(7, 7, 7, 0.85)' : '#fff' } const DEFAULT_LOADING_CONFIG = { lock: true, get background() { return getLoadingBackground() }, svg: fourDotsSpinnerSvg, svgViewBox: '0 0 40 40', customClass: 'art-loading-fix' } let loadingInstance = null const loadingService = { /** * 显示 loading * @returns 关闭 loading 的函数 */ showLoading() { if (!loadingInstance) { const config = { ...DEFAULT_LOADING_CONFIG, background: getLoadingBackground() } loadingInstance = ElLoading.service(config) } return () => this.hideLoading() }, /** * 隐藏 loading */ hideLoading() { if (loadingInstance) { loadingInstance.close() loadingInstance = null } } } export { loadingService }