53 lines
1.2 KiB
Markdown
53 lines
1.2 KiB
Markdown
# 修复完成 - 重启后端测试
|
||
|
||
## 修复内容
|
||
|
||
修复了 `RouteService.java` 中的路由树构建逻辑,解决了菜单重复显示的问题。
|
||
|
||
### 问题原因
|
||
之前的逻辑中,父路由会被同时添加到:
|
||
1. 根路由列表(rootRoutes)
|
||
2. 可能作为其他路由的子路由
|
||
|
||
这导致同一个菜单在界面上显示两次。
|
||
|
||
### 解决方案
|
||
使用 `childRouteNames` 集合记录所有子路由,确保子路由只作为父路由的 children,不会被添加到根路由列表。
|
||
|
||
## 重启步骤
|
||
|
||
1. 停止当前后端服务(Ctrl+C)
|
||
2. 重新启动:
|
||
```bash
|
||
cd backend
|
||
start.bat
|
||
```
|
||
3. 等待服务启动完成
|
||
4. 刷新浏览器(Ctrl+Shift+R)
|
||
5. 重新登录测试
|
||
|
||
## 预期结果
|
||
|
||
- 每个菜单只显示一次
|
||
- 父子菜单层级正确
|
||
- 没有重复的菜单项
|
||
- 权限控制正常工作
|
||
|
||
## 如果还有问题
|
||
|
||
查看后端控制台输出,应该能看到:
|
||
```
|
||
=== 开始构建路由树 ===
|
||
识别子路由: user_manage_list
|
||
识别子路由: user_manage_role
|
||
...
|
||
添加子路由: user_manage_list -> 父路由: user_manage
|
||
添加根路由: home
|
||
添加根路由: device
|
||
添加根路由: user_manage
|
||
...
|
||
=== 路由树构建完成 ===
|
||
```
|
||
|
||
如果还有问题,请提供后端日志输出。
|