diff --git a/gim/connect.ext.proto b/gim/connect.ext.proto index 92f01e6..e8562f5 100644 --- a/gim/connect.ext.proto +++ b/gim/connect.ext.proto @@ -29,8 +29,8 @@ message Sender { SenderType sender_type = 1; // 发送者类型,1:系统,2:用户,3:第三方业务系统 int64 sender_id = 2; // 发送者id int64 device_id = 3; // 发送者设备id - string avatar_url = 4; // 昵称 - string nickname = 5; // 头像 + string avatar_url = 4; // 头像 + string nickname = 5; // 昵称 string extra = 6; // 扩展字段 } @@ -45,6 +45,33 @@ enum MessageType { MT_LOCATION = 6; // 地理位置 MT_COMMAND = 7; // 指令推送 MT_CUSTOM = 8; // 自定义 + MT_RECALL = 9; // 撤回消息 + MT_RED_PACKAGE = 10; // 红包消息 +} + +// 红包类型 +enum RedPacketType { + RPT_UNKNOWN = 0; // 未知 + RPT_FRIEND = 1; // 好友红包 + RPT_GROUP_NORMAL = 2; // 群组普通红包 + RPT_GROUP_LUCK = 3; // 群组手气红包 + RPT_GROUP_SPECIALLY = 4; // 群组专属红包 + RPT_SYSTEM_FOR = 5; // 系统红包 +} + +// 红包消息类型 +enum RedPacketMessageType { + RMT_UNKNOWN = 0; // 未知 + RMT_SEND = 1; // 发红包 + RMT_GRAB = 2; // 抢红包 +} + +// 红包状态类型 +enum RedPacketStatusType { + RPS_NOT_DRAW = 0; // 未领取 + RPS_DRAWING = 1; // 领取中 + RPS_DRAW_OVER = 2; // 领取完 + RPS_EXPIRE = 3; //已过期 } // 文本消息 @@ -101,6 +128,26 @@ message Custom { string data = 1; // 自定义数据 } +// 撤回消息 +message RECALL { + int64 recall_seq = 1; // 撤回消息seq +} + + +// 红包消息 +message RED_PACKAGE { + RedPacketMessageType red_message_type = 1;// 红包消息类型 + RedPacketType red_packet_type = 2; // 红包类型 + string red_packet_content = 3; // 红包文字内容 + float red_packet_amount = 6; // 红包金额 + int32 red_packet_nums = 5; // 红包数量 + float red_packet_balance_amount = 7; // 红包余额 + repeated int64 received_user_ids = 8; // 已领取用户id + repeated float received_user_amount = 9; // 已领取用户金额 + repeated string received_user_nickname = 10; // 已领取用户昵称 + RedPacketStatusType red_packet_status_type = 11; // 领取状态 +} + /************************************消息体定义结束************************************/ // 上行数据 diff --git a/gim/logic.ext.proto b/gim/logic.ext.proto index 9581974..4ac501e 100644 --- a/gim/logic.ext.proto +++ b/gim/logic.ext.proto @@ -11,9 +11,14 @@ service LogicExt { // 发送消息 rpc SendMessage (SendMessageReq) returns (SendMessageResp); + // 撤回消息 + rpc RecallMessage (RecallMessageReq) returns (RecallMessageResp); // 推送消息到房间 rpc PushRoom(PushRoomReq)returns(Empty); + // 发送红包 + rpc SendRedPacket (SendRedPacketReq) returns (SendRedPacketResp); + // 添加好友 rpc AddFriend (AddFriendReq) returns (Empty); // 同意添加好友 @@ -69,6 +74,33 @@ message SendMessageResp { int64 seq = 1; // 消息序列号 } +message RecallMessageReq { + ReceiverType receiver_type = 1; // 接收者类型,1:user;2:group + int64 receiver_id = 2; // 用户id或者群组id + repeated int64 to_user_ids = 3; // 需要@的用户id列表 + MessageType message_type = 4; // 消息类型 + bytes message_content = 5; // 消息内容 + int64 send_time = 6; // 消息发送时间戳,精确到毫秒 + bool is_persist = 7; // 是否将消息持久化到数据库 + string message_content_back = 8; +} +message RecallMessageResp { + int64 seq = 1; // 消息序列号 +} + + +message SendRedPacketReq { + ReceiverType receiver_type = 1; // 接收者类型,1:user;2:group + int64 receiver_id = 2; // 用户id或者群组id + MessageType message_type = 3; // 消息类型 + bytes message_content = 4; // 消息内容 + int64 send_time = 5; // 消息发送时间戳,精确到毫秒 + string message_content_back = 6; +} +message SendRedPacketResp { + int64 seq = 1; // 消息序列号 +} + message PushRoomReq{ int64 room_id = 1; // 房间id MessageType message_type = 2; // 消息类型