From 5186227a467bd34dc253e64b23bc96d3a07bb399 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期三, 17 十一月 2021 17:39:53 +0800
Subject: [PATCH] 添加用户权限控制

---
 src/utils/handleRoutes.js |   38 +++++++++++++++++++-------------------
 1 files changed, 19 insertions(+), 19 deletions(-)

diff --git a/src/utils/handleRoutes.js b/src/utils/handleRoutes.js
index c95ae92..62248c4 100644
--- a/src/utils/handleRoutes.js
+++ b/src/utils/handleRoutes.js
@@ -7,23 +7,23 @@
 export function convertRouter(asyncRoutes) {
   return asyncRoutes.map((route) => {
     if (route.component) {
-      if (route.component === 'Layout') {
-        route.component = (resolve) => require(['@/layouts'], resolve)
-      } else if (route.component === 'EmptyLayout') {
+      if (route.component === "Layout") {
+        route.component = (resolve) => require(["@/layouts"], resolve);
+      } else if (route.component === "EmptyLayout") {
         route.component = (resolve) =>
-          require(['@/layouts/EmptyLayout'], resolve)
+          require(["@/layouts/EmptyLayout"], resolve);
       } else {
-        const index = route.component.indexOf('views')
+        const index = route.component.indexOf("views");
         const path =
-          index > 0 ? route.component.slice(index) : `views/${route.component}`
-        route.component = (resolve) => require([`@/${path}`], resolve)
+          index > 0 ? route.component.slice(index) : `views/${route.component}`;
+        route.component = (resolve) => require([`@/${path}`], resolve);
       }
     }
     if (route.children && route.children.length)
-      route.children = convertRouter(route.children)
-    if (route.children && route.children.length === 0) delete route.children
-    return route
-  })
+      route.children = convertRouter(route.children);
+    if (route.children && route.children.length === 0) delete route.children;
+    return route;
+  });
 }
 
 /**
@@ -35,9 +35,9 @@
  */
 function hasPermission(permissions, route) {
   if (route.meta && route.meta.permissions) {
-    return permissions.some((role) => route.meta.permissions.includes(role))
+    return permissions.some((role) => route.meta.permissions.includes(role));
   } else {
-    return true
+    return true;
   }
 }
 
@@ -49,15 +49,15 @@
  * @returns {[]}
  */
 export function filterAsyncRoutes(routes, permissions) {
-  const finallyRoutes = []
+  const finallyRoutes = [];
   routes.forEach((route) => {
-    const item = { ...route }
+    const item = { ...route };
     if (hasPermission(permissions, item)) {
       if (item.children) {
-        item.children = filterAsyncRoutes(item.children, permissions)
+        item.children = filterAsyncRoutes(item.children, permissions);
       }
-      finallyRoutes.push(item)
+      finallyRoutes.push(item);
     }
-  })
-  return finallyRoutes
+  });
+  return finallyRoutes;
 }

--
Gitblit v1.8.0