From fa3ac93010bea3805438ee3ab0a182bfbf7423da Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期一, 27 五月 2024 16:19:31 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/router/index.ts | 37 +++++++++++++++++++++++++++++++++++++ 1 files changed, 37 insertions(+), 0 deletions(-) diff --git a/src/router/index.ts b/src/router/index.ts new file mode 100644 index 0000000..a870521 --- /dev/null +++ b/src/router/index.ts @@ -0,0 +1,37 @@ +import type { App } from 'vue' +import type { RouteRecordRaw } from 'vue-router' + +import { createRouter, createWebHistory } from 'vue-router' +import { basicRoutes } from './routes' + +// 鐧藉悕鍗曞簲璇ュ寘鍚熀鏈潤鎬佽矾鐢� +const WHITE_NAME_LIST: string[] = [] +const getRouteNames = (array: any[]) => + array.forEach((item) => { + WHITE_NAME_LIST.push(item.name) + getRouteNames(item.children || []) + }) +getRouteNames(basicRoutes) + +// app router +export const router = createRouter({ + history: createWebHistory(import.meta.env.VITE_PUBLIC_PATH), + routes: basicRoutes as unknown as RouteRecordRaw[], + strict: true, + scrollBehavior: () => ({ left: 0, top: 0 }), +}) + +// reset router +export function resetRouter() { + router.getRoutes().forEach((route) => { + const { name } = route + if (name && !WHITE_NAME_LIST.includes(name as string)) { + router.hasRoute(name) && router.removeRoute(name) + } + }) +} + +// config router +export function setupRouter(app: App<Element>) { + app.use(router) +} -- Gitblit v1.9.3