当前角色无菜单时 不可无限读取菜单

This commit is contained in:
zhoutianchi
2026-02-24 17:13:05 +08:00
parent b971e6de52
commit ba8eb6772e

View File

@@ -41,11 +41,18 @@ export async function initBackEndControlRoutes() {
await useUserInfo().setUserInfos(); await useUserInfo().setUserInfos();
// 获取路由菜单数据 // 获取路由菜单数据
const res = await getBackEndControlRoutes(); const res = await getBackEndControlRoutes();
// 无登录权限时,添加判断 const menuList = res.data || [];
// 无登录权限时仍走后续流程,用 dynamicRoutes 作为子路由并写入 store避免 routesList 一直为空导致 beforeEach 无限请求
// https://gitee.com/lyt-top/vue-next-admin/issues/I64HVO // 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根据需求选择使用 // 存储接口原始路由未处理component根据需求选择使用
useRequestOldRoutes().setRequestOldRoutes(JSON.parse(JSON.stringify(res.data))); useRequestOldRoutes().setRequestOldRoutes(JSON.parse(JSON.stringify(menuList)));
// 处理路由component替换 baseRoutes/@/router/route第一个顶级 children 的路由 // 处理路由component替换 baseRoutes/@/router/route第一个顶级 children 的路由
baseRoutes[0].children = [...dynamicRoutes, ...(await backEndComponent(res.data))]; baseRoutes[0].children = [...dynamicRoutes, ...(await backEndComponent(res.data))];
// 添加动态路由 // 添加动态路由