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 { int64 MaxSeq = 1; int64 MinSeq = 2; repeated GatherFormat SingleUserMsg = 3; repeated GatherFormat GroupUserMsg = 4; } message PullMessageBySeqListReq{ repeated int64 seqList =1; } message GetMaxAndMinSeqReq { } message GetMaxAndMinSeqResp { int64 maxSeq = 1; int64 minSeq = 2; } message GatherFormat{ // @inject_tag: json:"id" string ID = 1; // @inject_tag: json:"list" repeated MsgFormat 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 UserSendMsgReq { map Options= 1; string SenderNickName = 2; string SenderFaceURL = 3; int32 PlatformID = 4; int32 SessionType = 5; int32 MsgFrom = 6; int32 ContentType = 7; string RecvID = 8; repeated string ForceList = 9; string Content = 10; string ClientMsgID = 11; } message UserSendMsgResp { string ServerMsgID = 1; string ClientMsgID = 2; int64 sendTime = 3; } message MsgData { string sendID = 1; string recvID = 2; int32 sessionType = 3; int32 msgFrom = 4; int32 contentType = 5; string serverMsgID = 6; string content =7; int64 sendTime =8; int64 seq =9; int32 senderPlatformID =10; string senderNickName =11; string senderFaceURL =12; string clientMsgID =13; } message OfflinePushInfo{ string Title = 1; string Desc = 2; string Ext = 3; } //public message GroupInfo{ string GroupID = 1; string GroupName = 2; string Notification = 3; string Introduction = 4; string FaceUrl = 5; string Ex = 6; PublicUserInfo Owner = 7; uint64 CreateTime = 8; uint32 MemberCount = 9; } //private, Group members have permission to view message GroupMemberFullInfo { string GroupID = 1 ; string UserID = 2 ; int32 Role = 3; uint64 JoinTime = 4; string NickName = 5; string FaceUrl = 6; string FriendRemark = 7; } //private, Friends have permission to view message UserInfo{ string UserID = 1; string Name = 2; string Icon = 3; int32 Gender = 4; string Mobile = 5; string Birth = 6; string Email = 7; string Ex = 8; } //No permissions required message PublicUserInfo{ string UserID = 1; string Name = 2; string Icon = 3; int32 Gender = 4; } message TipsComm{ string Detail = 1; string DefaultTips = 2; } //////////////////////group///////////////////// //Actively join the group message MemberEnterTips{ GroupInfo Group = 1; GroupMemberFullInfo Member = 2; uint64 OperationTime = 3; } //Actively leave the group message MemberLeaveTips{ GroupInfo Group = 1; GroupMemberFullInfo Member = 2; uint64 OperationTime = 3; } message MemberInvitedTips{ GroupInfo Group = 1; GroupMemberFullInfo OpUser = 2; GroupMemberFullInfo Member = 3; uint64 OperationTime = 4; } message MemberKickedTips{ GroupInfo Group = 1; GroupMemberFullInfo OpUser = 2; GroupMemberFullInfo Member = 3; uint64 OperationTime = 4; } message GroupMemberChangeInfo{ int32 ChangeType = 1; //1:info changed; 2:mute GroupMemberFullInfo OpUser = 2; //who do this GroupMemberFullInfo Member = 3; uint64 MuteTime = 4; } message MemberInfoChangedTips{ GroupInfo Group = 1; GroupMemberChangeInfo MemberChanged = 2; } message GroupCreatedTips{ GroupInfo Group = 1; GroupMemberFullInfo Creator = 2; repeated GroupMemberFullInfo MemberList = 3; uint64 OperationTime = 4; } message GroupInfoChangedTips{ int32 ChangedType = 1; //1:name;2:Notification ... GroupInfo Group = 2; GroupMemberFullInfo OpUser = 3; } message ReceiveJoinApplicationTips{ GroupInfo Group = 1; GroupMemberFullInfo Member = 2; string Reason = 3; } message ApplicationProcessedTips{ GroupInfo Group = 1; GroupMemberFullInfo OpUser = 2; int32 Result = 3; string Reason = 4; } //////////////////////friend///////////////////// message FriendInfo{ string OwnerUserID = 1; string Remark = 2; uint64 CreateTime = 3; UserInfo FriendUserInfo = 4; } message FriendApplication{ uint64 AddTime = 4; string AddSource = 5; string AddWording = 6; } //user1 add user2 message FriendApplicationListAddedTips{ PublicUserInfo OpUser = 1; //user1 FriendApplication Application = 2; PublicUserInfo OpedUser = 3; //user2 } // user2 accept message FriendApplicationListAcceptTips{ PublicUserInfo OpUser = 1; //user2 PublicUserInfo OpedUser = 2; //user1 } // user2 reject message FriendApplicationListRejectTips{ PublicUserInfo OpUser = 1; //user2 PublicUserInfo OpedUser = 2; //user1 } message FriendListAddedTips{ FriendInfo Friend = 1; } message FriendListDeletedTips{ FriendInfo Friend = 1; } message BlackListAddTips{ FriendInfo Friend = 1; } message BlackListDeletedTips{ FriendInfo Friend = 1; } message FriendInfoChangedTips{ FriendInfo Friend = 1; } //////////////////////user///////////////////// message SelfInfoUpdatedTips{ UserInfo SelfUserInfo = 1; }