2022-01-03 22:20:10 +08:00
|
|
|
import type { App } from 'vue';
|
2022-01-10 19:24:13 +08:00
|
|
|
import { createRouter, createWebHistory, createWebHashHistory } from 'vue-router';
|
2022-01-06 11:37:06 +08:00
|
|
|
import { transformAuthRoutesToVueRoutes } from '@/utils';
|
|
|
|
import { constantRoutes } from './routes';
|
2022-01-21 23:59:14 +08:00
|
|
|
import { scrollBehavior } from './helpers';
|
2022-01-07 00:26:59 +08:00
|
|
|
import { createRouterGuard } from './guard';
|
2022-01-03 22:20:10 +08:00
|
|
|
|
2022-03-05 01:55:21 +08:00
|
|
|
const { VITE_HASH_ROUTE = 'false', VITE_BASE_URL } = import.meta.env;
|
|
|
|
const history = VITE_HASH_ROUTE === 'true' ? createWebHashHistory(VITE_BASE_URL) : createWebHistory(VITE_BASE_URL);
|
2022-01-10 19:24:13 +08:00
|
|
|
|
2022-01-03 22:20:10 +08:00
|
|
|
export const router = createRouter({
|
2022-03-05 01:55:21 +08:00
|
|
|
history,
|
2022-01-06 11:37:06 +08:00
|
|
|
routes: transformAuthRoutesToVueRoutes(constantRoutes),
|
2022-01-21 23:59:14 +08:00
|
|
|
scrollBehavior
|
2022-01-03 22:20:10 +08:00
|
|
|
});
|
|
|
|
|
|
|
|
export async function setupRouter(app: App) {
|
|
|
|
app.use(router);
|
2022-01-07 00:26:59 +08:00
|
|
|
createRouterGuard(router);
|
2022-01-03 22:20:10 +08:00
|
|
|
await router.isReady();
|
|
|
|
}
|
|
|
|
|
2022-01-06 02:00:42 +08:00
|
|
|
export * from './routes';
|