index.ts 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import { createRouter, createWebHistory } from "vue-router";
  2. import ReportView from "../views/report/ReportView.vue";
  3. import RouteView from "../views/RouteView.vue";
  4. const router = createRouter({
  5. history: createWebHistory(import.meta.env.BASE_URL),
  6. routes: [
  7. {
  8. path: "/",
  9. redirect: "/report/index"
  10. },
  11. {
  12. path: "/report",
  13. name: "Report",
  14. component: RouteView,
  15. children: [
  16. {
  17. path: "index",
  18. name: "ReportIndex",
  19. component: ReportView,
  20. },
  21. {
  22. path: "template",
  23. name: "ReportTemplate",
  24. component: () => import("../views/report/ReportTemplateView.vue"),
  25. },
  26. ]
  27. },
  28. {
  29. path: "/search",
  30. name: "Search",
  31. component: RouteView,
  32. children: [
  33. {
  34. path: "index",
  35. name: "SearchIndex",
  36. component: () => import("../views/search/SearchView.vue")
  37. },
  38. {
  39. path: "advanced/index",
  40. name: "AdvancedSearchIndex",
  41. component: () => import("../views/search/AdvancedSearchView.vue"),
  42. },
  43. {
  44. path: "result",
  45. name: "SearchResult",
  46. component: () => import("../views/search/SearchResultView.vue")
  47. }
  48. ]
  49. },
  50. {
  51. path: "/detail",
  52. name: "DetailRoot",
  53. component: RouteView,
  54. children: [
  55. {
  56. path: ":id",
  57. name: "Detail",
  58. component: () => import("../views/detail/DetailView.vue"),
  59. }
  60. ]
  61. },
  62. {
  63. path: "/knowledge-graph",
  64. name: "KnowledgeGraph",
  65. component: RouteView,
  66. children: [
  67. {
  68. path: "search",
  69. name: "KnowledgeGraph",
  70. component: () => import("../views/knowledge-grapn/KnowledgeGraphView.vue")
  71. }
  72. ]
  73. },
  74. {
  75. path: "/login",
  76. name: "Login",
  77. // route level code-splitting
  78. // this generates a separate chunk (About.[hash].js) for this route
  79. // which is lazy-loaded when the route is visited.
  80. component: () => import("../views/LoginView.vue"),
  81. },
  82. {
  83. path: '/:pathMatch(.*)*',
  84. name: 'NotFound',
  85. component: () => import("../views/NotFound.vue"),
  86. },
  87. ],
  88. });
  89. export default router;