From 75962aafc9721f3a9575152b533ad2d2519f8e1f Mon Sep 17 00:00:00 2001 From: FatttSnake Date: Tue, 17 Oct 2023 11:32:39 +0800 Subject: [PATCH] Optimize router --- src/global.d.ts | 7 +-- src/pages/ToolsFramework.tsx | 16 +++---- src/router/home.tsx | 34 ++++++++++++++ src/router/index.tsx | 89 ++++++++++++++++-------------------- src/router/tools.tsx | 42 ++--------------- 5 files changed, 91 insertions(+), 97 deletions(-) create mode 100644 src/router/home.tsx diff --git a/src/global.d.ts b/src/global.d.ts index e64304b..36438e0 100644 --- a/src/global.d.ts +++ b/src/global.d.ts @@ -10,9 +10,10 @@ interface ImportMeta { readonly env: ImportMetaEnv } -type ToolsJsonObject = { +type RouteJsonObject = { path: string - id: string + id?: string + element?: React.JSX.Element component?: React.ComponentType name?: string titlePrefix?: string @@ -21,7 +22,7 @@ type ToolsJsonObject = { icon?: IconComponent menu?: boolean auth?: boolean - children?: ToolsJsonObject[] + children?: RouteJsonObject[] } type RouteHandle = { diff --git a/src/pages/ToolsFramework.tsx b/src/pages/ToolsFramework.tsx index c997eff..27d51cc 100644 --- a/src/pages/ToolsFramework.tsx +++ b/src/pages/ToolsFramework.tsx @@ -2,7 +2,7 @@ import React from 'react' import FitFullScreen from '@/components/common/FitFullScreen' import '@/assets/css/pages/tools-framework.scss' import Icon from '@ant-design/icons' -import { toolsJsonObjects } from '@/router/tools' +import { tools } from '@/router/tools' import HideScrollbar, { HideScrollbarElement } from '@/components/common/HideScrollbar' import { getLocalStorage, getRedirectUrl, setLocalStorage } from '@/utils/common' import { getLoginStatus, logout } from '@/utils/auth' @@ -88,14 +88,14 @@ const ToolsFramework: React.FC = () => { } >
- {toolsJsonObjects[0].icon ? ( + {tools[0].icon ? ( ) : undefined}
- {toolsJsonObjects[0].name} + {tools[0].name} @@ -108,14 +108,14 @@ const ToolsFramework: React.FC = () => { } >
- {toolsJsonObjects[1].icon ? ( + {tools[1].icon ? ( ) : undefined}
- {toolsJsonObjects[1].name} + {tools[1].name} @@ -132,7 +132,7 @@ const ToolsFramework: React.FC = () => { ref={hideScrollbarRef} >