import Vue from 'vue' import VueRouter from 'vue-router' import Login from '@/views/login' import Page404 from '@/views/404' import Layout from '@/views/layout/index' Vue.use(VueRouter) const routes = [ { path: '/login', name: 'Login', component: Login, meta: { title: '登录' }, roles: ['admin', 'editor'], hidden: true }, { path: '/404', name: 'Page404', component: Page404, meta: { title: '404' }, roles: ['admin', 'editor'], hidden: true }, { path: '/', redirect: '/home/index', hidden: true }, { path: '/home', component: Layout, meta: { title: '概况', icon: 'iconfont icon-fuwudiqiu' }, redirect: '/home/index', roles: ['admin', 'editor'], children: [ { path: '/home/index', name: 'Home', component: () => import('@/views/layout/components/main/home/index'), meta: { title: '全图概况', icon: 'iconfont icon-fuwudiqiu' }, roles: ['admin', 'editor'] } ] }, { path: '/register', component: Layout, redirect: '/register/index', meta: { title: '飞机管理', icon: 'el-icon-edit-outline' }, roles: ['admin', 'editor'], children: [ { path: '/register/index', component: () => import('@/views/layout/components/main/register/index'), meta: { title: '飞机列表', icon: 'el-icon-tickets' }, roles: ['admin', 'editor'] }, { path: '/register/add/', component: () => import('@/views/layout/components/main/register/add'), meta: { title: '添加飞机', icon: 'el-icon-plus' }, roles: ['admin', 'editor'] }, { path: '/register/edit/:id', component: () => import('@/views/layout/components/main/register/add'), meta: { title: '更新飞机', icon: 'el-icon-edit' }, roles: ['admin', 'editor'], hidden: true }, { path: '/register/crosFrequency', component: () => import('@/views/layout/components/main/register/crosFrequency'), meta: { title: '飞机对频', icon: 'el-icon-link' }, roles: ['admin', 'editor'] } ] }, { path: '/route', component: Layout, redirect: '/route/index', meta: { title: '航线管理', icon: 'iconfont icon-feihangluxian' }, roles: ['admin', 'editor'], children: [ { path: '/route/index', component: () => import('@/views/layout/components/main/route/index'), meta: { title: '航线列表', icon: 'iconfont icon-a-05-1-1jihuazhihanggenzong' }, roles: ['admin', 'editor'] }, { path: '/route/add/', component: () => import('@/views/layout/components/main/route/add'), meta: { title: '设计航线', icon: 'iconfont icon-huizhi' }, roles: ['admin', 'editor'] }, { path: '/route/edit/:id', component: () => import('@/views/layout/components/main/route/add'), meta: { title: '编辑航线', icon: 'iconfont icon-huizhi' }, roles: ['admin', 'editor'], hidden: true } ] }, { path: '/site', component: Layout, redirect: '/site/index', meta: { title: '站点管理', icon: 'iconfont icon-zhandianguanli' }, roles: ['admin', 'editor'], children: [ { path: '/site/index', component: () => import('@/views/layout/components/main/site/index'), meta: { title: '站点列表', icon: 'el-icon-tickets' }, roles: ['admin', 'editor'] }, { path: '/site/add/', component: () => import('@/views/layout/components/main/site/add'), meta: { title: '添加站点', icon: 'el-icon-plus' }, roles: ['admin', 'editor'] }, { path: '/site/edit/:id', component: () => import('@/views/layout/components/main/site/add'), meta: { title: '更新站点', icon: 'el-icon-edit' }, roles: ['admin', 'editor'], hidden: true } ] }, { path: '/planes', component: Layout, redirect: '/planes/index', meta: { title: '无人机', icon: 'iconfont icon-wurenji' }, roles: ['admin', 'editor'], children: [ { path: '/planes/index/:id/:name', // 动态加载路由时加ID参数 name: 'Planes', component: () => import('@/views/layout/components/main/planes/index'), meta: { title: '飞机加载中', icon: 'el-icon-loading' }, roles: ['admin', 'editor'] } ] }, { path: '*', redirect: '/404', roles: ['admin', 'editor'], hidden: true } ] const router = new VueRouter({ mode: 'history', base: process.env.BASE_URL, routes }) export default router