diff --git a/backend/src/main/java/com/soybean/admin/controller/RouteController.java b/backend/src/main/java/com/soybean/admin/controller/RouteController.java index 6a20521..e32489e 100644 --- a/backend/src/main/java/com/soybean/admin/controller/RouteController.java +++ b/backend/src/main/java/com/soybean/admin/controller/RouteController.java @@ -49,7 +49,7 @@ public class RouteController { @GetMapping("/getAllMenus") public Result> getAllMenus() { try { - List menus = routeService.getConstantRoutes(); + List menus = routeService.getAllRoutes(); return Result.success(menus); } catch (Exception e) { return Result.error(e.getMessage()); diff --git a/backend/src/main/java/com/soybean/admin/service/RouteService.java b/backend/src/main/java/com/soybean/admin/service/RouteService.java index a0ddbde..6002e3c 100644 --- a/backend/src/main/java/com/soybean/admin/service/RouteService.java +++ b/backend/src/main/java/com/soybean/admin/service/RouteService.java @@ -149,6 +149,38 @@ public class RouteService { return routeMapper.selectCount(wrapper) > 0; } + public List getAllRoutes() { + // 获取所有启用的路由 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Route::getStatus, 1) + .orderByAsc(Route::getOrderNum); + List routes = routeMapper.selectList(wrapper); + + // 转换为 MenuRoute,但不构建树结构,返回扁平列表 + return routes.stream().map(route -> { + MenuRoute menuRoute = new MenuRoute(); + menuRoute.setId(route.getRouteId()); + menuRoute.setName(route.getName()); + menuRoute.setPath(route.getPath()); + menuRoute.setComponent(route.getComponent()); + + try { + if (route.getMeta() != null && !route.getMeta().isEmpty()) { + Map meta = objectMapper.readValue( + route.getMeta(), + new TypeReference>() {} + ); + meta.remove("roles"); + menuRoute.setMeta(meta); + } + } catch (Exception e) { + menuRoute.setMeta(new HashMap<>()); + } + + return menuRoute; + }).collect(Collectors.toList()); + } + private List convertToMenuRoutes(List routes) { System.out.println("=== 开始构建路由树 ==="); System.out.println("输入路由数量: " + routes.size()); diff --git a/src/views/application/index.vue b/src/views/application/index.vue index 240efe0..804206f 100644 --- a/src/views/application/index.vue +++ b/src/views/application/index.vue @@ -1,9 +1,5 @@