diff --git a/server/imserver/player.cc b/server/imserver/player.cc index 46be74d..9cbc2c9 100644 --- a/server/imserver/player.cc +++ b/server/imserver/player.cc @@ -44,6 +44,10 @@ void Player::Init() }, &timer_attacher.timer_list_ ); + #ifdef DEBUG + red_point_flags_ = 1; + SyncRedPoint(); + #endif } void Player::UnInit() @@ -994,3 +998,10 @@ bool Player::CanAddFriend(const std::string& account_id) } return true; } + +void Player::SyncRedPoint() +{ + cs::SMUpdateRedPointNotify notifymsg; + notifymsg.set_red_point_flags(red_point_flags_); + SendMsg(notifymsg); +} diff --git a/server/imserver/player.h b/server/imserver/player.h index 99489d7..68adb62 100644 --- a/server/imserver/player.h +++ b/server/imserver/player.h @@ -127,6 +127,7 @@ private: void OnFriendAgreeEvent(Event& event); void OnFriendDeleteEvent(Event& event); bool CanAddFriend(const std::string& account_id); + void SyncRedPoint(); private: bool dirty_ = false; @@ -137,6 +138,7 @@ private: long long curr_max_event_idx_ = 0; long long last_run_tick_ = 0; std::map event_hash_; + int red_point_flags_ = 0; std::map friend_hash_; std::map apply_hash_; diff --git a/server/tools/protobuild/cs_msgid.proto b/server/tools/protobuild/cs_msgid.proto index 8f2605c..8431516 100644 --- a/server/tools/protobuild/cs_msgid.proto +++ b/server/tools/protobuild/cs_msgid.proto @@ -64,4 +64,5 @@ enum SMMessageId_e _SMUserTempCustomDataUpdate = 504; _SMDeleteFriendNotify = 505; _SMUpdateAccountInfo = 506; + _SMUpdateRedPointNotify = 507; } diff --git a/server/tools/protobuild/cs_proto.proto b/server/tools/protobuild/cs_proto.proto index 559e7ee..5f09675 100644 --- a/server/tools/protobuild/cs_proto.proto +++ b/server/tools/protobuild/cs_proto.proto @@ -376,3 +376,9 @@ message SMUpdateAccountInfo { } + +//更新红点信息 +message SMUpdateRedPointNotify +{ + optional int32 red_point_flags = 1; //红点信息 1<<0: 好友申请 +}