import Vue from 'vue'; import VueRouter from 'vue-router'; import { getToken } from '@/utils/auth'; // get token from cookie import Home from '../views/Home.vue'; import login from '../components/login'; import Synthesis from '../views/Synthesis/index.vue'; //综合展示 import Thematic from '../views/Thematic/index.vue'; //专题地图 import Archive from '../views/Archive/index.vue'; //资料馆 import menuSettings from '@/views/maintenance/menuSettings.vue'; //菜单设置 import rests from '@/views/maintenance/rests.vue'; //其他 import authorityManagement from '@/views/maintenance/authorityManagement.vue'; //权限管理 import safetyManagement from '@/views/maintenance/safetyManagement.vue'; //安全管理 import operationLog from '@/views/maintenance/operationLog.vue'; //操作日志 import eventlogManage from '@/views/maintenance/eventlogManage.vue'; //事件日志管理 import blackwhiteList from '@/views/maintenance/blackwhiteList.vue'; //登录日志 import logLog from '@/views/maintenance/logLog.vue'; //登录日志 import systemMonitoring from '@/views/maintenance/systemMonitoring.vue'; //系统监控 import databaseMonitoring from '@/views/maintenance/databaseMonitoring.vue'; //数据库监控 import parameterConfiguration from '@/views/maintenance/parameterConfiguration.vue'; //参数配置 import tokentool from '@/views/maintenance/tokentool.vue'; //token 工具 //数据管理模块 import catalogueManage from '../views/datamanage/catalogueManage.vue'; //数据管理-目录管理 import dataUpdata from '../views/datamanage/dataUpdata.vue'; //数据管理-数据上传 import dataLoading from '../views/datamanage/dataLoading.vue'; //数据管理-数据入库 import metadataManage from '../views/datamanage/metadataManage.vue'; //数据管理-元数据管理 import SpatialData from '../views/datamanage/SpatialData.vue'; //数据管理-空间数据 import versionManage from '../views/datamanage/versionManage.vue'; //数据管理-版本管理 import dictionaryManage from '../views/datamanage/dictionaryManage.vue'; //数据管理-字典管理 import styleManage from '../views/datamanage/styleManage.vue'; //数据管理-样式管理 import addStyle from '../views/datamanage/addStyle.vue'; //数据管理-样式管理-添加样式 import userInfoManage from '../views/userManage/userInfoManage.vue'; // 用户管理模块 import orgManage from '../views/userManage/orgManage.vue'; // 用户管理模块 import userAuditing from '../views/userManage/userAuditing.vue'; // 用户管理模块 import roleManage from '../views/userManage/roleManage.vue'; // 用户管理模块 import groupManage from '../views/userManage/groupManage.vue'; // 用户管理模块 import authorityManage from '@/views/userManage/authorityManage.vue'; //用户管理-权限管理 import resourceManage from '@/views/userManage/resourceManage.vue'; //用户管理-资源管理 // 群组管理 Vue.use(VueRouter); const routes = [ { path: '/login', name: 'login', component: login, }, { path: '/', name: 'Home', component: Home, redirect: '/Synthesis', children: [ { path: '/Synthesis', name: 'Synthesis', component: Synthesis, meta: { title: '综合展示', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/Thematic', name: 'Thematic', component: Thematic, meta: { title: '专题地图', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/Archive', name: 'Archive', component: Archive, meta: { title: '资料馆', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/catalogueManage', name: 'catalogueManage', component: catalogueManage, meta: { title: '目录管理', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/dataUpdata', name: 'dataUpdata', component: dataUpdata, meta: { title: '数据上传', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/metadataManage', component: metadataManage, name: 'metadataManage', meta: { title: '元数据管理', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/dataLoading', name: 'dataLoading', component: dataLoading, meta: { title: '数据入库', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/SpatialData', component: SpatialData, name: 'SpatialData', meta: { title: '空间数据', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/versionManage', component: versionManage, name: 'versionManage', meta: { title: '版本管理', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/dictionaryManage', component: dictionaryManage, name: 'dictionaryManage', meta: { title: '字典管理', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/styleManage', component: styleManage, name: 'styleManage', meta: { title: '样式管理', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/addStyle', component: addStyle, name: 'addStyle', meta: { title: '样式管理', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/menuSettings', component: menuSettings, name: 'menuSettings', meta: { title: '菜单设置', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/rests', component: rests, name: 'rests', meta: { title: '其他设置', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/authorityManagement', component: authorityManagement, name: 'authorityManagement', meta: { title: '权限管理', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/safetyManagement', component: safetyManagement, name: 'safetyManagement', meta: { title: '安全管理', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/operationLog', component: operationLog, name: 'operationLog', meta: { title: '操作日志', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/eventlogManage', component: eventlogManage, name: 'eventlogManage', meta: { title: '事件日志管理', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/logLog', path: '/logLog', component: logLog, name: 'logLog', meta: { title: '事件日志管理', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/blackwhiteList', component: blackwhiteList, name: 'blackwhiteList', meta: { title: '黑/白名单', title: '登录日志', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/systemMonitoring', component: systemMonitoring, name: 'systemMonitoring', meta: { title: '系统监控', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/databaseMonitoring', component: databaseMonitoring, name: 'databaseMonitoring', meta: { title: '数据库监控', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/tokentool', component: tokentool, name: 'tokentool', meta: { title: 'Token工具', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/parameterConfiguration', component: parameterConfiguration, name: 'parameterConfiguration', meta: { title: '参数配置', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/userInfoManage', component: userInfoManage, name: 'userInfoManage', meta: { title: '用户信息管理', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/orgManage', component: orgManage, name: 'orgManage', meta: { title: '组织机构管理', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/userAuditing', component: userAuditing, name: 'userAuditing', meta: { title: '用户审核', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/roleManage', component: roleManage, name: 'roleManage', meta: { title: '角色管理', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/groupManage', component: groupManage, name: 'groupManage', meta: { title: '群组管理', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/authorityManage', component: authorityManage, name: 'authorityManage', meta: { title: '权限管理', requireAuth: true, // 标识该路由是否需要登录 }, }, { path: '/resourceManage', component: resourceManage, name: 'resourceManage', meta: { title: '资源管理', requireAuth: true, // 标识该路由是否需要登录 }, }, ], }, ]; const router = new VueRouter({ routes, }); //路由守卫 router.beforeEach((to, from, next) => { next(); if (to.matched.some((auth) => auth.meta.requireAuth)) { // 获取token let token = getToken(); if (token) { next(); } else { next({ path: '/login', }); } } else { next(); } }); export default router;