| rsf-design/src/components/core/layouts/art-page-content/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| rsf-design/src/router/guards/beforeEach.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| rsf-design/src/utils/ui/loading.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
rsf-design/src/components/core/layouts/art-page-content/index.vue
@@ -23,7 +23,7 @@ <RouterView v-else-if="isRefresh" v-slot="{ Component, route }"> <!-- 缓存路由动画 --> <Transition :name="showTransitionMask ? '' : actualTransition" mode="out-in" appear> <Transition :name="showTransitionMask ? '' : actualTransition" mode="out-in"> <div v-if="route.meta.keepAlive" :key="route.path" @@ -37,7 +37,7 @@ </Transition> <!-- 非缓存路由动画 --> <Transition :name="showTransitionMask ? '' : actualTransition" mode="out-in" appear> <Transition :name="showTransitionMask ? '' : actualTransition" mode="out-in"> <div v-if="!route.meta.keepAlive" :key="route.path" rsf-design/src/router/guards/beforeEach.js
@@ -23,6 +23,8 @@ let pendingRouteLocation = null let pendingWarmupMenuList = null let homeWarmupTriggered = false const MENU_ICON_WARMUP_DELAY = 1200 const HOME_ROUTE_WARMUP_DELAY = 1400 function getPendingLoading() { return pendingLoading } @@ -206,7 +208,7 @@ const menuStore = useMenuStore() menuStore.setMenuList(menuList) menuStore.addRemoveRouteFns(routeRegistry?.getRemoveRouteFns() || []) warmMenuIcons(menuList) warmMenuIcons(menuList, MENU_ICON_WARMUP_DELAY) IframeRouteManager.getInstance().save() useWorktabStore().validateWorktabs(router) const initialTargetLocation = createRouteLocation(to) @@ -311,8 +313,12 @@ } homeWarmupTriggered = true const schedule = globalThis.requestAnimationFrame ? (task) => globalThis.requestAnimationFrame(() => globalThis.requestAnimationFrame(task)) : (task) => setTimeout(task, 120) ? (task) => setTimeout( () => globalThis.requestAnimationFrame(() => globalThis.requestAnimationFrame(task)), HOME_ROUTE_WARMUP_DELAY ) : (task) => setTimeout(task, HOME_ROUTE_WARMUP_DELAY) schedule(() => { routeRegistry?.warm(pendingWarmupMenuList, { limit: Number.MAX_SAFE_INTEGER rsf-design/src/utils/ui/loading.js
@@ -13,18 +13,26 @@ customClass: 'art-loading-fix' } let loadingInstance = null let loadingTimer = null const DEFAULT_LOADING_DELAY = 180 const loadingService = { /** * 显示 loading * @returns 关闭 loading 的函数 */ showLoading() { if (!loadingInstance) { if (!loadingInstance && !loadingTimer) { loadingTimer = setTimeout(() => { loadingTimer = null if (loadingInstance) { return } const config = { ...DEFAULT_LOADING_CONFIG, background: getLoadingBackground() } loadingInstance = ElLoading.service(config) }, DEFAULT_LOADING_DELAY) } return () => this.hideLoading() }, @@ -32,6 +40,10 @@ * 隐藏 loading */ hideLoading() { if (loadingTimer) { clearTimeout(loadingTimer) loadingTimer = null } if (loadingInstance) { loadingInstance.close() loadingInstance = null