From ca609c0199e9b0fa8de4d7515a5c8eb169bb1278 Mon Sep 17 00:00:00 2001 From: haoxr <1490493387@qq.com> Date: Mon, 20 Mar 2023 23:55:29 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E8=A1=A5=E5=85=85=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Former-commit-id: b30d73862137c06cc8038fa303b65dadf336b06b --- src/store/modules/permission.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/store/modules/permission.ts b/src/store/modules/permission.ts index 906d6ce5..7782f922 100644 --- a/src/store/modules/permission.ts +++ b/src/store/modules/permission.ts @@ -2,7 +2,7 @@ import { RouteRecordRaw } from 'vue-router'; import { defineStore } from 'pinia'; import { constantRoutes } from '@/router'; import { store } from '@/store'; -import { listRoutes } from '@/api/menu'; +import { getRoutesApi } from '@/api/menu'; const modules = import.meta.glob('../../views/**/**.vue'); const Layout = () => import('@/layout/index.vue'); @@ -76,11 +76,18 @@ export const usePermissionStore = defineStore('permission', () => { function setRoutes(newRoutes: RouteRecordRaw[]) { routes.value = constantRoutes.concat(newRoutes); } - + /** + * 生成动态路由 + * + * @param roles 用户角色集合 + * @returns + */ function generateRoutes(roles: string[]) { return new Promise((resolve, reject) => { - listRoutes() + // 接口获取所有路由 + getRoutesApi() .then(({ data: asyncRoutes }) => { + // 根据角色获取有访问权限的路由 const accessedRoutes = filterAsyncRoutes(asyncRoutes, roles); setRoutes(accessedRoutes); resolve(accessedRoutes);