Vben
2021-02-25 8a9ca498d70a0a4f66c073fe869fc6d8a3e79a55
提交 | 用户 | age
2f6253 1 import type { RouteRecordRaw } from 'vue-router';
2 import type { App } from 'vue';
3
4 import { createRouter, createWebHashHistory } from 'vue-router';
e23336 5
8a9ca4 6 import { createGuard } from './guard';
V 7 import { basicRoutes } from './routes';
ec7efc 8 import { REDIRECT_NAME } from './constant';
2f6253 9
10 // app router
11 const router = createRouter({
bd7b53 12   history: createWebHashHistory(),
9a7102 13   routes: (basicRoutes as unknown) as RouteRecordRaw[],
7692ff 14   strict: true,
a09a0e 15   scrollBehavior: () => ({ left: 0, top: 0 }),
2f6253 16 });
e23336 17
2f6253 18 // reset router
19 export function resetRouter() {
ec7efc 20   const resetWhiteNameList = ['Login', REDIRECT_NAME];
2f6253 21   router.getRoutes().forEach((route) => {
22     const { name } = route;
23     if (name && !resetWhiteNameList.includes(name as string)) {
cb1ae3 24       router.hasRoute(name) && router.removeRoute(name);
2f6253 25     }
26   });
27 }
28
29 // config router
30 export function setupRouter(app: App<Element>) {
31   app.use(router);
32   createGuard(router);
33 }
f4621c 34
2f6253 35 export default router;