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