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))]; // 添加动态路由