index.ts 1.1 KB

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