|
- syntax = "proto3";
- package pb;
- option go_package = "gim/pkg/pb/";
-
- service ConnectInt {
- // 消息投递
- rpc DeliverMessage (DeliverMessageReq) returns (Empty);
- }
- message Empty{}
- enum SenderType {
- ST_UNKNOWN = 0; // 未知的
- ST_SYSTEM = 1; // IM系统
- ST_USER = 2; // 用户
- ST_BUSINESS = 3; // 业务方
- }
- 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 extra = 6; // 扩展字段
- }
- enum ReceiverType {
- RT_UNKNOWN = 0; // 未知
- RT_USER = 1; // 用户
- RT_GROUP = 2; // 群组
- RT_ROOM = 3; // 房间
- }
-
- // 单条消息投递内容(估算大约100个字节),todo 通知栏提醒
- message Message {
- Sender sender = 1; // 发送者
- ReceiverType receiver_type = 2; // 接收者类型,1:user;2:group
- int64 receiver_id = 3; // 用户id或者群组id
- repeated int64 to_user_ids = 4; // 需要@的用户id列表
- MessageType message_type = 5; // 消息类型
- bytes message_content = 6; // 消息内容
- int64 seq = 7; // 用户消息发送序列号
- int64 send_time = 8; // 消息发送时间戳,精确到毫秒
- MessageStatus status = 9; // 消息状态
- }
- enum MessageStatus {
- MS_UNKNOWN = 0; // 未知的
- MS_NORMAL = 1; // 正常的
- MS_RECALL = 2; // 撤回
- }
-
-
- // 消息类型
- enum MessageType {
- MT_UNKNOWN = 0; // 未知
- MT_TEXT = 1; // 文本
- MT_FACE = 2; // 表情
- MT_VOICE = 3; // 语音消息
- MT_IMAGE = 4; // 图片
- MT_FILE = 5; // 文件
- MT_LOCATION = 6; // 地理位置
- MT_COMMAND = 7; // 指令推送
- MT_CUSTOM = 8; // 自定义
- }
-
-
- // 消息投递,package_type:4
- message MessageSend {
- Message message = 1; // 消息
- }
- message DeliverMessageReq {
- int64 device_id = 1; // 设备id
- MessageSend message_send = 2; // 数据
- }
-
- // 房间推送
- message PushRoomMsg{
- int64 room_id = 1; // 设备id
- MessageSend message_send = 2; // 数据
- }
-
- // 房间推送
- message PushAllMsg{
- MessageSend message_send = 2; // 数据
- }
|