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 |   91 ++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 88 insertions(+), 3 deletions(-)

diff --git a/src/router/index.js b/src/router/index.js
index 01e68dd..74467bf 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -1,10 +1,12 @@
 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'; //鏉冮檺绠$悊
@@ -35,20 +37,33 @@
 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',
@@ -56,6 +71,15 @@
         component: Synthesis,
         meta: {
           title: '缁煎悎灞曠ず',
+          requireAuth: true, // 鏍囪瘑璇ヨ矾鐢辨槸鍚﹂渶瑕佺櫥褰�
+        },
+      },
+      {
+        path: '/ExportMap',
+        name: 'ExportMap',
+        component: ExportMap,
+        meta: {
+          title: '鍦ㄧ嚎鍒跺浘',
           requireAuth: true, // 鏍囪瘑璇ヨ矾鐢辨槸鍚﹂渶瑕佺櫥褰�
         },
       },
@@ -326,6 +350,51 @@
           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, // 鏍囪瘑璇ヨ矾鐢辨槸鍚﹂渶瑕佺櫥褰�
+        },
+      },
     ],
   },
 ];
@@ -333,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