Sfoglia il codice sorgente

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

Co-authored-by: tars-macmini <vem@qq.com>
vem 1 settimana fa
parent
commit
681c1dc267
1 ha cambiato i file con 8 aggiunte e 0 eliminazioni
  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);