import Vue from 'vue' import VueRouter from 'vue-router' import store from '@/config/config' Vue.use(VueRouter) const originalPush = VueRouter.prototype.push VueRouter.prototype.push = function push(location) { return originalPush.call(this, location).catch(err => err) } const routes = [{ path: '/', redirect: '/projectApplication' }, { name: 'login', path: '/login', component: () => import ('@/views/login.vue'), meta: { isAuth: false,checkPower:true } }, { //成果展示 name: 'resultShowDetail', path: '/resultShowDetail', component: () => import ('@/views/resultShow/resultShowDetail.vue'), meta: { isAuth: true,checkPower:false } }, { //测试 name: 'test', path: '/test', component: () => import ('@/views/test.vue'), meta: { isAuth: true,checkPower:true } }, { //测试2 name: 'Word', path: '/Word', component: () => import ('@/views/Word.vue'), meta: { isAuth: true,checkPower:true } }, { name: 'home', path: '/home', component: () => import ('@/views/home.vue'), meta: { isAuth: true,checkPower:false }, children: [{ //创客活动 name: 'makerActvity', path: '/makerActvity', component: () =>import ('@/views/activityManage/makerActvity.vue'), meta: { isAuth: true,checkPower:false } }, { //创客活动详情 name: 'makerActivityWordDetail', path: '/makerActvityWordDetail', component: () =>import ('@/views/activityManage/makerActivityWordDetail.vue'), meta: { isAuth: true,checkPower:false } }, { //项目立项申请 name: 'projectApplication', path: '/projectApplication', component: () =>import ('@/views/projectApply/projectApplication.vue'), meta: { isAuth: true,checkPower:false } }, { //新学生项目立项申请 name: 'newStudentProjectApply', path: '/newStudentProjectApply', component: () =>import ('@/views/projectApply/newStudentProjectApply.vue'), meta: { isAuth: true,checkPower:false } }, { //新创客活动 name: 'newMarkerActivity', path: '/newMarkerActivity', component: () =>import ('@/views/activityManage/newMarkerActivity'), meta: { isAuth: true,checkPower:false } }, { //新个人创客 name: 'newNomMarkerActivity', path: '/newNomMarkerActivity', component: () =>import ('@/views/activityManage/newNomMarkerActivity.vue'), meta: { isAuth: true,checkPower:false } }, { //项目查看详细 name: 'projectApplicationDetailMain', path: '/projectApplicationDetailMain', component: () =>import ('@/views/projectApply/projectApplicationDetailMain.vue'), meta: { isAuth: true,checkPower:false } }, { //创业公司登记 name: 'firm', path: '/firm', component: () =>import ('@/views/firm.vue'), meta: { isAuth: true,checkPower:true } }, { //创客资金主页面 name: 'makerfund', path: '/makerfund', component: () =>import ('@/views/fundManage/makerfund.vue'), meta: { isAuth: true,checkPower:false } }, { //新创客活动资金申请 name: 'newMarkerfundApply', path: '/newMarkerfundApply', component: () =>import ('@/views/fundManage/newMarkerfundApply.vue'), meta: { isAuth: true,checkPower:false } }, { //新个人创客资金申请 name: 'newNomMarkerFundApply', path: '/newNomMarkerFundApply', component: () =>import ('@/views/fundManage/newNomMarkerFundApply.vue'), meta: { isAuth: true,checkPower:false } }, { //创客资金详情 name: 'makerfundDetails', path: '/makerfundDetails', component: () =>import ('@/views/fundManage/makerfundDetails.vue'), meta: { isAuth: true,checkPower:false } }, { //消息通知 name: 'messageNotification', path: '/messageNotification', component: () =>import ('@/views/messageNotification.vue'), meta: { isAuth: true,checkPower:false } }, { //项目管理 name: 'ProjectManagement', path: '/ProjectManagement', component: () =>import ('@/views/projectManage/ProjectManagement.vue'), meta: { isAuth: true,checkPower:true } }, { //项目管理父查看详情 name: 'ProjectManagementMain', path: '/ProjectManagementMain', component: () =>import ('@/views/projectManage/ProjectManagementMain.vue'), meta: { isAuth: true,checkPower:true } }, { //项目资金管理 name: 'ProjectManagementFundDetail', path: '/ProjectManagementFundDetail', component: () =>import ('@/views/projectManage/ProjectManagementFundDetail.vue'), meta: { isAuth: true,checkPower:true } }, // { //项目资金管理 // name: 'ProjectManagementFund2', // path: '/ProjectManagementFund2', // component: () =>import ('@/views/projectManage/ProjectManagementFund2.vue'), // meta: { isAuth: true } // }, { //项目结项 name: 'projectSettlement', path: '/projectSettlement', component: () =>import ('@/views/projectSettlement/projectSettlement.vue'), meta: { isAuth: true,checkPower:true } }, { //项目结项查看详细 name:"projectSettlementDetailMain", path:"/projectSettlementDetailMain", component:()=>import('@/views/projectSettlement/projectSettlementDetailMain.vue'), meta:{isAuth:true,checkPower:true} }, { //成果展示 name: 'resultsShow', path: '/resultsShow', component: () =>import ('@/views/resultShow/resultsShow.vue'), meta: { isAuth: true,checkPower:true } }, { //数据检测 name: 'echarts', path: '/echarts', component: () =>import ('@/views/echarts/echarts.vue'), meta: { isAuth: true,checkPower:true } }, {//创客空间项目申请 name:"/MakerSpaceApply", path:"/MakerSpaceApply", component:()=>import('@/views/projectApply/MakerSpaceApply.vue'), meta:{isAuth:true,checkPower:false} }, ] } ] const router = new VueRouter({ mode: 'history', base: process.env.BASE_URL, routes, }) router.beforeEach((to,from,next)=>{ if(to.meta.checkPower){ if(store.state.userInfo.type==0){ next(); }else{ router.push('/projectApplication') } }else{ next(); } } ) // router.beforeEach(function(to, from, next) { // if (to.meta.isAuth) { // //页面是否登录 // if (localStorage.getItem("token")) { // //本地存储中是否有token(uid)数据 // next(); //表示已经登录 // } else { // //next可以传递一个路由对象作为参数 表示需要跳转到的页面 // next({ // name: "login" // }); // } // } else { // //表示不需要登录 // next(); //继续往后走 // } // }); export default router