index.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. import Vue from "vue"
  2. import store from "@/store"
  3. import VueRouter from "vue-router"
  4. import { query } from "@/utils/query"
  5. Vue.use(VueRouter)
  6. const routes = [
  7. // 登陆页面
  8. {
  9. path: "/",
  10. redirect: "/home/overview",
  11. },
  12. {
  13. path: "/404",
  14. component: () => import("../components/404"),
  15. },
  16. // home
  17. {
  18. path: "/home",
  19. name: "home",
  20. component: () => import("../views/index"),
  21. redirect: "/home/first",
  22. children: [
  23. {
  24. path: "first",
  25. component: () => import("../views/first"),
  26. },
  27. //概览
  28. {
  29. path: "overview",
  30. component: () => import("../views/overview"),
  31. },
  32. // 楼层功能
  33. {
  34. path: "floorFunc",
  35. component: () => import("../views/floorFunc"),
  36. },
  37. // 设备设施
  38. {
  39. path: "equipment",
  40. component: () => import("../views/equipment"),
  41. },
  42. // 其他功能
  43. {
  44. path: "other",
  45. component: () => import("../views/other"),
  46. },
  47. // 分析
  48. {
  49. path: "analysis",
  50. component: () => import("../views/analysis"),
  51. },
  52. //图例库管理
  53. {
  54. path: "legendLibrary",
  55. component: () => import("../views/legendLibrary"),
  56. },
  57. //图例绘制规则
  58. {
  59. path: "legendRules",
  60. component: () => import("../views/legendRules"),
  61. },
  62. ],
  63. },
  64. ]
  65. const router = new VueRouter({
  66. mode: "history",
  67. base: process.env.BASE_URL,
  68. routes,
  69. })
  70. const ignore = ["/404"]
  71. router.beforeEach(async (to, from, next) => {
  72. if (!ignore.includes(to.path)) {
  73. const token = query().token
  74. const ssoToken = store.getters["ssoToken"]
  75. if (ssoToken) {
  76. store.commit("SETSSOTOKEN", ssoToken)
  77. await store.dispatch("getUserInfo", router)
  78. await store.dispatch("getFloors")
  79. await store.dispatch("getBrand")
  80. next()
  81. } else if (token) {
  82. store.commit("SETSSOTOKEN", token)
  83. await store.dispatch("getUserInfo", router)
  84. next()
  85. } else {
  86. let lastRoute = {
  87. path: to.path,
  88. params: to.params,
  89. query: to.query,
  90. }
  91. store.commit("SETLASTROUTER", lastRoute)
  92. let ssoServer = "http://oauth.wanda-dev.cn"
  93. let systemcode = "CAD156",
  94. signal = new Date().getTime(),
  95. version = "1.0.0"
  96. window.location.href = `${ssoServer}/login?systemcode=${systemcode}&signal=${signal}&version=${version}`
  97. }
  98. } else {
  99. next()
  100. return
  101. }
  102. })
  103. export default router