From 681c1dc267e4deb6634e40ef5b7eab6387e10e11 Mon Sep 17 00:00:00 2001 From: vem Date: Mon, 28 Apr 2025 18:19:47 +0800 Subject: [PATCH] fix: Update existing route index to prevent 404 on user switch (#6003) Co-authored-by: tars-macmini --- packages/effects/access/src/accessible.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/effects/access/src/accessible.ts b/packages/effects/access/src/accessible.ts index 65ce23b3..c6804fa8 100644 --- a/packages/effects/access/src/accessible.ts +++ b/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);