Files
cn-rdms-web/src/router/index.ts

34 lines
918 B
TypeScript
Raw Normal View History

2026-03-26 20:18:20 +08:00
import type { App } from 'vue';
import {
type RouterHistory,
createMemoryHistory,
createRouter,
createWebHashHistory,
createWebHistory
} from 'vue-router';
import { createBuiltinVueRoutes } from './routes/builtin';
import { createRouterGuard } from './guard';
import { setGlobalRouter } from './instance';
2026-03-26 20:18:20 +08:00
const { VITE_ROUTER_HISTORY_MODE = 'history', VITE_BASE_URL } = import.meta.env;
const historyCreatorMap: Record<Env.RouterHistoryMode, (base?: string) => RouterHistory> = {
hash: createWebHashHistory,
history: createWebHistory,
memory: createMemoryHistory
};
export const router = createRouter({
history: historyCreatorMap[VITE_ROUTER_HISTORY_MODE](VITE_BASE_URL),
routes: createBuiltinVueRoutes()
});
setGlobalRouter(router);
2026-03-26 20:18:20 +08:00
/** 挂载并初始化 Vue Router */
export async function setupRouter(app: App) {
app.use(router);
createRouterGuard(router);
await router.isReady();
}