问题也太笼统了吧
以前我做过SNS,可以简单给你介绍一下。
1:A通过搜索或是浏览找到某人B。
2:点击B申请加B为好友。如果B得隐私设置不允许别人加自己为好友则申请失败,否则继续
3:向系统消息发送一条短信,短信与申请记录关联。同时向好友列表中加条记录标示A加B为好友
4:B登录系统,查看系统短信。如果同意则在好友表中加入条记录标示A是B的好友,同时修改标示B也是A的好友,再在系统消息中添加消息标示同意了好友请求一边设置好友分组。如果不同意则删除好友列表中的记录再在系统消息中标示拒绝了请求。
其实加好友的过程还是蛮复杂的,要看你的业务是如何定义的。(也不知道你是不是问的逻辑流程)
我的网站上的好友功能是这样实现的
创建一个好友表
FriendID MainUserID OtherUserID State
编号 主动方 被动方 状态
如果主动方邀请被动方,则创建一条 MainUserID:主动方 OtherUserID:被动方 State:未审核状态
如果被动方通过邀请,则将上面的审核状态设成true,然后在创建一条记录 MainUserID:被动方 OtherUserID:主动方 State:true的记录
这样就相互成了好友
删除的时候,需要同时删除两条记录