fix: 预览节点只显示用户实际所在分组的节点,不再包含公共节点
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m48s

This commit is contained in:
shanshanzhong 2026-03-25 23:15:48 -07:00
parent d63b943964
commit 774fce6147

View File

@ -196,13 +196,10 @@ func (l *PreviewUserNodesLogic) PreviewUserNodes(req *types.PreviewUserNodesRequ
return nil, err
}
// 6. 过滤出包含至少一个匹配节点组的节点
// node_group_ids 为空 = 公共节点,所有人可见
// node_group_ids 与订阅的 node_group_id 匹配 = 该节点可见
// 6. 过滤出包含至少一个匹配节点组的节点(仅显示用户真正所在分组的节点,不包含公共节点)
for _, n := range dbNodes {
// 公共节点node_group_ids 为空),所有人可见
// 节点未配置节点组(公共节点),预览时不显示
if len(n.NodeGroupIds) == 0 {
filteredNodes = append(filteredNodes, n)
continue
}
@ -453,14 +450,9 @@ func (l *PreviewUserNodesLogic) PreviewUserNodes(req *types.PreviewUserNodesRequ
}
}
// 添加公共节点组(如果有)
// 预览模式不显示公共节点node_group_ids 为空的节点),只展示用户真正所在分组的节点
if len(publicNodes) > 0 {
nodeGroupItems = append(nodeGroupItems, types.NodeGroupItem{
Id: 0,
Name: "",
Nodes: publicNodes,
})
logger.Infof("[PreviewUserNodes] adding public group: nodes=%d", len(publicNodes))
logger.Infof("[PreviewUserNodes] skipping %d public nodes (not in user's assigned group)", len(publicNodes))
}
} else {