From c6a9b11ff0783bcd81a043a179fbc27f685eee70 Mon Sep 17 00:00:00 2001 From: lxl <lixuliang_hd@126.com> Date: 星期一, 07 十一月 2022 16:19:43 +0800 Subject: [PATCH] 菜单 --- src/router/index.js | 218 ++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 178 insertions(+), 40 deletions(-) diff --git a/src/router/index.js b/src/router/index.js index 29d9e48..f07342e 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -1,48 +1,69 @@ -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 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', @@ -137,6 +158,15 @@ }, }, { + path: '/domainManage', + component: domainManage, + name: 'domainManage', + meta: { + title: '鍊煎煙绠$悊', + requireAuth: true, // 鏍囪瘑璇ヨ矾鐢辨槸鍚﹂渶瑕佺櫥褰� + }, + }, + { path: '/styleManage', component: styleManage, name: 'styleManage', @@ -154,15 +184,7 @@ requireAuth: true, // 鏍囪瘑璇ヨ矾鐢辨槸鍚﹂渶瑕佺櫥褰� }, }, - { - path: '/userManagement', - component: userManagement, - name: 'userManagement', - meta: { - title: '鐢ㄦ埛绠$悊', - requireAuth: true, // 鏍囪瘑璇ヨ矾鐢辨槸鍚﹂渶瑕佺櫥褰� - }, - }, + { path: '/menuSettings', component: menuSettings, @@ -209,30 +231,30 @@ }, }, { - 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', meta: { - title: "浜嬩欢鏃ュ織绠$悊", + title: '浜嬩欢鏃ュ織绠$悊', requireAuth: true, // 鏍囪瘑璇ヨ矾鐢辨槸鍚﹂渶瑕佺櫥褰� }, }, { - path: "/blackwhiteList", + path: '/blackwhiteList', component: blackwhiteList, - name: "blackwhiteList", + name: 'blackwhiteList', meta: { - title: "榛�/鐧藉悕鍗�", + title: '榛�/鐧藉悕鍗�', title: '鐧诲綍鏃ュ織', requireAuth: true, // 鏍囪瘑璇ヨ矾鐢辨槸鍚﹂渶瑕佺櫥褰� }, @@ -273,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, // 鏍囪瘑璇ヨ矾鐢辨槸鍚﹂渶瑕佺櫥褰� + }, + }, ], }, ]; @@ -280,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; -- Gitblit v1.9.3