From ba8eb6772e46f8e03d3f7b5aabef37eb4492cf52 Mon Sep 17 00:00:00 2001 From: zhoutianchi <1305666981@qq.com> Date: Tue, 24 Feb 2026 17:13:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BD=93=E5=89=8D=E8=A7=92=E8=89=B2=E6=97=A0?= =?UTF-8?q?=E8=8F=9C=E5=8D=95=E6=97=B6=20=E4=B8=8D=E5=8F=AF=E6=97=A0?= =?UTF-8?q?=E9=99=90=E8=AF=BB=E5=8F=96=E8=8F=9C=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router/backEnd.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/router/backEnd.ts b/src/router/backEnd.ts index bfa851a..e3e29a5 100644 --- a/src/router/backEnd.ts +++ b/src/router/backEnd.ts @@ -41,11 +41,18 @@ export async function initBackEndControlRoutes() { await useUserInfo().setUserInfos(); // 获取路由菜单数据 const res = await getBackEndControlRoutes(); - // 无登录权限时,添加判断 + const menuList = res.data || []; + // 无登录权限时仍走后续流程,用 dynamicRoutes 作为子路由并写入 store,避免 routesList 一直为空导致 beforeEach 无限请求 // https://gitee.com/lyt-top/vue-next-admin/issues/I64HVO - if ((res.data || []).length <= 0) return Promise.resolve(true); + if (menuList.length <= 0) { + useRequestOldRoutes().setRequestOldRoutes([]); + baseRoutes[0].children = [...dynamicRoutes, ...(await backEndComponent([]) || [])]; + await setAddRoute(); + await setFilterMenuAndCacheTagsViewRoutes(); + return Promise.resolve(true); + } // 存储接口原始路由(未处理component),根据需求选择使用 - useRequestOldRoutes().setRequestOldRoutes(JSON.parse(JSON.stringify(res.data))); + useRequestOldRoutes().setRequestOldRoutes(JSON.parse(JSON.stringify(menuList))); // 处理路由(component),替换 baseRoutes(/@/router/route)第一个顶级 children 的路由 baseRoutes[0].children = [...dynamicRoutes, ...(await backEndComponent(res.data))]; // 添加动态路由