From d92f6e4d8c34dd751f7d79cab0ce7c8eb1059706 Mon Sep 17 00:00:00 2001 From: lvfengfree Date: Sun, 1 Mar 2026 10:16:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E8=B7=AF=E7=94=B1?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E5=92=8C=E6=9D=83=E9=99=90=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修复父级路由页面缺少router-view导致子路由无法显示的问题 - 修复getAllMenus接口只返回根路由的问题,现在返回所有路由(包括子路由) - 修复权限管理页面菜单树构建逻辑,正确识别父子关系 - 将所有有子路由的父级index.vue改为只包含 修改的文件: - backend: RouteController.java, RouteService.java - frontend: application/index.vue, device/index.vue, my-application/index.vue, my-device/index.vue, screen/index.vue, system/index.vue, user-manage/index.vue, user-manage/permission/index.vue --- .../admin/controller/RouteController.java | 2 +- .../soybean/admin/service/RouteService.java | 32 +++++++++++++++++++ src/views/application/index.vue | 6 +--- src/views/device/index.vue | 6 +--- src/views/my-application/index.vue | 6 +--- src/views/my-device/index.vue | 6 +--- src/views/screen/index.vue | 6 +--- src/views/system/index.vue | 6 +--- src/views/user-manage/index.vue | 8 +---- src/views/user-manage/permission/index.vue | 12 ++++++- 10 files changed, 51 insertions(+), 39 deletions(-) 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 @@