pull/131/head
wenxu12345 3 years ago
parent 2ace964573
commit 8b4da90497

@ -203,9 +203,20 @@ type WSToMsgSvrChatMsg struct {
OperationID string `protobuf:"bytes,10,opt,name=OperationID" json:"OperationID,omitempty"` OperationID string `protobuf:"bytes,10,opt,name=OperationID" json:"OperationID,omitempty"`
} }
func CreateGroupNotification(SendID, RecvID string, tip open_im_sdk.CreateGroupTip) {
var msg WSToMsgSvrChatMsg
msg.OperationID = utils.OperationIDGenerator()
msg.SendID = SendID
msg.RecvID = RecvID
msg.ContentType = constant.CreateGroupTip
msg.SessionType = constant.SysMsgType
}
func Notification(m *WSToMsgSvrChatMsg, onlineUserOnly bool, offlineInfo open_im_sdk.OfflinePushInfo) { func Notification(m *WSToMsgSvrChatMsg, onlineUserOnly bool, offlineInfo open_im_sdk.OfflinePushInfo) {
} }
func (rpc *rpcChat) sendMsgToKafka(m *pbChat.WSToMsgSvrChatMsg, key string) error { func (rpc *rpcChat) sendMsgToKafka(m *pbChat.WSToMsgSvrChatMsg, key string) error {
pid, offset, err := rpc.producer.SendMessage(m, key) pid, offset, err := rpc.producer.SendMessage(m, key)
if err != nil { if err != nil {

@ -32,7 +32,7 @@ func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListRe
func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) }
func (*PullMessageBySeqListResp) ProtoMessage() {} func (*PullMessageBySeqListResp) ProtoMessage() {}
func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_ff6df30c494aaf36, []int{0} return fileDescriptor_ws_d55c44e342c7a2b5, []int{0}
} }
func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b)
@ -91,7 +91,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq
func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) }
func (*PullMessageBySeqListReq) ProtoMessage() {} func (*PullMessageBySeqListReq) ProtoMessage() {}
func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_ff6df30c494aaf36, []int{1} return fileDescriptor_ws_d55c44e342c7a2b5, []int{1}
} }
func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b)
@ -128,7 +128,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} }
func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) }
func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) ProtoMessage() {}
func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_ff6df30c494aaf36, []int{2} return fileDescriptor_ws_d55c44e342c7a2b5, []int{2}
} }
func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b)
@ -160,7 +160,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} }
func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) }
func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) ProtoMessage() {}
func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_ff6df30c494aaf36, []int{3} return fileDescriptor_ws_d55c44e342c7a2b5, []int{3}
} }
func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b)
@ -208,7 +208,7 @@ func (m *GatherFormat) Reset() { *m = GatherFormat{} }
func (m *GatherFormat) String() string { return proto.CompactTextString(m) } func (m *GatherFormat) String() string { return proto.CompactTextString(m) }
func (*GatherFormat) ProtoMessage() {} func (*GatherFormat) ProtoMessage() {}
func (*GatherFormat) Descriptor() ([]byte, []int) { func (*GatherFormat) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_ff6df30c494aaf36, []int{4} return fileDescriptor_ws_d55c44e342c7a2b5, []int{4}
} }
func (m *GatherFormat) XXX_Unmarshal(b []byte) error { func (m *GatherFormat) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GatherFormat.Unmarshal(m, b) return xxx_messageInfo_GatherFormat.Unmarshal(m, b)
@ -276,7 +276,7 @@ func (m *MsgFormat) Reset() { *m = MsgFormat{} }
func (m *MsgFormat) String() string { return proto.CompactTextString(m) } func (m *MsgFormat) String() string { return proto.CompactTextString(m) }
func (*MsgFormat) ProtoMessage() {} func (*MsgFormat) ProtoMessage() {}
func (*MsgFormat) Descriptor() ([]byte, []int) { func (*MsgFormat) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_ff6df30c494aaf36, []int{5} return fileDescriptor_ws_d55c44e342c7a2b5, []int{5}
} }
func (m *MsgFormat) XXX_Unmarshal(b []byte) error { func (m *MsgFormat) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgFormat.Unmarshal(m, b) return xxx_messageInfo_MsgFormat.Unmarshal(m, b)
@ -401,7 +401,7 @@ func (m *UserSendMsgReq) Reset() { *m = UserSendMsgReq{} }
func (m *UserSendMsgReq) String() string { return proto.CompactTextString(m) } func (m *UserSendMsgReq) String() string { return proto.CompactTextString(m) }
func (*UserSendMsgReq) ProtoMessage() {} func (*UserSendMsgReq) ProtoMessage() {}
func (*UserSendMsgReq) Descriptor() ([]byte, []int) { func (*UserSendMsgReq) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_ff6df30c494aaf36, []int{6} return fileDescriptor_ws_d55c44e342c7a2b5, []int{6}
} }
func (m *UserSendMsgReq) XXX_Unmarshal(b []byte) error { func (m *UserSendMsgReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UserSendMsgReq.Unmarshal(m, b) return xxx_messageInfo_UserSendMsgReq.Unmarshal(m, b)
@ -511,7 +511,7 @@ func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} }
func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) }
func (*UserSendMsgResp) ProtoMessage() {} func (*UserSendMsgResp) ProtoMessage() {}
func (*UserSendMsgResp) Descriptor() ([]byte, []int) { func (*UserSendMsgResp) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_ff6df30c494aaf36, []int{7} return fileDescriptor_ws_d55c44e342c7a2b5, []int{7}
} }
func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b)
@ -575,7 +575,7 @@ func (m *MsgData) Reset() { *m = MsgData{} }
func (m *MsgData) String() string { return proto.CompactTextString(m) } func (m *MsgData) String() string { return proto.CompactTextString(m) }
func (*MsgData) ProtoMessage() {} func (*MsgData) ProtoMessage() {}
func (*MsgData) Descriptor() ([]byte, []int) { func (*MsgData) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_ff6df30c494aaf36, []int{8} return fileDescriptor_ws_d55c44e342c7a2b5, []int{8}
} }
func (m *MsgData) XXX_Unmarshal(b []byte) error { func (m *MsgData) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgData.Unmarshal(m, b) return xxx_messageInfo_MsgData.Unmarshal(m, b)
@ -699,7 +699,7 @@ func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} }
func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) }
func (*OfflinePushInfo) ProtoMessage() {} func (*OfflinePushInfo) ProtoMessage() {}
func (*OfflinePushInfo) Descriptor() ([]byte, []int) { func (*OfflinePushInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_ff6df30c494aaf36, []int{9} return fileDescriptor_ws_d55c44e342c7a2b5, []int{9}
} }
func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b)
@ -740,6 +740,256 @@ func (m *OfflinePushInfo) GetExt() string {
return "" return ""
} }
type GroupInfoTip struct {
GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"`
GroupName string `protobuf:"bytes,2,opt,name=GroupName" json:"GroupName,omitempty"`
Notification string `protobuf:"bytes,3,opt,name=Notification" json:"Notification,omitempty"`
Introduction string `protobuf:"bytes,4,opt,name=Introduction" json:"Introduction,omitempty"`
FaceUrl string `protobuf:"bytes,5,opt,name=FaceUrl" json:"FaceUrl,omitempty"`
Ex string `protobuf:"bytes,6,opt,name=Ex" json:"Ex,omitempty"`
OwnerID string `protobuf:"bytes,7,opt,name=OwnerID" json:"OwnerID,omitempty"`
CreateTime uint64 `protobuf:"varint,8,opt,name=CreateTime" json:"CreateTime,omitempty"`
MemberCount uint32 `protobuf:"varint,9,opt,name=MemberCount" json:"MemberCount,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GroupInfoTip) Reset() { *m = GroupInfoTip{} }
func (m *GroupInfoTip) String() string { return proto.CompactTextString(m) }
func (*GroupInfoTip) ProtoMessage() {}
func (*GroupInfoTip) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_d55c44e342c7a2b5, []int{10}
}
func (m *GroupInfoTip) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupInfoTip.Unmarshal(m, b)
}
func (m *GroupInfoTip) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GroupInfoTip.Marshal(b, m, deterministic)
}
func (dst *GroupInfoTip) XXX_Merge(src proto.Message) {
xxx_messageInfo_GroupInfoTip.Merge(dst, src)
}
func (m *GroupInfoTip) XXX_Size() int {
return xxx_messageInfo_GroupInfoTip.Size(m)
}
func (m *GroupInfoTip) XXX_DiscardUnknown() {
xxx_messageInfo_GroupInfoTip.DiscardUnknown(m)
}
var xxx_messageInfo_GroupInfoTip proto.InternalMessageInfo
func (m *GroupInfoTip) GetGroupID() string {
if m != nil {
return m.GroupID
}
return ""
}
func (m *GroupInfoTip) GetGroupName() string {
if m != nil {
return m.GroupName
}
return ""
}
func (m *GroupInfoTip) GetNotification() string {
if m != nil {
return m.Notification
}
return ""
}
func (m *GroupInfoTip) GetIntroduction() string {
if m != nil {
return m.Introduction
}
return ""
}
func (m *GroupInfoTip) GetFaceUrl() string {
if m != nil {
return m.FaceUrl
}
return ""
}
func (m *GroupInfoTip) GetEx() string {
if m != nil {
return m.Ex
}
return ""
}
func (m *GroupInfoTip) GetOwnerID() string {
if m != nil {
return m.OwnerID
}
return ""
}
func (m *GroupInfoTip) GetCreateTime() uint64 {
if m != nil {
return m.CreateTime
}
return 0
}
func (m *GroupInfoTip) GetMemberCount() uint32 {
if m != nil {
return m.MemberCount
}
return 0
}
type UserInfoTip struct {
UserID string `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"`
Name string `protobuf:"bytes,2,opt,name=Name" json:"Name,omitempty"`
Icon string `protobuf:"bytes,3,opt,name=Icon" json:"Icon,omitempty"`
Gender int32 `protobuf:"varint,4,opt,name=Gender" json:"Gender,omitempty"`
Mobile string `protobuf:"bytes,5,opt,name=Mobile" json:"Mobile,omitempty"`
Birth string `protobuf:"bytes,6,opt,name=Birth" json:"Birth,omitempty"`
Email string `protobuf:"bytes,7,opt,name=Email" json:"Email,omitempty"`
Ex string `protobuf:"bytes,8,opt,name=Ex" json:"Ex,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *UserInfoTip) Reset() { *m = UserInfoTip{} }
func (m *UserInfoTip) String() string { return proto.CompactTextString(m) }
func (*UserInfoTip) ProtoMessage() {}
func (*UserInfoTip) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_d55c44e342c7a2b5, []int{11}
}
func (m *UserInfoTip) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UserInfoTip.Unmarshal(m, b)
}
func (m *UserInfoTip) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UserInfoTip.Marshal(b, m, deterministic)
}
func (dst *UserInfoTip) XXX_Merge(src proto.Message) {
xxx_messageInfo_UserInfoTip.Merge(dst, src)
}
func (m *UserInfoTip) XXX_Size() int {
return xxx_messageInfo_UserInfoTip.Size(m)
}
func (m *UserInfoTip) XXX_DiscardUnknown() {
xxx_messageInfo_UserInfoTip.DiscardUnknown(m)
}
var xxx_messageInfo_UserInfoTip proto.InternalMessageInfo
func (m *UserInfoTip) GetUserID() string {
if m != nil {
return m.UserID
}
return ""
}
func (m *UserInfoTip) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *UserInfoTip) GetIcon() string {
if m != nil {
return m.Icon
}
return ""
}
func (m *UserInfoTip) GetGender() int32 {
if m != nil {
return m.Gender
}
return 0
}
func (m *UserInfoTip) GetMobile() string {
if m != nil {
return m.Mobile
}
return ""
}
func (m *UserInfoTip) GetBirth() string {
if m != nil {
return m.Birth
}
return ""
}
func (m *UserInfoTip) GetEmail() string {
if m != nil {
return m.Email
}
return ""
}
func (m *UserInfoTip) GetEx() string {
if m != nil {
return m.Ex
}
return ""
}
type CreateGroupTip struct {
Group *GroupInfoTip `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"`
Creator *UserInfoTip `protobuf:"bytes,2,opt,name=creator" json:"creator,omitempty"`
MemberList []*UserInfoTip `protobuf:"bytes,3,rep,name=memberList" json:"memberList,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CreateGroupTip) Reset() { *m = CreateGroupTip{} }
func (m *CreateGroupTip) String() string { return proto.CompactTextString(m) }
func (*CreateGroupTip) ProtoMessage() {}
func (*CreateGroupTip) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_d55c44e342c7a2b5, []int{12}
}
func (m *CreateGroupTip) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateGroupTip.Unmarshal(m, b)
}
func (m *CreateGroupTip) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CreateGroupTip.Marshal(b, m, deterministic)
}
func (dst *CreateGroupTip) XXX_Merge(src proto.Message) {
xxx_messageInfo_CreateGroupTip.Merge(dst, src)
}
func (m *CreateGroupTip) XXX_Size() int {
return xxx_messageInfo_CreateGroupTip.Size(m)
}
func (m *CreateGroupTip) XXX_DiscardUnknown() {
xxx_messageInfo_CreateGroupTip.DiscardUnknown(m)
}
var xxx_messageInfo_CreateGroupTip proto.InternalMessageInfo
func (m *CreateGroupTip) GetGroup() *GroupInfoTip {
if m != nil {
return m.Group
}
return nil
}
func (m *CreateGroupTip) GetCreator() *UserInfoTip {
if m != nil {
return m.Creator
}
return nil
}
func (m *CreateGroupTip) GetMemberList() []*UserInfoTip {
if m != nil {
return m.MemberList
}
return nil
}
func init() { func init() {
proto.RegisterType((*PullMessageBySeqListResp)(nil), "open_im_sdk.PullMessageBySeqListResp") proto.RegisterType((*PullMessageBySeqListResp)(nil), "open_im_sdk.PullMessageBySeqListResp")
proto.RegisterType((*PullMessageBySeqListReq)(nil), "open_im_sdk.PullMessageBySeqListReq") proto.RegisterType((*PullMessageBySeqListReq)(nil), "open_im_sdk.PullMessageBySeqListReq")
@ -752,59 +1002,77 @@ func init() {
proto.RegisterType((*UserSendMsgResp)(nil), "open_im_sdk.UserSendMsgResp") proto.RegisterType((*UserSendMsgResp)(nil), "open_im_sdk.UserSendMsgResp")
proto.RegisterType((*MsgData)(nil), "open_im_sdk.MsgData") proto.RegisterType((*MsgData)(nil), "open_im_sdk.MsgData")
proto.RegisterType((*OfflinePushInfo)(nil), "open_im_sdk.OfflinePushInfo") proto.RegisterType((*OfflinePushInfo)(nil), "open_im_sdk.OfflinePushInfo")
} proto.RegisterType((*GroupInfoTip)(nil), "open_im_sdk.GroupInfoTip")
proto.RegisterType((*UserInfoTip)(nil), "open_im_sdk.UserInfoTip")
func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_ff6df30c494aaf36) } proto.RegisterType((*CreateGroupTip)(nil), "open_im_sdk.CreateGroupTip")
}
var fileDescriptor_ws_ff6df30c494aaf36 = []byte{
// 780 bytes of a gzipped FileDescriptorProto func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_d55c44e342c7a2b5) }
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x55, 0x5b, 0x6b, 0x1a, 0x41,
0x14, 0xc6, 0x5d, 0x6f, 0x7b, 0x34, 0x17, 0xa6, 0x21, 0xdd, 0x86, 0x52, 0x64, 0x29, 0x45, 0xf2, var fileDescriptor_ws_d55c44e342c7a2b5 = []byte{
0x60, 0x20, 0x79, 0x29, 0x29, 0xa5, 0x34, 0x35, 0x09, 0x96, 0x98, 0x84, 0x35, 0x79, 0xe9, 0x4b, // 1021 bytes of a gzipped FileDescriptorProto
0xd8, 0xea, 0x68, 0x16, 0xf7, 0xa2, 0x7b, 0xd6, 0x24, 0xfe, 0x98, 0xfe, 0xa1, 0x3e, 0xf4, 0x1f, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x56, 0xcb, 0x6e, 0x23, 0xb7,
0x15, 0xca, 0x99, 0xd9, 0x35, 0x33, 0x2a, 0x6d, 0xdf, 0xe6, 0x7c, 0xce, 0x99, 0x99, 0xf3, 0x5d, 0x12, 0x85, 0xba, 0xf5, 0x2c, 0xc9, 0xf6, 0x80, 0xd7, 0xf0, 0xed, 0x0c, 0x82, 0x40, 0x68, 0x04,
0x5c, 0xd8, 0xc2, 0xc1, 0xf8, 0xee, 0x11, 0x0f, 0x1e, 0xb1, 0x35, 0x49, 0xe2, 0x34, 0x66, 0xb5, 0x81, 0x30, 0x0b, 0x19, 0xf0, 0x6c, 0x06, 0x13, 0x04, 0x41, 0x6c, 0xc9, 0x86, 0x82, 0x91, 0x6d,
0x78, 0xc2, 0xa3, 0x3b, 0x3f, 0xbc, 0xc3, 0xc1, 0xd8, 0xf9, 0x59, 0x00, 0xfb, 0x7a, 0x16, 0x04, 0xb4, 0x3c, 0x9b, 0x6c, 0x8c, 0x76, 0x8b, 0x92, 0x1b, 0xee, 0x87, 0xd4, 0xa4, 0x6c, 0xf9, 0x3f,
0x5d, 0x8e, 0xe8, 0x8d, 0xf8, 0xc9, 0xbc, 0xc7, 0xa7, 0x17, 0x3e, 0xa6, 0x2e, 0xc7, 0x09, 0xdb, 0xb2, 0xcd, 0x37, 0x64, 0x9d, 0x5f, 0xc8, 0x22, 0x7f, 0x14, 0x20, 0xa8, 0x22, 0x5b, 0x26, 0x25,
0x85, 0x72, 0xd7, 0x7b, 0xea, 0xf1, 0xa9, 0x5d, 0x68, 0x14, 0x9a, 0xa6, 0x9b, 0x55, 0x02, 0xf7, 0xe7, 0xb1, 0xe3, 0x39, 0xaa, 0x22, 0x59, 0xe7, 0x54, 0xb5, 0x08, 0x07, 0x62, 0xfa, 0x70, 0xfb,
0x23, 0xc2, 0x8d, 0x0c, 0x17, 0x15, 0xfb, 0x04, 0x1b, 0x3d, 0x3f, 0x1a, 0x05, 0xfc, 0x16, 0x79, 0x24, 0x8e, 0x9f, 0x44, 0x7f, 0x51, 0xe4, 0x32, 0x67, 0xed, 0x7c, 0xc1, 0xb3, 0xdb, 0x38, 0xbd,
0xd2, 0xc5, 0x91, 0x6d, 0x36, 0xcc, 0x66, 0xed, 0xf0, 0x55, 0x4b, 0xb9, 0xb1, 0x75, 0xee, 0xa5, 0x15, 0xd3, 0x07, 0xff, 0xf7, 0x0a, 0x78, 0xd7, 0xab, 0x24, 0x19, 0x73, 0x21, 0xc2, 0x39, 0x3f,
0xf7, 0x3c, 0x39, 0x8b, 0x93, 0xd0, 0x4b, 0x5d, 0x7d, 0x3f, 0xfb, 0x08, 0xf5, 0xf3, 0x24, 0x9e, 0x7d, 0x9e, 0xf0, 0xe5, 0xa7, 0x58, 0xc8, 0x80, 0x8b, 0x05, 0x3b, 0x82, 0xfa, 0x38, 0x5c, 0x4f,
0x4d, 0xf2, 0xfe, 0xe2, 0xbf, 0xfa, 0xb5, 0xed, 0xce, 0x11, 0xbc, 0x5c, 0x3f, 0xcb, 0x94, 0xd9, 0xf8, 0xd2, 0xab, 0x74, 0x2b, 0x3d, 0x37, 0xd0, 0x88, 0xf8, 0x38, 0x43, 0xde, 0xd1, 0x3c, 0x21,
0x50, 0x41, 0x59, 0xd9, 0x85, 0x86, 0xd9, 0x34, 0xdd, 0xbc, 0x74, 0x76, 0x80, 0x9d, 0xf3, 0xb4, 0xf6, 0x3d, 0xec, 0x4d, 0xe2, 0x6c, 0x9e, 0xf0, 0xcf, 0x82, 0x17, 0x63, 0x31, 0xf7, 0xdc, 0xae,
0xeb, 0x3d, 0x7d, 0x8e, 0x06, 0x72, 0x0e, 0x97, 0x4f, 0x9d, 0x53, 0x78, 0xb1, 0x82, 0x4a, 0x46, 0xdb, 0x6b, 0x9f, 0x7c, 0xd1, 0x37, 0x4e, 0xec, 0x5f, 0x84, 0xf2, 0x9e, 0x17, 0xe7, 0x79, 0x91,
0x42, 0x8d, 0x91, 0x70, 0xc1, 0x48, 0xa8, 0x31, 0x22, 0x2b, 0xe7, 0x2b, 0xd4, 0xd5, 0xf7, 0xb2, 0x86, 0x32, 0xb0, 0xe3, 0xd9, 0x77, 0xd0, 0xb9, 0x28, 0xf2, 0xd5, 0xa2, 0xcc, 0xaf, 0xfe, 0x5b,
0x4d, 0x30, 0x3a, 0x6d, 0xd1, 0x6b, 0xb9, 0x46, 0xa7, 0xcd, 0xf6, 0xa1, 0x28, 0xde, 0x64, 0x88, 0xbe, 0x15, 0xee, 0xbf, 0x87, 0xff, 0xbf, 0x5e, 0xcb, 0x92, 0x79, 0xd0, 0x10, 0x0a, 0x79, 0x95,
0x41, 0x77, 0xb5, 0x41, 0xbb, 0x38, 0xca, 0xa6, 0x14, 0x7b, 0x9c, 0xdf, 0x06, 0x58, 0x0b, 0x8c, 0xae, 0xdb, 0x73, 0x83, 0x12, 0xfa, 0x87, 0xc0, 0x2e, 0xb8, 0x1c, 0x87, 0xeb, 0x1f, 0xb2, 0xa9,
0x6e, 0xec, 0xf1, 0x68, 0xb0, 0x38, 0x2d, 0xab, 0x08, 0x77, 0x79, 0xff, 0xa1, 0xd3, 0x16, 0x2f, 0xaa, 0x23, 0xe0, 0x4b, 0x7f, 0x08, 0xff, 0xdb, 0x61, 0x95, 0x22, 0xa9, 0xa5, 0x48, 0xba, 0x51,
0xb1, 0xdc, 0xac, 0x22, 0x02, 0xa8, 0x39, 0x89, 0x43, 0xdb, 0x6c, 0x14, 0x9a, 0x25, 0x37, 0x2f, 0x24, 0xb5, 0x14, 0x51, 0xc8, 0xff, 0x11, 0x3a, 0xe6, 0x7d, 0xd9, 0x3e, 0x38, 0xa3, 0x01, 0xe5,
0x59, 0x03, 0x6a, 0x5f, 0xe2, 0x28, 0xe5, 0x51, 0x7a, 0x33, 0x9f, 0x70, 0xbb, 0x28, 0x7e, 0x55, 0xb6, 0x02, 0x67, 0x34, 0x60, 0xef, 0xa0, 0x4a, 0x77, 0x72, 0xa8, 0xd0, 0x23, 0xab, 0xd0, 0xb1,
0x21, 0xda, 0xd1, 0xe3, 0xc9, 0x83, 0x20, 0xb9, 0xd3, 0xb6, 0x4b, 0xe2, 0x60, 0x15, 0xa2, 0xd3, 0x98, 0xeb, 0x2a, 0x29, 0xc6, 0xff, 0xd3, 0x81, 0xd6, 0x86, 0xc3, 0x13, 0x27, 0x3c, 0x9b, 0x6e,
0xb3, 0x06, 0xbb, 0x2c, 0x7e, 0xcd, 0x4b, 0xb6, 0x0d, 0x26, 0xd1, 0x52, 0x11, 0xb4, 0xd0, 0x92, 0x76, 0xd3, 0x08, 0xf9, 0x80, 0x47, 0x8f, 0xa3, 0x01, 0xdd, 0xa4, 0x15, 0x68, 0x84, 0x02, 0x60,
0xed, 0x41, 0x95, 0xde, 0x7a, 0xe3, 0x87, 0xdc, 0xae, 0x0a, 0x78, 0x51, 0xb3, 0x7d, 0xd8, 0xa6, 0x72, 0x91, 0xa7, 0x9e, 0xdb, 0xad, 0xf4, 0x6a, 0x41, 0x09, 0x59, 0x17, 0xda, 0x67, 0x79, 0x26,
0x35, 0x4f, 0xae, 0x03, 0x2f, 0x1d, 0xc6, 0x49, 0xd8, 0x69, 0xdb, 0x96, 0x78, 0xd0, 0x0a, 0xce, 0x79, 0x26, 0x6f, 0x9e, 0x17, 0xdc, 0xab, 0xd2, 0xaf, 0x26, 0x85, 0x11, 0x13, 0x5e, 0x3c, 0x92,
0xde, 0xc1, 0xa6, 0xc4, 0x2e, 0xfd, 0xfe, 0xf8, 0xd2, 0x0b, 0xb9, 0x0d, 0xe2, 0xea, 0x25, 0x94, 0xc8, 0xa3, 0x81, 0x57, 0xa3, 0x8d, 0x4d, 0x0a, 0x77, 0xd7, 0x09, 0x5e, 0x9d, 0x7e, 0x2d, 0x21,
0xbd, 0x85, 0x0d, 0x89, 0x9c, 0x79, 0x7d, 0x7e, 0xeb, 0x5e, 0xd8, 0x35, 0xb1, 0x4d, 0x07, 0x05, 0x7b, 0x03, 0x2e, 0xca, 0xd2, 0x20, 0x59, 0x70, 0xc9, 0xde, 0x42, 0x13, 0xef, 0x7a, 0x13, 0xa7,
0x0b, 0x81, 0xcf, 0xa3, 0x54, 0xce, 0x58, 0x97, 0x33, 0x2a, 0x90, 0xf3, 0xcb, 0x84, 0x4d, 0x72, 0xdc, 0x6b, 0x12, 0xbd, 0xc1, 0xec, 0x1d, 0xbc, 0xc1, 0x35, 0x2f, 0xae, 0x93, 0x50, 0xce, 0xf2,
0x1a, 0xf5, 0x75, 0x71, 0x44, 0xae, 0x3a, 0x81, 0xca, 0xd5, 0x24, 0xf5, 0xe3, 0x08, 0x85, 0xab, 0x22, 0x1d, 0x0d, 0xbc, 0x16, 0x5d, 0x68, 0x87, 0x67, 0xdf, 0xc0, 0xbe, 0xe2, 0x2e, 0xe3, 0xe8,
0x6a, 0x87, 0x4d, 0x4d, 0x41, 0x7d, 0x77, 0x2b, 0xdb, 0x7a, 0x1a, 0xa5, 0xc9, 0xdc, 0xcd, 0x1b, 0xe1, 0x32, 0x4c, 0xb9, 0x07, 0x74, 0xf4, 0x16, 0xcb, 0xbe, 0x86, 0x3d, 0xc5, 0x9c, 0x87, 0x11,
0xd7, 0x8c, 0x61, 0xfc, 0xdf, 0x18, 0xe6, 0xba, 0x31, 0xde, 0x00, 0x28, 0xd4, 0x49, 0x2d, 0x15, 0xff, 0x1c, 0x7c, 0xf2, 0xda, 0x14, 0x66, 0x93, 0xa4, 0x42, 0x12, 0xf3, 0x4c, 0xaa, 0x1a, 0x3b,
0x44, 0x4a, 0x89, 0xe8, 0xc7, 0x91, 0x10, 0xbb, 0x24, 0xc5, 0x56, 0x20, 0xd5, 0x28, 0xe5, 0xbf, 0xaa, 0x46, 0x83, 0xf2, 0xff, 0x70, 0x61, 0x1f, 0x3b, 0x0d, 0xf3, 0xc6, 0x62, 0x8e, 0x5d, 0x75,
0x1a, 0xa5, 0xb2, 0x6a, 0x94, 0x67, 0xf3, 0x55, 0x35, 0xf3, 0xbd, 0x06, 0xeb, 0x2c, 0x4e, 0xfa, 0x0a, 0x8d, 0xab, 0x85, 0x8c, 0xf3, 0x4c, 0x50, 0x57, 0xb5, 0x4f, 0x7a, 0x96, 0x83, 0x76, 0x74,
0x5c, 0x78, 0xdd, 0x6a, 0x98, 0x4d, 0xcb, 0x7d, 0x06, 0x54, 0xf3, 0x80, 0x6e, 0x9e, 0x25, 0x51, 0x5f, 0x87, 0x0e, 0x33, 0x59, 0x3c, 0x07, 0x65, 0xe2, 0x2b, 0x65, 0x38, 0xff, 0xad, 0x0c, 0xf7,
0x6a, 0x2b, 0xa2, 0xec, 0x1d, 0x43, 0x5d, 0xa5, 0x95, 0xec, 0x36, 0xe6, 0xf3, 0x2c, 0x13, 0xb4, 0xb5, 0x32, 0xbe, 0x02, 0x30, 0xa4, 0x53, 0x5e, 0x1a, 0x8c, 0xb2, 0x52, 0x88, 0x38, 0xcf, 0xc8,
0x64, 0x3b, 0x50, 0x7a, 0xf0, 0x82, 0x99, 0xa4, 0xb5, 0xe4, 0xca, 0xe2, 0xd8, 0x78, 0x5f, 0x70, 0xec, 0x9a, 0x32, 0xdb, 0xa0, 0xcc, 0x46, 0xa9, 0xff, 0x63, 0xa3, 0x34, 0x76, 0x1b, 0xe5, 0xa5,
0xa6, 0xb0, 0xa5, 0x29, 0x84, 0x93, 0x65, 0xa7, 0x17, 0x56, 0x9d, 0xbe, 0xf4, 0x24, 0x63, 0xe5, 0xf9, 0x9a, 0x56, 0xf3, 0x7d, 0x09, 0xad, 0xf3, 0xbc, 0x88, 0x38, 0xf5, 0x7a, 0xab, 0xeb, 0xf6,
0x49, 0xe4, 0x6f, 0xcc, 0xfd, 0x6d, 0x4a, 0x7f, 0xe7, 0xb5, 0xf3, 0xc3, 0x14, 0xec, 0xb6, 0xbd, 0x5a, 0xc1, 0x0b, 0x61, 0x36, 0x0f, 0xd8, 0xcd, 0xb3, 0x65, 0x4a, 0x7b, 0xc7, 0x94, 0xb7, 0x1f,
0xd4, 0x23, 0xb2, 0x50, 0x4b, 0x30, 0x2e, 0x12, 0x9c, 0x68, 0x09, 0x96, 0x15, 0xdd, 0x8c, 0x8a, 0xa1, 0x63, 0xca, 0x8a, 0xed, 0xf6, 0xc0, 0x9f, 0xf5, 0x4c, 0xe0, 0x92, 0x1d, 0x42, 0xed, 0x31,
0x74, 0x32, 0xc5, 0x2a, 0x44, 0x44, 0x86, 0x99, 0x74, 0x52, 0xf9, 0xbc, 0xa4, 0xde, 0xbe, 0x22, 0x4c, 0x56, 0x4a, 0xd6, 0x5a, 0xa0, 0xc0, 0x47, 0xe7, 0x43, 0xc5, 0x5f, 0xc2, 0x81, 0xe5, 0x90,
0x5d, 0x26, 0x7b, 0x5f, 0xcf, 0x38, 0x2a, 0x93, 0xcb, 0x14, 0xab, 0x10, 0x9d, 0x9e, 0x35, 0x08, 0x58, 0x6c, 0x77, 0x7a, 0x65, 0xb7, 0xd3, 0xb7, 0xae, 0xe4, 0xec, 0x5c, 0x09, 0xfb, 0x5b, 0x94,
0xe9, 0x2d, 0x37, 0x2f, 0xb5, 0x89, 0xab, 0xfa, 0xc4, 0x24, 0x08, 0xf2, 0xa9, 0x08, 0xb1, 0xe9, 0xfd, 0xed, 0xaa, 0xfe, 0x2e, 0xb1, 0xff, 0x8b, 0x4b, 0xea, 0x0e, 0x42, 0x19, 0xa2, 0x58, 0xc2,
0xd2, 0x92, 0x32, 0x8e, 0xcb, 0x19, 0x07, 0x99, 0x71, 0x5c, 0x93, 0x71, 0xd4, 0xc3, 0x21, 0x3d, 0x9a, 0x60, 0xb1, 0x99, 0xe0, 0xc2, 0x9a, 0x60, 0x85, 0xf0, 0x64, 0x61, 0x58, 0xa7, 0xa6, 0xd8,
0xb0, 0x84, 0x52, 0x38, 0x50, 0x0b, 0x87, 0xcc, 0xaf, 0x0e, 0x0a, 0x16, 0x14, 0xed, 0x36, 0xe4, 0xa4, 0x50, 0xc8, 0x54, 0x5b, 0xa7, 0x9c, 0x2f, 0x21, 0xe6, 0x46, 0x86, 0x75, 0xda, 0xf6, 0xc8,
0x8c, 0x0a, 0xe4, 0x74, 0x61, 0xeb, 0x6a, 0x38, 0x0c, 0xfc, 0x88, 0x5f, 0xcf, 0xf0, 0xbe, 0x13, 0x9e, 0x71, 0x61, 0x54, 0xae, 0xa6, 0xd8, 0xa4, 0x70, 0x77, 0x9d, 0x40, 0xd6, 0xb7, 0x82, 0x12,
0x0d, 0x63, 0xf2, 0xcf, 0x8d, 0x9f, 0x06, 0x3c, 0x53, 0x49, 0x16, 0x8c, 0x41, 0xb1, 0xcd, 0xb1, 0x5a, 0x15, 0x37, 0xed, 0x8a, 0xd1, 0x10, 0xc1, 0x97, 0x34, 0xc4, 0x6e, 0x80, 0x4b, 0x9c, 0x71,
0x9f, 0x49, 0x24, 0xd6, 0x34, 0xea, 0xe9, 0x53, 0x9a, 0xe5, 0x92, 0x96, 0x27, 0xbb, 0xdf, 0x76, 0xb1, 0x3d, 0xe3, 0xa0, 0x66, 0x5c, 0xbc, 0x32, 0xe3, 0xc2, 0x1e, 0x0e, 0xd5, 0x03, 0x5b, 0x2c,
0x5a, 0x07, 0xf2, 0xfb, 0xfb, 0x41, 0xf9, 0x63, 0xf8, 0x5e, 0x16, 0x5f, 0xe2, 0xa3, 0x3f, 0x01, 0x0e, 0x87, 0xb0, 0x86, 0x43, 0xcd, 0xaf, 0x4d, 0x92, 0x0a, 0x86, 0x77, 0x7b, 0xaa, 0x46, 0x83,
0x00, 0x00, 0xff, 0xff, 0xf1, 0x1f, 0x85, 0x3b, 0x9c, 0x07, 0x00, 0x00, 0xf2, 0xc7, 0x70, 0x70, 0x35, 0x9b, 0x25, 0x71, 0xc6, 0xaf, 0x57, 0xe2, 0x7e, 0x94, 0xcd, 0x72,
0xec, 0x9f, 0x9b, 0x58, 0x26, 0x5c, 0xbb, 0xa4, 0x00, 0x63, 0x50, 0x1d, 0x70, 0x11, 0x69, 0x8b,
0x68, 0x8d, 0xa5, 0x0e, 0xd7, 0x52, 0xcf, 0x25, 0x2e, 0xfd, 0x9f, 0x1d, 0xfd, 0x87, 0x86, 0x3b,
0xdd, 0xc4, 0x0b, 0xd4, 0x50, 0xe1, 0xd2, 0xf4, 0x12, 0xe2, 0x88, 0xd0, 0xd2, 0xf8, 0x02, 0xbc,
0x10, 0xcc, 0x87, 0xce, 0x65, 0x2e, 0xe3, 0x59, 0x1c, 0x85, 0xd8, 0xec, 0xfa, 0x0c, 0x8b, 0xc3,
0x98, 0x51, 0x26, 0x8b, 0x7c, 0xba, 0x8a, 0x28, 0xa6, 0xaa, 0x62, 0x4c, 0x0e, 0xcf, 0x27, 0x31,
0x8a, 0x44, 0x7f, 0xc5, 0x4b, 0x88, 0xff, 0x4c, 0xc3, 0xb5, 0xb6, 0xdd, 0x19, 0xae, 0x31, 0xf2,
0xea, 0x29, 0xe3, 0xc5, 0x68, 0x50, 0xba, 0xad, 0x21, 0x7e, 0x62, 0xce, 0x0a, 0x1e, 0x4a, 0xbe,
0xf1, 0xbb, 0x1a, 0x18, 0x0c, 0xaa, 0x3c, 0xe6, 0xe9, 0x1d, 0x2f, 0xce, 0xf2, 0x55, 0x26, 0xc9,
0xf9, 0xbd, 0xc0, 0xa4, 0xfc, 0xdf, 0x2a, 0xd0, 0xc6, 0xc9, 0x2b, 0x55, 0x39, 0x82, 0x3a, 0xc1,
0xcd, 0x24, 0x28, 0x84, 0x22, 0x1b, 0x72, 0xd0, 0x1a, 0xb9, 0x51, 0xb4, 0x51, 0x80, 0xd6, 0x98,
0x7f, 0x41, 0x46, 0xeb, 0xb6, 0xd7, 0x88, 0xde, 0x29, 0xf9, 0x5d, 0x9c, 0x70, 0x5d, 0xac, 0x46,
0x68, 0xe9, 0x69, 0x5c, 0xc8, 0x7b, 0x5d, 0xae, 0x02, 0xc8, 0x0e, 0xd3, 0x30, 0x4e, 0x74, 0xbd,
0x0a, 0x68, 0x5d, 0x9a, 0xa5, 0x2e, 0xfe, 0xaf, 0x15, 0xd8, 0x57, 0xc5, 0x92, 0x3b, 0x78, 0xfd,
0x63, 0xa8, 0xcd, 0x71, 0x4d, 0xb7, 0xdf, 0x79, 0xae, 0x18, 0xf6, 0x07, 0x2a, 0x8e, 0x9d, 0x40,
0x23, 0xc2, 0x2d, 0xf2, 0x82, 0x4a, 0x6b, 0x9f, 0x78, 0x3b, 0x7f, 0x1b, 0x65, 0x46, 0x19, 0xc8,
0x3e, 0x00, 0xa4, 0x24, 0x21, 0x7d, 0x43, 0xd5, 0xc3, 0xea, 0xef, 0xd3, 0x8c, 0xd8, 0xd3, 0xa3,
0x9f, 0x0e, 0xfb, 0xc7, 0xea, 0x11, 0xf8, 0xad, 0x11, 0x7f, 0x57, 0xa7, 0xe7, 0xe0, 0xfb, 0xbf,
0x02, 0x00, 0x00, 0xff, 0xff, 0xc2, 0x41, 0x03, 0xcb, 0x21, 0x0a, 0x00, 0x00,
} }

@ -93,3 +93,36 @@ message OfflinePushInfo{
string Ext = 3; string Ext = 3;
} }
message GroupInfoTip{
string GroupID = 1;
string GroupName = 2;
string Notification = 3;
string Introduction = 4;
string FaceUrl = 5;
string Ex = 6;
string OwnerID = 7;
uint64 CreateTime = 8;
uint32 MemberCount = 9;
}
type GroupMemberFullInfoTip struct {
string GroupId = 1 ;
string UserId = 2 ;
int Role = 3;
uint64 JoinTime = 4;
string NickName = 5;
string FaceUrl =6;
}
message CreateGroupTip{
GroupInfoTip group = 1;
UserInfoTip creator = 2;
repeated GroupMemberFullInfoTip memberList = 3;
}

@ -3,6 +3,7 @@ package utils
import ( import (
"fmt" "fmt"
"reflect" "reflect"
"strconv"
) )
// copy a by b b->a // copy a by b b->a
@ -44,12 +45,6 @@ func CopyStructFields(a interface{}, b interface{}, fields ...string) (err error
return nil return nil
} }
type S1 struct { func OperationIDGenerator() string {
Name string return strconv.FormatInt(time.Now().UnixNano()+int64(rand.Uint32()), 10)
Age int
}
type S2 struct {
Name string
Age int32
} }

Loading…
Cancel
Save