Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

4 роки тому
4 роки тому
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. import Vue from 'vue'
  2. import Router from 'vue-router'
  3. import constants from '../common/constants'
  4. Vue.use(Router)
  5. const router = new Router({
  6. mode: 'history',
  7. routes: [{
  8. path: '/',
  9. name: 'login',
  10. component: reslove => require(['@/views/login'], reslove)
  11. },
  12. {
  13. path: '/index',
  14. name: 'index',
  15. component: reslove => require(['@/views/main_web/index'], reslove)
  16. },
  17. {
  18. path: '/projnotice',
  19. name: 'projnotice',
  20. component: reslove => require(['@/views/main_web/projnotice'], reslove)
  21. },
  22. {
  23. path: '/email',
  24. name: 'email',
  25. component: reslove => require(['@/views/components_web/head/email'], reslove)
  26. },
  27. {
  28. path: '/workspace',
  29. name: 'workspace',
  30. component: reslove => require(['@/views/main_web/workspace'], reslove)
  31. },
  32. {
  33. path: '/project',
  34. name: 'project',
  35. component: reslove => require(['@/views/main_web/project'], reslove)
  36. },
  37. {
  38. path: '/recycle',
  39. name: 'recycle',
  40. component: reslove => require(['@/views/main_web/recycle'], reslove)
  41. },
  42. {
  43. path: '/search',
  44. name: 'search',
  45. component: reslove => require(['@/views/main_web/search'], reslove)
  46. },
  47. {
  48. path: '/cloud',
  49. name: 'cloud',
  50. component: reslove => require(['@/views/main_web/cloud'], reslove)
  51. },
  52. {
  53. path: '/cloudrecycle',
  54. name: 'cloudrecycle',
  55. component: reslove => require(['@/views/main_web/cloudrecycle'], reslove)
  56. },
  57. {
  58. path: '/cloudsource',
  59. name: 'cloudsource',
  60. component: reslove => require(['@/views/main_web/cloudsource'], reslove)
  61. },
  62. // 探索者后台
  63. {
  64. path: '/company',
  65. name: 'company',
  66. component: reslove => require(['@/views/manage_company/message'], reslove)
  67. },
  68. {
  69. path: '/company/message',
  70. name: 'company_message',
  71. component: reslove => require(['@/views/manage_company/message_detail'], reslove)
  72. },
  73. {
  74. path: '/company/user',
  75. name: 'company_user',
  76. component: reslove => require(['@/views/manage_company/user'], reslove)
  77. },
  78. {
  79. path: '/company/project',
  80. name: 'company_project',
  81. component: reslove => require(['@/views/manage_company/project'], reslove)
  82. },
  83. {
  84. path: '/company/template',
  85. name: 'company_template',
  86. component: reslove => require(['@/views/manage_company/template'], reslove)
  87. },
  88. {
  89. path: '/company/template/detail',
  90. name: 'company_template_detail',
  91. component: reslove => require(['@/views/manage_company/template_detail'], reslove)
  92. },
  93. {
  94. path: '/company/template/market',
  95. name: 'company_template_market',
  96. component: reslove => require(['@/views/manage_company/template_market'], reslove)
  97. },
  98. {
  99. path: '/company/setting',
  100. name: 'company_setting',
  101. component: reslove => require(['@/views/manage_company/setting'], reslove)
  102. },
  103. {
  104. path: '/company/app',
  105. name: 'company_app',
  106. component: reslove => require(['@/views/manage_company/app'], reslove)
  107. },
  108. // 探索者总后台
  109. {
  110. path: '/system',
  111. name: 'system',
  112. component: reslove => require(['@/views/manage_system/index'], reslove)
  113. },
  114. {
  115. path: '/system/template',
  116. name: 'system_template',
  117. component: reslove => require(['@/views/manage_system/template'], reslove)
  118. },
  119. {
  120. path: '/system/runmanage',
  121. name: 'system_runmanage',
  122. component: reslove => require(['@/views/manage_system/runmanage'], reslove)
  123. },
  124. {
  125. path: '/system/template/matrix',
  126. name: 'system_template_matrix',
  127. component: reslove => require(['@/views/manage_system/template_matrix'], reslove)
  128. },
  129. {
  130. path: '/system/template/mind',
  131. name: 'system_template_mind',
  132. component: reslove => require(['@/views/manage_system/template_mind'], reslove)
  133. },
  134. {
  135. path: '/system/template/tempfile',
  136. name: 'system_template_file',
  137. component: reslove => require(['@/views/manage_system/template_file'], reslove)
  138. },
  139. {
  140. path: '/system/appcenter',
  141. name: 'system_appcenter',
  142. component: reslove => require(['@/views/manage_system/appcenter'], reslove)
  143. },
  144. {
  145. path: '/system/appinfo',
  146. name: 'system_appinfo',
  147. component: reslove => require(['@/views/manage_system/appinfo'], reslove)
  148. },
  149. {
  150. path: '/system/setting',
  151. name: 'system_setting',
  152. component: reslove => require(['@/views/manage_system/setting'], reslove)
  153. },
  154. // 页面未找到时提示(这个页面要放在最后)
  155. {
  156. path: '*',
  157. name: 'notfound',
  158. component: reslove => require(['@/views/components_web/notFound/notFound'], reslove)
  159. }
  160. ]
  161. })
  162. // 添加路由验证
  163. router.beforeEach((to, from, next) => {
  164. if (to.path === '/') {
  165. next()
  166. } else {
  167. if (!sessionStorage.getItem('userId')) {
  168. next({
  169. path: '/'
  170. })
  171. } else {
  172. next()
  173. }
  174. }
  175. })
  176. // 导航后置守卫,可以在确定导航到目标页面时再更改title
  177. router.afterEach((to, from) => {
  178. window.document.title = constants[to.name]
  179. })
  180. export default router