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 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; repeated string forceList = 13; int64 seq =14; int64 sendTime = 15; int64 createTime = 16; map Options= 17; OfflinePushInfo offlinePushInfo =18; } message OfflinePushInfo{ string Title = 1; string Desc = 2; string Ext = 3; string iOSPushSound = 4; bool iOSBadgeCount = 5; } //public message GroupInfo{ string GroupID = 1; string GroupName = 2; string Notification = 3; string Introduction = 4; string FaceUrl = 5; PublicUserInfo Owner = 6; uint64 CreateTime = 7; uint32 MemberCount = 8; string Ext = 9; } //private, Group members have permission to view message GroupMemberFullInfo { string GroupID = 1 ; string UserID = 2 ; int32 AdministratorLevel = 3; uint64 JoinTime = 4; string NickName = 5; string FaceUrl = 6; string FriendRemark = 7; int32 AppMangerLevel = 8; // >0 } //private, Friends have permission to view message UserInfo{ string UserID = 1; string Nickname = 2; string FaceUrl = 3; int32 Gender = 4; string Mobile = 5; string Birth = 6; string Email = 7; string Ext = 8; } //No permissions required message PublicUserInfo{ string UserID = 1; string Nickname = 2; string FaceUrl = 3; int32 Gender = 4; } message TipsComm{ bytes Detail = 1; string DefaultTips = 2; } //////////////////////group///////////////////// //Actively join the group message MemberEnterTips{ GroupInfo Group = 1; GroupMemberFullInfo EntrantUser = 2; uint64 OperationTime = 3; } //Actively leave the group message MemberLeaveTips{ GroupInfo Group = 1; GroupMemberFullInfo LeaverUser = 2; uint64 OperationTime = 3; } message MemberInvitedTips{ GroupInfo Group = 1; GroupMemberFullInfo OpUser = 2; repeated GroupMemberFullInfo InvitedUserList = 3; uint64 OperationTime = 4; } message MemberKickedTips{ GroupInfo Group = 1; GroupMemberFullInfo OpUser = 2; repeated GroupMemberFullInfo KickedUserList = 3; uint64 OperationTime = 4; } message MemberInfoChangedTips{ int32 ChangeType = 1; ///bitwise operators 0001:member info changed; 0010:mute ; GroupMemberFullInfo OpUser = 2; //who do this GroupMemberFullInfo FinalInfo = 3; // uint64 MuteTime = 4; GroupInfo Group = 5; } message GroupCreatedTips{ GroupInfo Group = 1; GroupMemberFullInfo Creator = 2; repeated GroupMemberFullInfo MemberList = 3; uint64 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{ uint64 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; uint64 OperationTime = 2; PublicUserInfo OpUser = 3; //who do this } // FromUserID deleted a friend ToUserID message FriendDeletedTips{ FromToUserID FromToUserID = 1; } //message BlackInfo{ // PublicUserInfo OwnerUser = 1; // uint64 CreateTime = 3; // PublicUserInfo BlackUser = 4; //} message BlackAddedTips{ FromToUserID FromToUserID = 1; } message BlackDeletedTips{ FromToUserID FromToUserID = 1; } message FriendInfoChangedTips{ FromToUserID FromToUserID = 1; } //////////////////////user///////////////////// message SelfInfoUpdatedTips{ string UserID = 1; }