#
zhou zhou
昨天 979bc5d5616d8f43681251a93a546008c83a4683
#
3个文件已修改
40 ■■■■ 已修改文件
rsf-design/src/components/core/layouts/art-page-content/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-design/src/router/guards/beforeEach.js 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-design/src/utils/ui/loading.js 24 ●●●● 补丁 | 查看 | 原始文档 | 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) {
      const config = {
        ...DEFAULT_LOADING_CONFIG,
        background: getLoadingBackground()
      }
      loadingInstance = ElLoading.service(config)
    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