fix(system): 修复转码设置菜单误下发导致前端白屏
This commit is contained in:
1 parent
3df66c2f4c
commit
a36276051d
3 files changed
+28
-9
No files matched your search
+14
-7
@@ -137,15 +137,22 @@ public class MenuService {
|
||||
List<MenuVO> roots = new ArrayList<>();
|
||||
for (Menu menu : menus) {
|
||||
MenuVO node = nodes.get(menu.getId());
|
||||
MenuVO parent = menu.getParentId() == null ? null : nodes.get(menu.getParentId());
|
||||
if (parent == null) {
|
||||
long parentId = menu.getParentId() == null ? 0L : menu.getParentId();
|
||||
if (parentId == 0L) {
|
||||
roots.add(node);
|
||||
} else {
|
||||
if (parent.getChildren() == null) {
|
||||
parent.setChildren(new ArrayList<>());
|
||||
}
|
||||
parent.getChildren().add(node);
|
||||
continue;
|
||||
}
|
||||
MenuVO parent = nodes.get(parentId);
|
||||
if (parent == null) {
|
||||
// 父级被权限/状态过滤掉时,不能把子菜单提升为一级路由:
|
||||
// 子菜单的 routePath 是相对路径(如 transcode-settings),
|
||||
// 提升后缺少前导 "/",前端注册动态路由会报错并白屏。
|
||||
continue;
|
||||
}
|
||||
if (parent.getChildren() == null) {
|
||||
parent.setChildren(new ArrayList<>());
|
||||
}
|
||||
parent.getChildren().add(node);
|
||||
}
|
||||
return roots;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user