index.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. import Vue from "vue";
  2. import Router from "vue-router";
  3. import store from "../store/index";
  4. Vue.use(Router);
  5. const router = new Router({
  6. routes: [
  7. {
  8. path: "/",
  9. redirect: "/login"
  10. },
  11. {
  12. path: "/login",
  13. component: () => import("@/views/login/index"),
  14. meta: {
  15. title: "登陆"
  16. }
  17. },
  18. {
  19. path: "/register",
  20. component: () => import("@/views/register/index"),
  21. meta: {
  22. title: "注册"
  23. }
  24. },
  25. {
  26. path: "/index",
  27. component: () => import("@/views/index/index"),
  28. meta: {
  29. title: "工时管家",
  30. keepAlive: true
  31. }
  32. },
  33. {
  34. path: "/view",
  35. meta: {
  36. title: "查看日报"
  37. },
  38. component: () => import("@/views/view/index")
  39. },
  40. {
  41. path: "/edit",
  42. meta: {
  43. title: "填写日报"
  44. },
  45. component: () => import("@/views/edit/index")
  46. },
  47. {
  48. path: "/review",
  49. meta: {
  50. title: "审核日报"
  51. },
  52. component: () => import("@/views/review/index")
  53. },
  54. {
  55. path: "/msg",
  56. meta: {
  57. title: "消息记录"
  58. },
  59. component: () => import("@/views/msg/index")
  60. },
  61. {
  62. path: "/project",
  63. meta: {
  64. title: "项目管理"
  65. },
  66. component: () => import("@/views/project/index")
  67. },
  68. {
  69. path: "/my",
  70. component: () => import("@/views/my/index"),
  71. redirect: "/my/center",
  72. children: [
  73. {
  74. path: "center",
  75. meta: {
  76. title: "个人中心"
  77. },
  78. component: () => import("@/views/my/children/center")
  79. },
  80. {
  81. path: "set",
  82. meta: {
  83. title: "修改密码"
  84. },
  85. component: () => import("@/views/my/children/set")
  86. }
  87. ]
  88. },
  89. {
  90. path: "*",
  91. component: () => import("@/components/NotFound")
  92. }
  93. ]
  94. });
  95. router.beforeEach((to, from, next) => {
  96. let { title, needLogin } = to.meta;
  97. let { isLogin } = store.state;
  98. document.title = title;
  99. if (needLogin && !isLogin) {
  100. next({
  101. path: "/login"
  102. });
  103. } else {
  104. next();
  105. }
  106. });
  107. export default router;