import Vue from 'vue' import VueRouter from 'vue-router' // const files = require.context('@/views', true, /-router\.js$/) // let allRouter = []; // // 匹配成功的名字数组 // files.keys().map(key => { // allRouter = allRouter.concat(files(key).default) // }) // allRouter.sort((a, b) => { // return a.meta.sort - b.meta.sort // }) // console.log(allRouter) 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: { name: 'realTimeMonitoring' }, component: () => import('@/views/index'), children: [ { path: 'realTimeMonitoring', name: 'realTimeMonitoring', meta: { icon: 'desktop', name: '实时视频流' }, component: () => import('@/views/realTimeMonitoring/index'), }, { path: 'historyMonitoring', name: 'historyMonitoring', meta: { icon: 'line-chart', name: '历史数据' }, component: () => import('@/views/historyMonitoring/index') }, { path: 'alarmVideos', name: 'alarmVideos', meta: { icon: 'alert', name: '告警视频' }, component: () => import('@/views/alarmVideos/index') }, //设置二级菜单 // { // path: 'checkManage', // name: 'checkManage', // meta: { // icon: 'form', // name: '盘点管理', // unfold:true // }, // children: [ // { // path: 'checkManage', // name: 'checkManage', // meta: { // name: '盘点管理' // }, // component: () => import('@/views/checkManage/index'), // }, // { // path: 'checkOperation', // name: 'checkOperation', // meta: { // name: '盘点操作' // }, // component: () => import('@/views/checkManage/checkOperation'), // }, // ] // }, { path: 'checkManage', name: 'checkManage', meta: { icon: 'form', name: '盘点管理', }, component: () => import('@/views/checkManage/index') }, { path: 'roadwayManage', name: 'roadwayManage', meta: { icon: 'build', name: '巷道管理' }, component: () => import('@/views/roadwayManage/index') }, { path: 'cameraManage', name: 'cameraManage', meta: { icon: 'video-camera', name: '球机管理' }, component: () => import('@/views/cameraManage/index') }, { path: 'center', name: 'center', meta: { name: '个人中心' }, component: () => import('@/views/center') } ] }, { path: '/login', name: 'login', component: () => import('../views/login.vue') }, { path: '/guide', name: 'guide', component: () => import('../views/guide.vue') }, { path: '*', name: '404', component: () => import('../views/404.vue') } ] const router = new VueRouter({ routes }) router.beforeEach((to, from, next) => { next() // let userInfo = JSON.parse(sessionStorage.getItem('userInfo') || '{}') // // 校验是否登录 // if (userInfo.id) { // // 匹配不到 404 // if (!to.name) next(); // // 权限 // if (userInfo.permissionList.some((item) => { // return item.rights === to.name // })) { // next() // } else { // if (to.name === 'login') { // next() // } else { // Vue.prototype.$message.info('没有权限') // next(false) // } // } // } else { // if (to.name === 'login') { // next() // } else if (to.name !== 'login') { // Vue.prototype.$message.info('请先登录') // next('/login') // } else { // next('/login') // } // } }) export default router