From b75f26ffcecce4ccd66f9c6d09ad1bb5246992a0 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 17 Jun 2020 14:17:23 +0800 Subject: [PATCH] 1 --- server/imserver/player.cc | 16 +++++++++++++--- server/imserver/player.h | 1 + server/imserver/playermgr.cc | 1 + .../tools/robot/virtualclient/virtualclient.py | 1 + 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/server/imserver/player.cc b/server/imserver/player.cc index 54a4988..8ceb514 100644 --- a/server/imserver/player.cc +++ b/server/imserver/player.cc @@ -107,9 +107,7 @@ void Player::_CMUpdateTempCustomData(f8::MsgHdr& hdr, const cs::CMUpdateTempCust void Player::_CMFriendList(f8::MsgHdr& hdr, const cs::CMFriendList& msg) { - cs::SMFriendList respmsg; - FillFriendList(respmsg.mutable_friend_list()); - SendMsg(respmsg); + PushFriendList(); } void Player::_CMFriendApply(f8::MsgHdr& hdr, const cs::CMFriendApply& msg) @@ -396,6 +394,11 @@ void Player::ReLogin(f8::MsgHdr& hdr, const cs::CMLogin& msg) void Player::FillFriendList(::google::protobuf::RepeatedPtrField< ::cs::MFUserInfo >* friend_list) { + { + auto p = friend_list->Add(); + TypeConvert::Convert(data.base_data, *(p->mutable_base_data())); + TypeConvert::Convert(data.temp_custom_data, *(p->mutable_temp_custom_data())); + } for (auto& pair : friend_hash_) { auto p = friend_list->Add(); TypeConvert::Convert(pair.second.base_data, *(p->mutable_base_data())); @@ -629,3 +632,10 @@ void Player::NotifyUserInfoUpdate(Friend* friend_data) TypeConvert::Convert(friend_data->temp_custom_data, *p->mutable_temp_custom_data()); SendMsg(msg); } + +void Player::PushFriendList() +{ + cs::SMFriendList respmsg; + FillFriendList(respmsg.mutable_friend_list()); + SendMsg(respmsg); +} diff --git a/server/imserver/player.h b/server/imserver/player.h index 19a2c94..445465b 100644 --- a/server/imserver/player.h +++ b/server/imserver/player.h @@ -92,6 +92,7 @@ class Player void NotifyOnline(); void NotifyOffline(); void NotifyUserInfoUpdate(Friend* friend_data); + void PushFriendList(); const std::string AccountId(); diff --git a/server/imserver/playermgr.cc b/server/imserver/playermgr.cc index 696953d..a7c2b51 100644 --- a/server/imserver/playermgr.cc +++ b/server/imserver/playermgr.cc @@ -371,6 +371,7 @@ void PlayerMgr::AsyncLoginOnOk(const std::string& account_id, respmsg.set_errcode(0); respmsg.set_errmsg("ok"); hum->SendMsg(respmsg); + hum->PushFriendList(); } f8::MsgHdr::Destroy(hdr); } diff --git a/server/tools/robot/virtualclient/virtualclient.py b/server/tools/robot/virtualclient/virtualclient.py index 5e9fd3a..4fdc210 100644 --- a/server/tools/robot/virtualclient/virtualclient.py +++ b/server/tools/robot/virtualclient/virtualclient.py @@ -66,6 +66,7 @@ class VirtualClient(object): def sendLogin(self, conn): msg = cs_proto_pb2.CMLogin() msg.account_id = self.account + msg.nickname = '萤火虫' self.sendMsg(conn, msg) def parsePacket(self, conn, recv_buf):