index.js 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  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: '/bind',
  9. name: 'bind',
  10. meta: { title: '绑定', isleftarrow: false },
  11. component: () => import('../views/bind.vue'),
  12. },
  13. // 首页
  14. {
  15. path: '/home/index',
  16. name: 'home_index',
  17. meta: { title: '首页', isleftarrow: false },
  18. component: () => import('../views/home/index.vue'),
  19. },
  20. // 错误
  21. {
  22. path: '/error',
  23. name: '',
  24. meta: { title: '错误页面', isleftarrow: false },
  25. component: () => import('../views/error.vue'),
  26. },
  27. // 直播大厅
  28. {
  29. path: '/live/index',
  30. name: 'live_index',
  31. meta: { title: '直播大厅', isleftarrow: true },
  32. component: () => import('../views/live/index.vue'),
  33. },
  34. // 科技超市
  35. {
  36. path: '/market/index',
  37. name: 'market_index',
  38. meta: { title: '科技超市', isleftarrow: true },
  39. component: () => import('../views/market/index.vue'),
  40. },
  41. // 科技超市-技术-产品-服务详情
  42. {
  43. path: '/market/prodDetail',
  44. name: 'market_prodDetail',
  45. meta: { title: '产品详情', isleftarrow: true },
  46. component: () => import('../views/market/prodDetail.vue'),
  47. },
  48. // 科技超市-专家详情
  49. {
  50. path: '/market/exportDetail',
  51. name: 'market_exportDetail',
  52. meta: { title: '专家详情', isleftarrow: true },
  53. component: () => import('../views/market/exportDetail.vue'),
  54. },
  55. // 科技超市-发布产品
  56. {
  57. path: '/market/detail',
  58. name: 'market_detail',
  59. meta: { title: '发布产品', isleftarrow: true },
  60. component: () => import('../views/market/detail.vue'),
  61. },
  62. // 用户-我的发布
  63. {
  64. path: '/userCenter/myProduct/index',
  65. name: 'myProduct_index',
  66. meta: { title: '我的发布', isleftarrow: true },
  67. component: () => import('../views/userCenter/myProduct/index.vue'),
  68. },
  69. //用户-我的发布详情
  70. {
  71. path: '/userCenter/myProduct/detailinfo',
  72. name: 'myProduct_detailinfo',
  73. meta: { title: '产品详情', isleftarrow: true },
  74. component: () => import('../views/userCenter/myProduct/detailinfo.vue'),
  75. },
  76. // 用户-发布产品
  77. {
  78. path: '/userCenter/myProduct/detail',
  79. name: 'myProduct_detail',
  80. meta: { title: '发布产品', isleftarrow: true },
  81. component: () => import('../views/userCenter/myProduct/detail.vue'),
  82. },
  83. // 用户-事项管理
  84. {
  85. path: '/userCenter/matter/index',
  86. name: 'matter_index',
  87. meta: { title: '事项管理', isleftarrow: true },
  88. component: () => import('../views/userCenter/matter/index.vue'),
  89. },
  90. // 用户-事项管理详情
  91. {
  92. path: '/userCenter/matter/detailinfo',
  93. name: 'matter_idetailinfo',
  94. meta: { title: '事项详情', isleftarrow: true },
  95. component: () => import('../views/userCenter/matter/detailinfo.vue'),
  96. },
  97. // 用户-展会管理
  98. {
  99. path: '/userCenter/dock/index',
  100. name: 'dock_index',
  101. meta: { title: '展会管理', isleftarrow: true },
  102. component: () => import('../views/userCenter/dock/index.vue'),
  103. },
  104. // 用户-申请对接会
  105. {
  106. path: '/userCenter/dock/apply',
  107. name: 'dock_apply',
  108. meta: { title: '申请对接会', isleftarrow: true },
  109. component: () => import('../views/userCenter/dock/apply.vue'),
  110. },
  111. // 用户-个人中心
  112. {
  113. path: '/userCenter/user/index',
  114. name: 'user_index',
  115. meta: { title: '个人中心', isleftarrow: true },
  116. component: () => import('../views/userCenter/user/index.vue'),
  117. },
  118. // // 个人中心
  119. {
  120. path: '/user/index',
  121. name: 'user_index',
  122. meta: { title: '个人中心', isleftarrow: true },
  123. component: () => import('../views/user/index.vue'),
  124. },
  125. // 管理员个人中心-用户管理
  126. {
  127. path: '/adminCenter/user/index',
  128. name: 'adminCenter_user_index',
  129. meta: { title: '用户管理', isleftarrow: true },
  130. component: () => import('../views/adminCenter/user/index.vue'),
  131. },
  132. // 管理员个人中心-编辑审核
  133. {
  134. path: '/adminCenter/user/detail',
  135. name: 'adminCenter_user_detail',
  136. meta: { title: '用户详情', isleftarrow: true },
  137. component: () => import('../views/adminCenter/user/detail.vue'),
  138. },
  139. // 管理员个人中心-对接会管理
  140. {
  141. path: '/adminCenter/duijiehui/index',
  142. name: 'adminCenter_user_detail',
  143. meta: { title: '对接会管理', isleftarrow: true },
  144. component: () => import('../views/adminCenter/duijiehui/index.vue'),
  145. },
  146. // 管理员个人中心-对接会详情
  147. {
  148. path: '/adminCenter/duijiehui/detail',
  149. name: 'adminCenter_duijiehuir_detail',
  150. meta: { title: '对接会详情', isleftarrow: true },
  151. component: () => import('../views/adminCenter/duijiehui/detail.vue'),
  152. },
  153. // 管理员个人中心-对接会审核
  154. {
  155. path: '/adminCenter/duijiehui/examine',
  156. name: 'adminCenter_duijiehuiexamine',
  157. meta: { title: '对接会状态审核', isleftarrow: true },
  158. component: () => import('../views/adminCenter/duijiehui/examine.vue'),
  159. },
  160. // 管理员个人中心-对接会申请状况列表
  161. {
  162. path: '/adminCenter/duijiehui/apply',
  163. name: 'adminCenter_duijiapply',
  164. meta: { title: '对接会申请状况列表', isleftarrow: true },
  165. component: () => import('../views/adminCenter/duijiehui/apply.vue'),
  166. },
  167. // 管理员个人中心-对接会申请状况列表
  168. {
  169. path: '/adminCenter/enterpriseProduct/index',
  170. name: 'adminCenter_enterpriseProduct',
  171. meta: { title: '产品供求审核管理', isleftarrow: true },
  172. component: () => import('../views/adminCenter/enterpriseProduct/index.vue'),
  173. },
  174. // 管理员个人中心-产品供求交易状态审核管理
  175. {
  176. path: '/adminCenter/transaction/index',
  177. name: 'adminCenter_transaction',
  178. meta: { title: '产品供求交易状态审核管理', isleftarrow: true },
  179. component: () => import('../views/adminCenter/transaction/index.vue'),
  180. },
  181. // 管理员个人中心-产品供求交易状态审核管理
  182. {
  183. path: '/adminCenter/transaction/detail',
  184. name: 'adminCenter_detail',
  185. meta: { title: '产品供求交易状态审核管理详情', isleftarrow: true },
  186. component: () => import('../views/adminCenter/transaction/detail.vue'),
  187. },
  188. ,
  189. ];
  190. const router = new VueRouter({
  191. mode: 'history',
  192. base: process.env.NODE_ENV === 'development' ? '' : process.env.VUE_APP_ROUTER,
  193. routes,
  194. });
  195. router.beforeEach((to, form, next) => {
  196. if (to.name === 'user_index') {
  197. store.commit('setUser');
  198. if (to.name === 'home_index') {
  199. next();
  200. return;
  201. }
  202. let user = store.state.user;
  203. if (user) {
  204. next();
  205. }
  206. //下面是没登录的情况,需要跳转页面到用户未登录页
  207. else next({ name: 'home_index' });
  208. } else {
  209. store.commit('setUser');
  210. next();
  211. }
  212. });
  213. export default router;