diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index cf15b6374..775230e01 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -179,7 +179,9 @@ func (s *userServer) GetDesignateUsers(ctx context.Context, req *pbuser.GetDesig return resp, nil } -// applyPhoneVisibility 根据 phone_visibility 和好友关系决定是否下发明文手机号。 +// applyPhoneVisibility 根据 phone_visibility 和单向好友关系决定是否下发明文手机号。 +// 「仅好友可见」:viewer 须在 target 的好友列表中(target 单向添加了 viewer), +// 而不是 viewer 把 target 加进自己的列表。 // pbUsers 与 dbUsers 下标一一对应。 func (s *userServer) applyPhoneVisibility(ctx context.Context, viewerID string, pbUsers []*sdkws.UserInfo, dbUsers []*tablerelation.User) error { for i, db := range dbUsers { @@ -197,12 +199,12 @@ func (s *userServer) applyPhoneVisibility(ctx context.Context, viewerID string, pb.Phone = "" pb.AreaCode = "" case tablerelation.PhoneVisibilityFriends: - // 仅好友可见 + // 仅好友可见:以资料所属用户的好友列表为准(单向) if viewerID == db.UserID { // 本人始终可见 break } - isFriend, err := s.relationClient.IsFriend(ctx, viewerID, db.UserID) + isFriend, err := s.relationClient.IsFriend(ctx, db.UserID, viewerID) if err != nil { log.ZError(ctx, "applyPhoneVisibility: IsFriend failed", err, "viewerID", viewerID, "targetUserID", db.UserID)