index.ts 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. import { createRouter, createWebHashHistory } from "vue-router";
  2. import Layout from "@/components/Layout/index.vue";
  3. const router = createRouter({
  4. history: createWebHashHistory(import.meta.env.BASE_URL),
  5. routes: [
  6. {
  7. path: "/",
  8. name: "layout",
  9. component: Layout,
  10. redirect: "/Layout/home",
  11. children: [
  12. {
  13. path: "/Layout/home",
  14. name: "Home",
  15. component: () => import("../views/Home/index.vue"),
  16. },
  17. {
  18. path: "/Layout/visit",
  19. name: "Visit",
  20. redirect: "/Layout/visit/8",
  21. component: () => import("../views/Visit/index.vue"),
  22. children: [
  23. {
  24. path: "/Layout/visit/8",
  25. name: "Calendar",
  26. component: () => import("../views/Visit/Calendar/index.vue"),
  27. },
  28. {
  29. path: "/Layout/visit/1",
  30. name: "Direction",
  31. component: () => import("../views/Visit/Direction/index.vue"),
  32. },
  33. {
  34. path: "/Layout/visit/2",
  35. name: "Reservation",
  36. component: () => import("../views/Visit/Reservation/index.vue"),
  37. },
  38. {
  39. path: "/Layout/visit/3",
  40. name: "Plans",
  41. component: () => import("../views/Visit/Plans/index.vue"),
  42. },
  43. {
  44. path: "/Layout/visit/4",
  45. name: "Guide",
  46. component: () => import("../views/Visit/Guide/index.vue"),
  47. },
  48. {
  49. path: "/Layout/visit/5",
  50. name: "Accessibility",
  51. component: () => import("../views/Visit/Accessibility/index.vue"),
  52. },
  53. {
  54. path: "/Layout/visit/6",
  55. name: "Shop",
  56. component: () => import("../views/Visit/Shop/index.vue"),
  57. },
  58. {
  59. path: "/Layout/visit/7",
  60. name: "Guidelines",
  61. component: () => import("../views/Visit/Guidelines/index.vue"),
  62. },
  63. ],
  64. },
  65. {
  66. path: "/Layout/Exhibitions/:type",
  67. name: "Exhibitions",
  68. component: () => import("../views/Exhibitions/index.vue"),
  69. },
  70. {
  71. path: "/Layout/ExhibitionsInfo",
  72. name: "ExhibitionsDetail",
  73. component: () => import("../views/Exhibitions/Detail/index.vue"),
  74. },
  75. {
  76. path: "/Layout/Collections/:type",
  77. name: "Collections",
  78. component: () => import("../views/Collections/index.vue"),
  79. },
  80. {
  81. path: "/Layout/LearnEngage",
  82. name: "LearnEngage",
  83. redirect: "/Layout/LearnEngage/Students",
  84. component: () => import("../views/LearnEngage/index.vue"),
  85. children: [
  86. {
  87. path: "/Layout/LearnEngage/:type",
  88. name: "LearnEngageList",
  89. component: () => import("../views/LearnEngage/List/index.vue"),
  90. },
  91. {
  92. path: "/Layout/LearnEngageInfo",
  93. name: "LearnEngageDetail",
  94. component: () => import("../views/LearnEngage/Detail/index.vue"),
  95. },
  96. ],
  97. },
  98. {
  99. path: "/Layout/Publications",
  100. name: "Publications",
  101. redirect: "/Layout/Publications/1",
  102. component: () => import("../views/Publications/index.vue"),
  103. children: [
  104. {
  105. path: "/Layout/Publications/1",
  106. name: "PublicationsMagazines",
  107. component: () =>
  108. import("../views/Publications/Magazines/index.vue"),
  109. },
  110. {
  111. path: "/Layout/Publications/2",
  112. name: "PublicationsCatalogues",
  113. component: () =>
  114. import("../views/Publications/Catalogues/index.vue"),
  115. },
  116. {
  117. path: "/Layout/PublicationsInfo",
  118. name: "PublicationsDetail",
  119. component: () => import("../views/Publications/Detail/index.vue"),
  120. },
  121. ],
  122. },
  123. {
  124. path: "/Layout/JoinSupport",
  125. name: "JoinSupport",
  126. redirect: "/Layout/JoinSupport/Volunteer",
  127. component: () => import("../views/JoinSupport/index.vue"),
  128. children: [
  129. {
  130. path: "/Layout/JoinSupport/Volunteer",
  131. name: "Volunteer",
  132. component: () =>
  133. import("../views/JoinSupport/Volunteer/index.vue"),
  134. },
  135. {
  136. path: "/Layout/JoinSupport/VolunteerInfo",
  137. name: "VolunteerDetail",
  138. component: () =>
  139. import("../views/JoinSupport/Volunteer/detail.vue"),
  140. },
  141. {
  142. path: "/Layout/JoinSupport/Give",
  143. name: "Give",
  144. component: () => import("../views/JoinSupport/Give/index.vue"),
  145. },
  146. {
  147. path: "/Layout/JoinSupport/GiveInfo",
  148. name: "GiveDetail",
  149. component: () => import("../views/JoinSupport/Give/detail.vue"),
  150. },
  151. ],
  152. },
  153. {
  154. path: "/Layout/About",
  155. name: "About",
  156. component: () => import("../views/About/index.vue"),
  157. },
  158. {
  159. path: "/Layout/Search",
  160. name: "Search",
  161. component: () => import("../views/Search/index.vue"),
  162. },
  163. {
  164. path: "/Layout/Index",
  165. name: "SiteIndex",
  166. component: () => import("../views/Site/index.vue"),
  167. },
  168. ],
  169. },
  170. ],
  171. });
  172. export default router;