提交 | 用户 | 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; |