index.ts 984 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import type { App } from 'vue'
  2. import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router'
  3. import { RedirectRoute } from '@/router/base'
  4. import { createRouterGuards } from './router-guards'
  5. import { PageEnum } from '@/enums/pageEnum'
  6. import modules from '@/router/modules'
  7. import { HttpErrorPage, LoginRoute } from '@/router/base'
  8. import { Layout } from '@/router/constant'
  9. const RootRoute: Array<RouteRecordRaw> = [
  10. {
  11. path: '/',
  12. name: 'Root',
  13. redirect: PageEnum.BASE_HOME,
  14. component: Layout,
  15. meta: {
  16. title: 'Root',
  17. },
  18. children: [
  19. ...HttpErrorPage,
  20. modules.projectRoutes
  21. ]
  22. }
  23. ]
  24. export const constantRouter: any[] = [LoginRoute, ...RootRoute, RedirectRoute];
  25. const router = createRouter({
  26. history: createWebHashHistory(''),
  27. routes: constantRouter,
  28. strict: true,
  29. })
  30. export function setupRouter(app: App) {
  31. app.use(router);
  32. // 创建路由守卫
  33. createRouterGuards(router)
  34. }
  35. export default router