import type { App } from 'vue' import { createRouter, createWebHashHistory, createWebHistory } from 'vue-router' import { setupRouterGuard } from './guard' import { routes } from './routes.inner' import { createNavigationGuard } from '@/utils/navigation-guard' const { VITE_ROUTE_MODE = 'hash', VITE_BASE_URL } = import.meta.env export const router = createRouter({ history: VITE_ROUTE_MODE === 'hash' ? createWebHashHistory(VITE_BASE_URL) : createWebHistory(VITE_BASE_URL), routes, // 添加路由配置优化 scrollBehavior(to, from, savedPosition) { if (savedPosition) { return savedPosition } return { top: 0 } }, }) // 创建导航防护实例 export const navigationGuard = createNavigationGuard(router) // 安装vue路由 export async function installRouter(app: App) { // 添加路由守卫 setupRouterGuard(router) app.use(router) await router.isReady() // https://router.vuejs.org/zh/api/index.html#isready }