syntax = "proto3"; package open_im_sdk;//The package name to which the proto file belongs //option go_package = "./sdk_ws;open_im_sdk";//The generated go pb file is in the current directory, and the package name is open_im_sdk ////////////////////////////////base/////////////////////////////// message GroupInfo{ string groupID = 1; string groupName = 2; string notification = 3; string introduction = 4; string faceURL = 5; string ownerUserID = 6; uint32 createTime = 7; uint32 memberCount = 8; string ex = 9; int32 status = 10; string creatorUserID = 11; int32 groupType = 12; } message GroupMemberFullInfo { string groupID = 1 ; string userID = 2 ; int32 roleLevel = 3; int64 joinTime = 4; string nickname = 5; string faceURL = 6; int32 appMangerLevel = 7; //if >0 int32 joinSource = 8; string operatorUserID = 9; string ex = 10; } message PublicUserInfo{ string userID = 1; string nickname = 2; string faceURL = 3; int32 gender = 4; int32 appMangerLevel = 5; //if >0 } message UserInfo{ string userID = 1; string nickname = 2; string faceURL = 3; int32 gender = 4; string phoneNumber = 5; uint32 birth = 6; string email = 7; string ex = 8; uint32 createTime = 9; int32 appMangerLevel = 10; } message FriendInfo{ string ownerUserID = 1; string remark = 2; uint32 createTime = 3; UserInfo friendUser = 4; int32 addSource = 5; string operatorUserID = 6; string ex = 7; } message BlackInfo{ string ownerUserID = 1; uint32 createTime = 2; PublicUserInfo blackUserInfo = 3; int32 addSource = 4; string operatorUserID = 5; string ex = 6; } message GroupRequest{ string userID = 1; string groupID = 2; string handleResult = 3; string reqMsg = 4; string handleMsg = 5; uint32 reqTime = 6; string handleUserID = 7; uint32 handleTime = 8; string ex = 9; } message FriendRequest{ string fromUserID = 1; string toUserID = 2; int32 handleResult = 3; string reqMsg = 4; uint32 createTime = 5; string handlerUserID = 6; string handleMsg = 7; uint32 handleTime = 8; string ex = 9; } ///////////////////////////////////base end///////////////////////////////////// message PullMessageBySeqListResp { int32 errCode = 1; string errMsg = 2; int64 maxSeq = 3; int64 minSeq = 4; repeated GatherFormat singleUserMsg = 5; repeated GatherFormat groupUserMsg = 6; } message PullMessageBySeqListReq{ string userID = 1; string operationID = 2; repeated int64 seqList = 3; } message PullMessageReq { string userID = 1; int64 seqBegin = 2; int64 seqEnd = 3; string operationID = 4; } message PullMessageResp { int32 errCode = 1; string errMsg = 2; int64 maxSeq = 3; int64 minSeq = 4; repeated GatherFormat singleUserMsg = 5; repeated GatherFormat groupUserMsg = 6; } message GetMaxAndMinSeqReq { } message GetMaxAndMinSeqResp { int64 maxSeq = 1; int64 minSeq = 2; } message GatherFormat{ // @inject_tag: json:"id" string id = 1; // @inject_tag: json:"list" repeated MsgData list = 2;//detail msg } //message MsgFormat{ // // @inject_tag: json:"sendID" // string SendID = 1; // // @inject_tag: json:"recvID" // string RecvID = 2; // // @inject_tag: json:"msgFrom" // int32 MsgFrom = 3; // // @inject_tag: json:"contentType" // int32 ContentType = 4; // // @inject_tag: json:"serverMsgID" // string ServerMsgID = 5; // // @inject_tag: json:"content" // string Content = 6; // // @inject_tag: json:"seq" // int64 Seq = 7; // // @inject_tag: json:"sendTime" // int64 SendTime = 8; // // @inject_tag: json:"senderPlatformID" // int32 SenderPlatformID = 9; // // @inject_tag: json:"senderNickName" // string SenderNickName = 10; // // @inject_tag: json:"senderFaceUrl" // string SenderFaceURL = 11; // // @inject_tag: json:"clientMsgID" // string ClientMsgID = 12; //} message UserSendMsgResp { string serverMsgID = 1; string clientMsgID = 2; int64 sendTime = 3; } message MsgData { string sendID = 1; string recvID = 2; string groupID = 3; string clientMsgID = 4; string serverMsgID = 5; int32 senderPlatformID = 6; string senderNickname = 7; string senderFaceURL = 8; int32 sessionType = 9; int32 msgFrom = 10; int32 contentType = 11; bytes content = 12; int64 seq = 14; int64 sendTime = 15; int64 createTime = 16; int32 status = 17; map options = 18; OfflinePushInfo offlinePushInfo = 19; } message OfflinePushInfo{ string title = 1; string desc = 2; string ex = 3; string iOSPushSound = 4; bool iOSBadgeCount = 5; } message TipsComm{ bytes detail = 1; string defaultTips = 2; } //////////////////////group///////////////////// //Actively join the group message MemberEnterTips{ GroupInfo group = 1; GroupMemberFullInfo entrantUser = 2; int64 operationTime = 3; } //Actively leave the group message MemberLeaveTips{ GroupInfo group = 1; GroupMemberFullInfo leaverUser = 2; int64 operationTime = 3; } message MemberInvitedTips{ GroupInfo group = 1; GroupMemberFullInfo opUser = 2; repeated GroupMemberFullInfo invitedUserList = 3; int64 operationTime = 4; } message MemberKickedTips{ GroupInfo group = 1; GroupMemberFullInfo opUser = 2; repeated GroupMemberFullInfo kickedUserList = 3; int64 operationTime = 4; } message MemberInfoChangedTips{ int32 changeType = 1; ///bitwise operators 0001:member info changed; 0010:mute ; GroupMemberFullInfo opUser = 2; //who do this GroupMemberFullInfo finalInfo = 3; // int64 muteTime = 4; GroupInfo group = 5; } message GroupCreatedTips{ GroupInfo group = 1; GroupMemberFullInfo creator = 2; repeated GroupMemberFullInfo memberList = 3; int64 operationTime = 4; } message GroupInfoChangedTips{ int32 changedType = 1; //bitwise operators: 0001:groupName; 0010:Notification 0100:Introduction; 1000:FaceUrl GroupInfo group = 2; GroupMemberFullInfo opUser = 3; } message JoinGroupApplicationTips{ GroupInfo group = 1; PublicUserInfo applicant = 2; string reason = 3; } message ApplicationProcessedTips{ GroupInfo group = 1; GroupMemberFullInfo opUser = 2; int32 result = 3; string reason = 4; } //////////////////////friend///////////////////// //message FriendInfo{ // UserInfo OwnerUser = 1; // string Remark = 2; // uint64 CreateTime = 3; // UserInfo FriendUser = 4; //} message FriendApplication{ int64 addTime = 1; string addSource = 2; string addWording = 3; } message FromToUserID{ string fromUserID = 1; string toUserID = 2; } //FromUserID apply to add ToUserID message FriendApplicationAddedTips{ FromToUserID fromToUserID = 1; } //FromUserID accept or reject ToUserID message FriendApplicationProcessedTips{ FromToUserID fromToUserID = 1; } // FromUserID Added a friend ToUserID message FriendAddedTips{ FriendInfo friend = 1; int64 operationTime = 2; PublicUserInfo opUser = 3; //who do this } // FromUserID deleted a friend ToUserID message FriendDeletedTips{ FromToUserID fromToUserID = 1; } message BlackAddedTips{ FromToUserID fromToUserID = 1; } message BlackDeletedTips{ FromToUserID fromToUserID = 1; } message FriendInfoChangedTips{ FromToUserID fromToUserID = 1; } //////////////////////user///////////////////// message SelfInfoUpdatedTips{ string userID = 1; }