index.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. import Vue from "vue";
  2. import VueRouter from "vue-router";
  3. import BasicLayout from "@/layouts/BasicLayout.vue";
  4. import HomePage from "../views/Home/index.vue";
  5. import DetailPage from "../views/Detail/index.vue";
  6. import Basic from "../views/Basic/index.vue";
  7. import Fire from "../views/Fire/index.vue";
  8. import Risk from "../views/Risk/index.vue";
  9. import PoliceSituation from "../views/PoliceSituation/index.vue";
  10. import FireCondition from "../views/FireCondition/index.vue";
  11. import Iot from "../views/Iot/index.vue";
  12. import H5 from "../views/H5/index.vue";
  13. import Test from "../views/Test/index.vue";
  14. import Login from "../views/login/index.vue";
  15. Vue.use(VueRouter);
  16. const router = new VueRouter({
  17. mode: "history",
  18. base: import.meta.env.BASE_URL,
  19. routes: [
  20. {
  21. path: "/",
  22. name: "basic-layout",
  23. component: BasicLayout,
  24. redirect: "/login",
  25. children: [
  26. {
  27. path: "/home",
  28. name: "home-page",
  29. component: HomePage,
  30. meta: {
  31. id: 1,
  32. },
  33. },
  34. {
  35. path: "/detail",
  36. name: "detail-page",
  37. component: DetailPage,
  38. meta: {
  39. id: -1,
  40. },
  41. },
  42. {
  43. path: "/basic",
  44. name: "basic",
  45. component: Basic,
  46. meta: {
  47. id: 2,
  48. },
  49. },
  50. {
  51. path: "/fire",
  52. name: "fire",
  53. component: Fire,
  54. meta: {
  55. id: 3,
  56. },
  57. },
  58. {
  59. path: "/risk",
  60. name: "risk",
  61. component: Risk,
  62. meta: {
  63. id: 4,
  64. },
  65. },
  66. {
  67. path: "/police",
  68. name: "police",
  69. component: PoliceSituation,
  70. meta: {
  71. id: 5,
  72. },
  73. },
  74. {
  75. path: "/fire-condition",
  76. name: "fire-condition",
  77. component: FireCondition,
  78. meta: {
  79. id: 6,
  80. },
  81. },
  82. {
  83. path: "/iot",
  84. name: "iot",
  85. component: Iot,
  86. meta: {
  87. id: 7,
  88. },
  89. },
  90. {
  91. path: "/test",
  92. name: "test",
  93. component: Test,
  94. meta: {},
  95. },
  96. ],
  97. },
  98. {
  99. path: "/h5",
  100. name: "h5",
  101. component: H5,
  102. },
  103. {
  104. path: "/test/map",
  105. name: "map",
  106. component: () => import("@/views/Test/map.vue"),
  107. },
  108. { path: "/login", name: "login", component: Login }
  109. ],
  110. });
  111. router.beforeEach((to, from, next) => {
  112. const token = sessionStorage.getItem('token')
  113. if (token) {
  114. next()
  115. } else {
  116. if (to.path === '/login') {
  117. next()
  118. } else {
  119. next('/login')
  120. }
  121. }
  122. })
  123. export default router;