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 | 164 +++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 130 insertions(+), 34 deletions(-) diff --git a/src/router/index.js b/src/router/index.js index 91d2d47..74467bf 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -1,21 +1,23 @@ -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 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 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 parameterConfiguration from '@/views/maintenance/parameterConfiguration.vue'; //鍙傛暟閰嶇疆 import tokentool from '@/views/maintenance/tokentool.vue'; //token 宸ュ叿 //鏁版嵁绠$悊妯″潡 @@ -29,25 +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 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', @@ -55,6 +71,15 @@ component: Synthesis, meta: { title: '缁煎悎灞曠ず', + requireAuth: true, // 鏍囪瘑璇ヨ矾鐢辨槸鍚﹂渶瑕佺櫥褰� + }, + }, + { + path: '/ExportMap', + name: 'ExportMap', + component: ExportMap, + meta: { + title: '鍦ㄧ嚎鍒跺浘', requireAuth: true, // 鏍囪瘑璇ヨ矾鐢辨槸鍚﹂渶瑕佺櫥褰� }, }, @@ -206,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, // 鏍囪瘑璇ヨ矾鐢辨槸鍚﹂渶瑕佺櫥褰� }, @@ -306,12 +331,67 @@ 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, // 鏍囪瘑璇ヨ矾鐢辨槸鍚﹂渶瑕佺櫥褰� }, }, @@ -322,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