|
@@ -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);
|
|
|
}
|