diff --git a/packages/effects/access/src/accessible.ts b/packages/effects/access/src/accessible.ts index 7127fb7b..65ce23b3 100644 --- a/packages/effects/access/src/accessible.ts +++ b/packages/effects/access/src/accessible.ts @@ -30,6 +30,9 @@ async function generateAccessible( const root = router.getRoutes().find((item) => item.path === '/'); + // 获取已有的路由名称列表 + const names = root?.children?.map((item) => item.name) ?? []; + // 动态添加到router实例内 accessibleRoutes.forEach((route) => { if (root && !route.meta?.noBasicLayout) { @@ -38,7 +41,10 @@ async function generateAccessible( if (route.children && route.children.length > 0) { delete route.component; } - root.children?.push(route); + // 根据router name判断,如果路由已经存在,则不再添加 + if (!names?.includes(route.name)) { + root.children?.push(route); + } } else { router.addRoute(route); }