index.js 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. import Vue from 'vue'
  2. import VueRouter from 'vue-router'
  3. import store from '@/config/config'
  4. Vue.use(VueRouter)
  5. const originalPush = VueRouter.prototype.push
  6. VueRouter.prototype.push = function push(location) {
  7. return originalPush.call(this, location).catch(err => err)
  8. }
  9. const routes = [{
  10. path: '/',
  11. redirect: '/projectApplication'
  12. },
  13. {
  14. name: 'login',
  15. path: '/login',
  16. component: () =>
  17. import ('@/views/login.vue'),
  18. meta: { isAuth: false,checkPower:true }
  19. },
  20. { //成果展示
  21. name: 'resultShowDetail',
  22. path: '/resultShowDetail',
  23. component: () =>
  24. import ('@/views/resultShow/resultShowDetail.vue'),
  25. meta: { isAuth: true,checkPower:false }
  26. },
  27. { //测试
  28. name: 'test',
  29. path: '/test',
  30. component: () =>
  31. import ('@/views/test.vue'),
  32. meta: { isAuth: true,checkPower:true }
  33. },
  34. { //测试2
  35. name: 'Word',
  36. path: '/Word',
  37. component: () =>
  38. import ('@/views/Word.vue'),
  39. meta: { isAuth: true,checkPower:true }
  40. },
  41. {
  42. name: 'home',
  43. path: '/home',
  44. component: () =>
  45. import ('@/views/home.vue'),
  46. meta: { isAuth: true,checkPower:false },
  47. children: [{ //创客活动
  48. name: 'makerActvity',
  49. path: '/makerActvity',
  50. component: () =>import ('@/views/activityManage/makerActvity.vue'),
  51. meta: { isAuth: true,checkPower:false }
  52. },
  53. { //创客活动详情
  54. name: 'makerActivityWordDetail',
  55. path: '/makerActvityWordDetail',
  56. component: () =>import ('@/views/activityManage/makerActivityWordDetail.vue'),
  57. meta: { isAuth: true,checkPower:false }
  58. },
  59. { //项目立项申请
  60. name: 'projectApplication',
  61. path: '/projectApplication',
  62. component: () =>import ('@/views/projectApply/projectApplication.vue'),
  63. meta: { isAuth: true,checkPower:false }
  64. },
  65. { //新学生项目立项申请
  66. name: 'newStudentProjectApply',
  67. path: '/newStudentProjectApply',
  68. component: () =>import ('@/views/projectApply/newStudentProjectApply.vue'),
  69. meta: { isAuth: true,checkPower:false }
  70. },
  71. { //新创客活动
  72. name: 'newMarkerActivity',
  73. path: '/newMarkerActivity',
  74. component: () =>import ('@/views/activityManage/newMarkerActivity'),
  75. meta: { isAuth: true,checkPower:false }
  76. },
  77. { //新个人创客
  78. name: 'newNomMarkerActivity',
  79. path: '/newNomMarkerActivity',
  80. component: () =>import ('@/views/activityManage/newNomMarkerActivity.vue'),
  81. meta: { isAuth: true,checkPower:false }
  82. },
  83. { //项目查看详细
  84. name: 'projectApplicationDetailMain',
  85. path: '/projectApplicationDetailMain',
  86. component: () =>import ('@/views/projectApply/projectApplicationDetailMain.vue'),
  87. meta: { isAuth: true,checkPower:false }
  88. },
  89. { //创业公司登记
  90. name: 'firm',
  91. path: '/firm',
  92. component: () =>import ('@/views/firm.vue'),
  93. meta: { isAuth: true,checkPower:true }
  94. },
  95. { //创客资金主页面
  96. name: 'makerfund',
  97. path: '/makerfund',
  98. component: () =>import ('@/views/fundManage/makerfund.vue'),
  99. meta: { isAuth: true,checkPower:false }
  100. },
  101. { //新创客活动资金申请
  102. name: 'newMarkerfundApply',
  103. path: '/newMarkerfundApply',
  104. component: () =>import ('@/views/fundManage/newMarkerfundApply.vue'),
  105. meta: { isAuth: true,checkPower:false }
  106. },
  107. { //新个人创客资金申请
  108. name: 'newNomMarkerFundApply',
  109. path: '/newNomMarkerFundApply',
  110. component: () =>import ('@/views/fundManage/newNomMarkerFundApply.vue'),
  111. meta: { isAuth: true,checkPower:false }
  112. },
  113. { //创客资金详情
  114. name: 'makerfundDetails',
  115. path: '/makerfundDetails',
  116. component: () =>import ('@/views/fundManage/makerfundDetails.vue'),
  117. meta: { isAuth: true,checkPower:false }
  118. },
  119. { //消息通知
  120. name: 'messageNotification',
  121. path: '/messageNotification',
  122. component: () =>import ('@/views/messageNotification.vue'),
  123. meta: { isAuth: true,checkPower:false }
  124. },
  125. { //项目管理
  126. name: 'ProjectManagement',
  127. path: '/ProjectManagement',
  128. component: () =>import ('@/views/projectManage/ProjectManagement.vue'),
  129. meta: { isAuth: true,checkPower:true }
  130. },
  131. { //项目管理父查看详情
  132. name: 'ProjectManagementMain',
  133. path: '/ProjectManagementMain',
  134. component: () =>import ('@/views/projectManage/ProjectManagementMain.vue'),
  135. meta: { isAuth: true,checkPower:true }
  136. },
  137. { //项目资金管理
  138. name: 'ProjectManagementFundDetail',
  139. path: '/ProjectManagementFundDetail',
  140. component: () =>import ('@/views/projectManage/ProjectManagementFundDetail.vue'),
  141. meta: { isAuth: true,checkPower:true }
  142. },
  143. // { //项目资金管理
  144. // name: 'ProjectManagementFund2',
  145. // path: '/ProjectManagementFund2',
  146. // component: () =>import ('@/views/projectManage/ProjectManagementFund2.vue'),
  147. // meta: { isAuth: true }
  148. // },
  149. { //项目结项
  150. name: 'projectSettlement',
  151. path: '/projectSettlement',
  152. component: () =>import ('@/views/projectSettlement/projectSettlement.vue'),
  153. meta: { isAuth: true,checkPower:true }
  154. },
  155. { //项目结项查看详细
  156. name:"projectSettlementDetailMain",
  157. path:"/projectSettlementDetailMain",
  158. component:()=>import('@/views/projectSettlement/projectSettlementDetailMain.vue'),
  159. meta:{isAuth:true,checkPower:true}
  160. },
  161. { //成果展示
  162. name: 'resultsShow',
  163. path: '/resultsShow',
  164. component: () =>import ('@/views/resultShow/resultsShow.vue'),
  165. meta: { isAuth: true,checkPower:true }
  166. },
  167. { //数据检测
  168. name: 'echarts',
  169. path: '/echarts',
  170. component: () =>import ('@/views/echarts/echarts.vue'),
  171. meta: { isAuth: true,checkPower:true }
  172. },
  173. {//创客空间项目申请
  174. name:"/MakerSpaceApply",
  175. path:"/MakerSpaceApply",
  176. component:()=>import('@/views/projectApply/MakerSpaceApply.vue'),
  177. meta:{isAuth:true,checkPower:false}
  178. },
  179. ]
  180. }
  181. ]
  182. const router = new VueRouter({
  183. mode: 'history',
  184. base: process.env.BASE_URL,
  185. routes,
  186. })
  187. router.beforeEach((to,from,next)=>{
  188. if(to.meta.checkPower){
  189. if(store.state.userInfo.type==0){
  190. next();
  191. }else{
  192. router.push('/projectApplication')
  193. }
  194. }else{
  195. next();
  196. }
  197. }
  198. )
  199. // router.beforeEach(function(to, from, next) {
  200. // if (to.meta.isAuth) {
  201. // //页面是否登录
  202. // if (localStorage.getItem("token")) {
  203. // //本地存储中是否有token(uid)数据
  204. // next(); //表示已经登录
  205. // } else {
  206. // //next可以传递一个路由对象作为参数 表示需要跳转到的页面
  207. // next({
  208. // name: "login"
  209. // });
  210. // }
  211. // } else {
  212. // //表示不需要登录
  213. // next(); //继续往后走
  214. // }
  215. // });
  216. export default router