接口返回数据格式:
应用场景及项目需求:
1.管理员用户有独有可以访问的路由模块
2.需根据用户所拥有Module显示对应模块
import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
/* Layout */
import Layout from '@/layout'
// 定义角色
export const ROLE_ADMIN = 1
export const ROLE_USER = 2
/**
* constantRoutes
* a base page that does not have permission requirements
* all roles can be accessed
*/
export const constantRoutes = [
{
path: '/login',
component: () => import('@/views/login/index'),
hidden: true
},
{
path: '/404',
component: () => import('@/views/404'),
hidden: true
},
{
path: '/',
component: Layout,
redirect: '/home',
children: [{
path: 'home',
name: 'home',
component: () => import('@/views/home/index'),
meta: {
title: '首页', icon: 'dashboard' }
}]
},
]
/**
* asyncRoutes
* the routes that need to be dynamically loaded based on user roles
*/
export const asyncRoutes = [
{
path: '/dose',
component: Layout,
redirect: '/dose/doseAnalysisList',
name: 'dose',
meta: {
title: '放射剂量估算分析', icon: 'edit', moduleKey: 1 },
children: [
{
path: 'doseAnalysisList',
name: 'doseAnalysisList',
component: () => import('@/views/dose/doseAnalysisList'),
meta: {
title: '放射剂量估算分析'}
},
{
path: 'estimateList',
name: 'estimateList',
component: () => import('@/views/dose/estimateList'),
meta: {
title: '剂量估算'
},
hidden: true
},
]
},
{
path: '/science',
component: Layout,
redirect: '/science/scienceList',
name: 'science',
meta: {
title: '放射防护科研分析', icon: 'calculator', moduleKey: 2 },//el-icon-tickets
children: [
{
path: 'scienceList'