开头
用户交流是很多软件必备的功能,最近接到策划的新需求开发好友系统,下面分享我实现好友功能的具体方式
好友数据
数据库结构
{ "friend_data" ,"mediumblob" ,{
myfriend = {},
blacklist = {},
applylist = {},
delfriendlist = {},
isRefuseApply = false,
} ,"玩家好友数据" },
分为:好友列表,黑名单列表,申请列表,被删除好友列表(客户端需要),允许陌生人申请好友开关
sproto返回客户端协议格式
功能开发
玩家登陆加载好友数据,发送好友列表,黑名单列表,申请列表,删除列表信息
1、申请好友
1、判定是否已在好友列表,黑名单列表中
2、判定双方好友人数是否达到上线
3、通过即给对方推送一条消息,返回成功
sc_friend_apply_update 30006 {
request {
friendInfo 0 : friend_data
}
}
2、处理好友申请
传参人物dbid编号和applytype处理类型
1、applytype为1拒绝申请,applylist表元素删除
2、applytype为0同意申请,判定是黑名单列表、好友列表、好友人数上限
3、同意通过申请&#x