lxl
2022-11-07 c6a9b11ff0783bcd81a043a179fbc27f685eee70
src/router/index.js
@@ -1,262 +1,397 @@
import Vue from "vue";
import VueRouter from "vue-router";
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 parameterConfiguration from "@/views/maintenance/parameterConfiguration.vue"; //参数配置
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 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 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'; //用户管理-资源管理
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: "/",
    name: "login",
    path: '/login',
    name: 'login',
    component: login,
  },
  {
    path: "/Home",
    name: "Home",
    path: '/',
    name: 'Home',
    component: Home,
    redirect: '/Synthesis',
    children: [
      {
        path: "/Synthesis",
        name: "Synthesis",
        path: '/Synthesis',
        name: 'Synthesis',
        component: Synthesis,
        meta: {
          title: "综合展示",
          title: '综合展示',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: "/Thematic",
        name: "Thematic",
        path: '/Thematic',
        name: 'Thematic',
        component: Thematic,
        meta: {
          title: "专题地图",
          title: '专题地图',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: "/Archive",
        name: "Archive",
        path: '/Archive',
        name: 'Archive',
        component: Archive,
        meta: {
          title: "资料馆",
          title: '资料馆',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: "/catalogueManage",
        name: "catalogueManage",
        path: '/catalogueManage',
        name: 'catalogueManage',
        component: catalogueManage,
        meta: {
          title: "目录管理",
          title: '目录管理',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: "/dataUpdata",
        name: "dataUpdata",
        path: '/dataUpdata',
        name: 'dataUpdata',
        component: dataUpdata,
        meta: {
          title: "数据上传",
          title: '数据上传',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: "/metadataManage",
        path: '/metadataManage',
        component: metadataManage,
        name: "metadataManage",
        name: 'metadataManage',
        meta: {
          title: "元数据管理",
          title: '元数据管理',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: "/dataLoading",
        name: "dataLoading",
        path: '/dataLoading',
        name: 'dataLoading',
        component: dataLoading,
        meta: {
          title: "数据入库",
          title: '数据入库',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: "/SpatialData",
        path: '/SpatialData',
        component: SpatialData,
        name: "SpatialData",
        name: 'SpatialData',
        meta: {
          title: "空间数据",
          title: '空间数据',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: "/versionManage",
        path: '/versionManage',
        component: versionManage,
        name: "versionManage",
        name: 'versionManage',
        meta: {
          title: "版本管理",
          title: '版本管理',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: "/dictionaryManage",
        path: '/dictionaryManage',
        component: dictionaryManage,
        name: "dictionaryManage",
        name: 'dictionaryManage',
        meta: {
          title: "字典管理",
          title: '字典管理',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: "/styleManage",
        path: '/domainManage',
        component: domainManage,
        name: 'domainManage',
        meta: {
          title: '值域管理',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: '/styleManage',
        component: styleManage,
        name: "styleManage",
        name: 'styleManage',
        meta: {
          title: "样式管理",
          title: '样式管理',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: "/addStyle",
        path: '/addStyle',
        component: addStyle,
        name: "addStyle",
        name: 'addStyle',
        meta: {
          title: "样式管理",
          title: '样式管理',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: "/userManagement",
        component: userManagement,
        name: "userManagement",
        meta: {
          title: "用户管理",
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: "/menuSettings",
        path: '/menuSettings',
        component: menuSettings,
        name: "menuSettings",
        name: 'menuSettings',
        meta: {
          title: "菜单设置",
          title: '菜单设置',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: "/rests",
        path: '/rests',
        component: rests,
        name: "rests",
        name: 'rests',
        meta: {
          title: "其他设置",
          title: '其他设置',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: "/authorityManagement",
        path: '/authorityManagement',
        component: authorityManagement,
        name: "authorityManagement",
        name: 'authorityManagement',
        meta: {
          title: "权限管理",
          title: '权限管理',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: "/safetyManagement",
        path: '/safetyManagement',
        component: safetyManagement,
        name: "safetyManagement",
        name: 'safetyManagement',
        meta: {
          title: "安全管理",
          title: '安全管理',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: "/operationLog",
        path: '/operationLog',
        component: operationLog,
        name: "operationLog",
        name: 'operationLog',
        meta: {
          title: "操作日志",
          title: '操作日志',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: "/eventlogManage",
        path: '/eventlogManage',
        component: eventlogManage,
        name: "eventlogManage",
        name: 'eventlogManage',
        meta: {
          title: "事件日志管理",
          title: '事件日志管理',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: "/logLog",
        path: '/logLog',
        path: '/logLog',
        component: logLog,
        name: "logLog",
        name: 'logLog',
        meta: {
          title: "事件日志管理",
          title: '事件日志管理',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: "/blackwhiteList",
        path: '/blackwhiteList',
        component: blackwhiteList,
        name: "blackwhiteList",
        name: 'blackwhiteList',
        meta: {
          title: "黑/白名单",
          title: '黑/白名单',
          title: '登录日志',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: "/systemMonitoring",
        path: '/systemMonitoring',
        component: systemMonitoring,
        name: "systemMonitoring",
        name: 'systemMonitoring',
        meta: {
          title: "系统监控",
          title: '系统监控',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: "/databaseMonitoring",
        path: '/databaseMonitoring',
        component: databaseMonitoring,
        name: "databaseMonitoring",
        name: 'databaseMonitoring',
        meta: {
          title: "数据库监控",
          title: '数据库监控',
          requireAuth: true, // 标识该路由是否需要登录
        },
      },
      {
        path: "/parameterConfiguration",
        component: parameterConfiguration,
        name: "parameterConfiguration",
        path: '/tokentool',
        component: tokentool,
        name: 'tokentool',
        meta: {
          title: "参数配置",
          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, // 标识该路由是否需要登录
        },
      },
      {
        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, // 标识该路由是否需要登录
        },
      },
@@ -267,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;