diff --git a/internal/logic/admin/group/previewUserNodesLogic.go b/internal/logic/admin/group/previewUserNodesLogic.go index 2122da5..53b32da 100644 --- a/internal/logic/admin/group/previewUserNodesLogic.go +++ b/internal/logic/admin/group/previewUserNodesLogic.go @@ -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 {