index.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. import Vue from 'vue';
  2. import VueRouter from 'vue-router';
  3. import store from '@/store/index';
  4. Vue.use(VueRouter);
  5. const routes = [
  6. // 首页
  7. {
  8. path: '/home/index',
  9. name: 'home_index',
  10. meta: { title: '首页', isleftarrow: false },
  11. component: () => import('../views/home/index.vue'),
  12. },
  13. // 错误
  14. {
  15. path: '/home/error',
  16. name: '',
  17. meta: { title: '错误页面', isleftarrow: false },
  18. component: () => import('../views/home/error.vue'),
  19. },
  20. // 直播大厅
  21. {
  22. path: '/live/index',
  23. name: 'live_index',
  24. meta: { title: '直播大厅', isleftarrow: true },
  25. component: () => import('../views/live/index.vue'),
  26. },
  27. // 科技超市
  28. {
  29. path: '/market/index',
  30. name: 'market_index',
  31. meta: { title: '科技超市', isleftarrow: true },
  32. component: () => import('../views/market/index.vue'),
  33. },
  34. // 科技超市-技术-产品-服务详情
  35. {
  36. path: '/market/prodDetail',
  37. name: 'market_prodDetail',
  38. meta: { title: '产品详情', isleftarrow: true },
  39. component: () => import('../views/market/prodDetail.vue'),
  40. },
  41. // 科技超市-专家详情
  42. {
  43. path: '/market/exportDetail',
  44. name: 'market_exportDetail',
  45. meta: { title: '专家详情', isleftarrow: true },
  46. component: () => import('../views/market/exportDetail.vue'),
  47. },
  48. // 科技超市-发布产品
  49. {
  50. path: '/market/detail',
  51. name: 'market_detail',
  52. meta: { title: '发布产品', isleftarrow: true },
  53. component: () => import('../views/market/detail.vue'),
  54. },
  55. // 用户-我的发布
  56. {
  57. path: '/userCenter/myProduct/index',
  58. name: 'myProduct_index',
  59. meta: { title: '我的发布', isleftarrow: true },
  60. component: () => import('../views/userCenter/myProduct/index.vue'),
  61. },
  62. // 用户-发布产品
  63. {
  64. path: '/userCenter/myProduct/detail',
  65. name: 'myProduct_detail',
  66. meta: { title: '发布产品', isleftarrow: true },
  67. component: () => import('../views/userCenter/myProduct/detail.vue'),
  68. },
  69. // 用户-事项管理
  70. {
  71. path: '/userCenter/matter/index',
  72. name: 'matter_index',
  73. meta: { title: '事项管理', isleftarrow: true },
  74. component: () => import('../views/userCenter/matter/index.vue'),
  75. },
  76. // 用户-事项管理详情
  77. {
  78. path: '/userCenter/matter/detailinfo',
  79. name: 'matter_idetailinfo',
  80. meta: { title: '事项详情', isleftarrow: true },
  81. component: () => import('../views/userCenter/matter/detailinfo.vue'),
  82. },
  83. // 用户-展会管理
  84. {
  85. path: '/userCenter/dock/index',
  86. name: 'dock_index',
  87. meta: { title: '展会管理', isleftarrow: true },
  88. component: () => import('../views/userCenter/dock/index.vue'),
  89. },
  90. // 用户-申请对接会
  91. {
  92. path: '/userCenter/dock/apply',
  93. name: 'dock_apply',
  94. meta: { title: '申请对接会', isleftarrow: true },
  95. component: () => import('../views/userCenter/dock/apply.vue'),
  96. },
  97. // 用户-个人中心
  98. {
  99. path: '/userCenter/user/index',
  100. name: 'user_index',
  101. meta: { title: '个人中心', isleftarrow: true },
  102. component: () => import('../views/userCenter/user/index.vue'),
  103. },
  104. // // 个人中心
  105. {
  106. path: '/user/index',
  107. name: 'user_index',
  108. meta: { title: '个人中心', isleftarrow: true },
  109. component: () => import('../views/user/index.vue'),
  110. },
  111. ,
  112. ];
  113. const router = new VueRouter({
  114. mode: 'history',
  115. base: process.env.NODE_ENV === 'development' ? '' : process.env.VUE_APP_ROUTER,
  116. routes,
  117. });
  118. router.beforeEach((to, form, next) => {
  119. if (to.name === 'user_index') {
  120. store.commit('setUser');
  121. if (to.name === 'home_index') {
  122. next();
  123. return;
  124. }
  125. let user = store.state.user;
  126. if (user) {
  127. next();
  128. }
  129. //下面是没登录的情况,需要跳转页面到用户未登录页
  130. else next({ name: 'home_index' });
  131. } else {
  132. store.commit('setUser');
  133. next();
  134. }
  135. });
  136. export default router;