From 50f52beb0ed100105166f62027cd0b15e6b596dc Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期六, 12 十一月 2022 15:02:01 +0800 Subject: [PATCH] 重新 --- src/router/index.js | 191 ++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 176 insertions(+), 15 deletions(-) diff --git a/src/router/index.js b/src/router/index.js index 6ef05d7..74467bf 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -1,24 +1,27 @@ 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 ExportMap from '../views/exportMap/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 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'; //鏁版嵁绠$悊-鍏冩暟鎹鐞� @@ -28,18 +31,39 @@ 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', @@ -47,6 +71,15 @@ component: Synthesis, meta: { title: '缁煎悎灞曠ず', + requireAuth: true, // 鏍囪瘑璇ヨ矾鐢辨槸鍚﹂渶瑕佺櫥褰� + }, + }, + { + path: '/ExportMap', + name: 'ExportMap', + component: ExportMap, + meta: { + title: '鍦ㄧ嚎鍒跺浘', requireAuth: true, // 鏍囪瘑璇ヨ矾鐢辨槸鍚﹂渶瑕佺櫥褰� }, }, @@ -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; -- Gitblit v1.9.3