diff --git a/web/apps/web-ele/src/components/dashboard-design/LightDashboardRenderer.vue b/web/apps/web-ele/src/components/dashboard-design/LightDashboardRenderer.vue deleted file mode 100644 index f55e94f..0000000 --- a/web/apps/web-ele/src/components/dashboard-design/LightDashboardRenderer.vue +++ /dev/null @@ -1,135 +0,0 @@ - - - - - diff --git a/web/apps/web-ele/src/components/dashboard-design/components/LightWidgetRenderer.vue b/web/apps/web-ele/src/components/dashboard-design/components/LightWidgetRenderer.vue deleted file mode 100644 index db409c3..0000000 --- a/web/apps/web-ele/src/components/dashboard-design/components/LightWidgetRenderer.vue +++ /dev/null @@ -1,147 +0,0 @@ - - - - - diff --git a/web/apps/web-ele/src/router/access.ts b/web/apps/web-ele/src/router/access.ts index 0cfe1c8..57c2fb1 100644 --- a/web/apps/web-ele/src/router/access.ts +++ b/web/apps/web-ele/src/router/access.ts @@ -9,6 +9,7 @@ import { preferences } from '@vben/preferences'; import { getAllMenusApi } from '#/api/core/menu'; import { BasicLayout, IFrameView } from '#/layouts'; +import { ensureAdminRuntime } from '#/runtime/admin'; import { useAppContextStore } from '#/store/app-context'; import { createAdminRuntimePage } from './admin-runtime-page'; @@ -93,6 +94,7 @@ function withAdminRuntimePages(pageMap: ComponentRecordType) { const PREFETCH_LIGHT_PAGE_KEYS = [ '../views/_core/menu/index.vue', + '../views/_core/permission/index.vue', '../views/_core/role/index.vue', '../views/_core/user/index.vue', ]; @@ -114,6 +116,7 @@ function prefetchLightPages(pageMap: ComponentRecordType) { lightPagesPrefetched = true; window.setTimeout(() => { scheduleIdleTask(() => { + void ensureAdminRuntime().catch(() => undefined); for (const key of PREFETCH_LIGHT_PAGE_KEYS) { const loader = pageMap[key]; if (typeof loader === 'function') { @@ -121,7 +124,7 @@ function prefetchLightPages(pageMap: ComponentRecordType) { } } }); - }, 12_000); + }, 3_000); } const LIGHT_AI_PLATFORM_MENU_ROUTES = [ @@ -289,7 +292,7 @@ async function generateAccess(options: GenerateMenuAndRoutesOptions) { layoutMap, pageMap, }); - prefetchLightPages(pageMap); + prefetchLightPages(rawPageMap); return accessible; } diff --git a/web/apps/web-ele/src/router/admin-runtime-page.ts b/web/apps/web-ele/src/router/admin-runtime-page.ts index eb70289..390fe64 100644 --- a/web/apps/web-ele/src/router/admin-runtime-page.ts +++ b/web/apps/web-ele/src/router/admin-runtime-page.ts @@ -77,10 +77,10 @@ function createAdminRuntimePage(loader: RouteComponentLoader) { async function loadPage() { try { - if (!isAdminRuntimeReady()) { - await ensureAdminRuntime(); - } - const module = await loader(); + const runtimeReady = isAdminRuntimeReady() + ? Promise.resolve() + : ensureAdminRuntime(); + const [module] = await Promise.all([loader(), runtimeReady]); loadedComponent.value = module.default; } catch (error) { errorMessage.value = diff --git a/web/apps/web-ele/src/views/_core/page-render/index.vue b/web/apps/web-ele/src/views/_core/page-render/index.vue index cf521a1..8703fc3 100644 --- a/web/apps/web-ele/src/views/_core/page-render/index.vue +++ b/web/apps/web-ele/src/views/_core/page-render/index.vue @@ -1,69 +1,19 @@