|
- syntax = "proto3";
- package pb;
- option go_package = "gim/pkg/pb/";
-
- import "im.common.ext.proto";
- import "im.connect.ext.proto";
- import "im.logic.ext.proto";
-
- service LogicInt {
- // 登录
- rpc ConnSignIn (ConnSignInReq) returns (Empty);
- // 消息同步
- rpc Sync (SyncReq) returns (SyncResp);
- // 设备收到消息回执
- rpc MessageACK (MessageACKReq) returns (Empty);
- // 设备离线
- rpc Offline (OfflineReq) returns (Empty);
- // 订阅房间
- rpc SubscribeRoom(SubscribeRoomReq)returns(Empty);
- // 发送消息
- rpc SendMessage (SendMessageReq) returns (SendMessageResp);
- // 推送消息到房间
- rpc PushRoom(PushRoomReq)returns(Empty);
- // 全服推送
- rpc PushAll(PushAllReq)returns(Empty);
-
- // 获取设备信息
- rpc GetDevice (GetDeviceReq) returns (GetDeviceResp);
- // 服务停止
- rpc ServerStop (ServerStopReq) returns (Empty);
- }
-
- message ConnSignInReq {
- int64 device_id = 1; // 设备id
- int64 user_id = 2; // 用户id
- string token = 3; // 秘钥
- string conn_addr = 4; // 服务器地址
- string client_addr = 5; // 客户端地址
- }
-
- message SyncReq {
- int64 user_id = 1; // 用户id
- int64 device_id = 2; // 设备id
- int64 seq = 3; // 客户端已经同步的序列号
- }
- message SyncResp {
- repeated Message messages = 1; // 消息列表
- bool has_more = 2; // 是否有更多数据
- }
-
- message MessageACKReq {
- int64 user_id = 1; // 用户id
- int64 device_id = 2; // 设备id
- int64 device_ack = 3; // 设备收到消息的确认号
- int64 receive_time = 4; // 消息接收时间戳,精确到毫秒
- }
-
- message OfflineReq {
- int64 user_id = 1; // 用户id
- int64 device_id = 2; // 设备id
- string client_addr = 3; // 客户端地址
- }
-
- message SubscribeRoomReq{
- int64 user_id = 1; // 用户id
- int64 device_id = 2; // 设备id
- int64 room_id = 3; // 房间id
- int64 seq = 4; // 消息序列号
- string conn_addr = 5; // 服务器地址
- }
-
- message PushAllReq{
- MessageType message_type = 1; // 消息类型
- bytes message_content = 2; // 消息内容
- int64 send_time = 3; // 消息发送时间戳,精确到毫秒
- }
-
- message GetDeviceReq {
- int64 device_id = 1;
- }
- message GetDeviceResp {
- Device device = 1;
- }
-
- message Device {
- int64 device_id = 1; // 设备id
- int64 user_id = 2; // 用户id
- int32 type = 3; // 设备类型,1:Android;2:IOS;3:Windows; 4:MacOS;5:Web
- string brand = 4; // 手机厂商
- string model = 5; // 机型
- string system_version = 6; // 系统版本
- string sdk_version = 7; // SDK版本
- int32 status = 8; // 在线状态,0:不在线;1:在线
- string conn_addr = 9; // 服务端连接地址
- string client_addr = 10; // 客户端地址
- int64 create_time = 11; // 创建时间
- int64 update_time = 12; // 更新时间
- }
-
- message ServerStopReq {
- string conn_addr = 1;
- }
|