import type { Router } from 'vue-router' import { createRouter, createWebHistory } from 'vue-router' import { setupLayouts } from 'virtual:generated-layouts' import { createNProgressGuard } from './nprogress' import { createTabsGuard } from './tabs' import { setRouteChange } from '~/utils' // eslint-disable-next-line import/no-mutable-exports export let router: Router export function initRouter(path: string): Router { router = createRouter({ history: createWebHistory(path), routes: setupLayouts(getRoutes()), strict: false, scrollBehavior: () => ({ left: 0, top: 0 }), }) return router } export function setupRouterGuards() { createNProgressGuard(router) createTabsGuard(router, setRouteChange) // 暂时的 useMenuStore() }