index.js 2.9 KB

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