Quellcode durchsuchen

fix: Update existing route index to prevent 404 on user switch (#6003)

Co-authored-by: tars-macmini <vem@qq.com>
vem vor 4 Monaten
Ursprung
Commit
681c1dc267
1 geänderte Dateien mit 8 neuen und 0 gelöschten Zeilen
  1. 8 0
      packages/effects/access/src/accessible.ts

+ 8 - 0
packages/effects/access/src/accessible.ts

@@ -44,6 +44,14 @@ async function generateAccessible(
       // 根据router name判断,如果路由已经存在,则不再添加
       if (!names?.includes(route.name)) {
         root.children?.push(route);
+      } else {
+        // 找到已存在的路由索引并更新,不更新会造成切换用户时,一级目录未更新,homePath 在二级目录导致的404问题
+        const index = root.children?.findIndex(
+          (item) => item.name === route.name,
+        );
+        if (index !== undefined && index !== -1 && root.children) {
+          root.children[index] = route;
+        }
       }
     } else {
       router.addRoute(route);