lxl
2022-11-07 c6a9b11ff0783bcd81a043a179fbc27f685eee70
src/router/index.js
@@ -1,45 +1,69 @@
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 userManagement from '@/views/maintenance/userManagement.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 tokentool from '@/views/maintenance/tokentool.vue'; //token 工具
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 domainManage from '../views/datamanage/domainManage.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'; //用户管理-资源管理
import userRoleAuthorization from '@/views/AuthorizationManagement/userRoleAuthorization.vue'; //系统管理-用户角色授权
import menuRoleAuthorization from '@/views/AuthorizationManagement/menuRoleAuthorization.vue'; //系统管理-菜单权限授权
import roleResAuthorization from '@/views/AuthorizationManagement/roleResAuthorization.vue'; //系统管理-角色资源授权
import roleMenuAuthorization from '@/views/AuthorizationManagement/roleMenuAuthorization.vue'; //系统管理-角色菜单授权
const originalPush = VueRouter.prototype.push;
VueRouter.prototype.push = function push(location) {
  return originalPush.call(this, location).catch((err) => err);
};
// 群组管理
Vue.use(VueRouter);
const routes = [
  {
    path: '/',
    path: '/login',
    name: 'login',
    component: login,
  },
  {
    path: '/Home',
    path: '/',
    name: 'Home',
    component: Home,
    redirect: '/Synthesis',
    children: [
      {
        path: '/Synthesis',
@@ -134,6 +158,15 @@
        },
      },
      {
        path: '/domainManage',
        component: domainManage,
        name: 'domainManage',
        meta: {
          title: '值域管理',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: '/styleManage',
        component: styleManage,
        name: 'styleManage',
@@ -151,15 +184,7 @@
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: '/userManagement',
        component: userManagement,
        name: 'userManagement',
        meta: {
          title: '用户管理',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: '/menuSettings',
        component: menuSettings,
@@ -206,10 +231,30 @@
        },
      },
      {
        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, // 标识该路由是否需要登录
        },
@@ -250,6 +295,106 @@
          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, // 标识该路由是否需要登录
        },
      },
      {
        path: '/userRoleAuthorization',
        component: userRoleAuthorization,
        name: 'userRoleAuthorization',
        meta: {
          title: '用户角色授权',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: '/menuRoleAuthorization',
        component: menuRoleAuthorization,
        name: 'menuRoleAuthorization',
        meta: {
          title: '菜单权限授权',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: '/roleResAuthorization',
        component: roleResAuthorization,
        name: 'roleResAuthorization',
        meta: {
          title: '菜单权限授权',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: '/roleMenuAuthorization',
        component: roleMenuAuthorization,
        name: 'roleMenuAuthorization',
        meta: {
          title: '菜单权限授权',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
    ],
  },
];
@@ -257,5 +402,21 @@
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;