notification

pull/141/head
skiffer-git 3 years ago
parent a328080ba4
commit 7adde6a0a9

@ -160,6 +160,19 @@ messagecallback:
stateChange: stateChange:
switch: false switch: false
notification:
offlinePush:
switch: true
createGroup:
title: "create group title"
desc: "create group desc"
ext: "create group ext"
quitGroup:
title: "quit group title"
desc: "quit group desc"
ext: "quit group ext"
#---------------demo configuration---------------------# #---------------demo configuration---------------------#
#The following configuration items are applied to openIM Demo configuration #The following configuration items are applied to openIM Demo configuration
demoswitch: true demoswitch: true

@ -6,6 +6,7 @@ import (
"Open_IM/pkg/common/config" "Open_IM/pkg/common/config"
"Open_IM/pkg/common/constant" "Open_IM/pkg/common/constant"
"Open_IM/pkg/common/db" "Open_IM/pkg/common/db"
"Open_IM/pkg/common/db/mysql_model/im_mysql_model"
http2 "Open_IM/pkg/common/http" http2 "Open_IM/pkg/common/http"
"Open_IM/pkg/common/log" "Open_IM/pkg/common/log"
"Open_IM/pkg/grpc-etcdv3/getcdv3" "Open_IM/pkg/grpc-etcdv3/getcdv3"
@ -203,17 +204,35 @@ 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) { func CreateGroupNotification(sendID string, creator im_mysql_model.User, group im_mysql_model.Group, memberList []im_mysql_model.GroupMember) {
var msg WSToMsgSvrChatMsg var msg WSToMsgSvrChatMsg
msg.OperationID = utils.OperationIDGenerator() msg.OperationID = utils.OperationIDGenerator()
msg.SendID = SendID msg.SendID = sendID
msg.RecvID = RecvID msg.RecvID = group.GroupId
msg.ContentType = constant.CreateGroupTip msg.ContentType = constant.CreateGroupTip
msg.SessionType = constant.SysMsgType msg.SessionType = constant.GroupChatType
msg.MsgFrom = constant.SysMsgType
var tip open_im_sdk.CreateGroupTip
tip.Group = &open_im_sdk.GroupInfoTip{}
utils.CopyStructFields(tip.Group, group)
tip.Creator = &open_im_sdk.UserInfoTip{}
utils.CopyStructFields(tip.Creator, creator)
for _, v := range memberList {
var groupMemberInfo open_im_sdk.GroupMemberFullInfoTip
utils.CopyStructFields(&groupMemberInfo, v)
tip.MemberList = append(tip.MemberList, &groupMemberInfo)
}
msg.Content = utils.StructToJsonString(tip)
var offlinePushInfo open_im_sdk.OfflinePushInfo
offlinePushInfo.Title = "create group title"
offlinePushInfo.Desc = "create group desc"
offlinePushInfo.Ext = "create group ext"
Notification(&msg, false, offlinePushInfo)
} }
func Notification(m *WSToMsgSvrChatMsg, onlineUserOnly bool, offlineInfo open_im_sdk.OfflinePushInfo) { func Notification(m *WSToMsgSvrChatMsg, onlineUserOnly bool, offlinePushInfo open_im_sdk.OfflinePushInfo) {
} }

@ -3,6 +3,7 @@ package group
import ( import (
"Open_IM/internal/push/content_struct" "Open_IM/internal/push/content_struct"
"Open_IM/internal/push/logic" "Open_IM/internal/push/logic"
"Open_IM/internal/rpc/chat"
"Open_IM/pkg/common/config" "Open_IM/pkg/common/config"
"Open_IM/pkg/common/constant" "Open_IM/pkg/common/constant"
"Open_IM/pkg/common/db" "Open_IM/pkg/common/db"
@ -12,6 +13,7 @@ import (
"Open_IM/pkg/grpc-etcdv3/getcdv3" "Open_IM/pkg/grpc-etcdv3/getcdv3"
pbChat "Open_IM/pkg/proto/chat" pbChat "Open_IM/pkg/proto/chat"
pbGroup "Open_IM/pkg/proto/group" pbGroup "Open_IM/pkg/proto/group"
open_im_sdk "Open_IM/pkg/proto/sdk_ws"
"Open_IM/pkg/utils" "Open_IM/pkg/utils"
"context" "context"
"google.golang.org/grpc" "google.golang.org/grpc"
@ -157,6 +159,23 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR
}) })
} }
var tip open_im_sdk.CreateGroupTip
groupInfo, err := im_mysql_model.FindGroupInfoByGroupId(groupId)
if err != nil {
return &pbGroup.CreateGroupResp{ErrorCode: constant.ErrCreateGroup.ErrCode, ErrorMsg: constant.ErrCreateGroup.ErrMsg}, nil
}
creatorInfo, err := im_mysql_model.FindUserByUID(claims.UID)
if err != nil {
}
memberList, err := im_mysql_model.FindGroupMemberListByGroupId(groupId)
if err != nil {
}
chat.CreateGroupNotification(claims.UID, *creatorInfo, *groupInfo, memberList)
log.Info(req.Token, req.OperationID, "rpc create group success return") log.Info(req.Token, req.OperationID, "rpc create group success return")
return &pbGroup.CreateGroupResp{GroupID: groupId}, nil return &pbGroup.CreateGroupResp{GroupID: groupId}, nil
} }

@ -1,7 +1,7 @@
package config package config
import ( import (
"gopkg.in/yaml.v3" "fmt"
"io/ioutil" "io/ioutil"
"path/filepath" "path/filepath"
"runtime" "runtime"
@ -172,6 +172,21 @@ type config struct {
SmtpPort int `yaml:"smtpPort"` SmtpPort int `yaml:"smtpPort"`
} }
} }
Notification struct {
OfflinePush struct {
Switch bool `yaml:"switch"`
}
CreateGroup struct {
Title string `yaml:"title"`
Desc string `yaml:"desc"`
Ext string `yaml:"ext"`
}
QuiteGroup struct {
Title string `yaml:"title"`
Desc string `yaml:"desc"`
Ext string `yaml:"ext"`
}
}
} }
func init() { func init() {
@ -186,5 +201,5 @@ func init() {
if err = yaml.Unmarshal(bytes, &Config); err != nil { if err = yaml.Unmarshal(bytes, &Config); err != nil {
panic(err.Error()) panic(err.Error())
} }
fmt.Println("init load config: ", Config)
} }

@ -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_d55c44e342c7a2b5, []int{0} return fileDescriptor_ws_0e67cfdf7b3776b1, []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_d55c44e342c7a2b5, []int{1} return fileDescriptor_ws_0e67cfdf7b3776b1, []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_d55c44e342c7a2b5, []int{2} return fileDescriptor_ws_0e67cfdf7b3776b1, []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_d55c44e342c7a2b5, []int{3} return fileDescriptor_ws_0e67cfdf7b3776b1, []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_d55c44e342c7a2b5, []int{4} return fileDescriptor_ws_0e67cfdf7b3776b1, []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_d55c44e342c7a2b5, []int{5} return fileDescriptor_ws_0e67cfdf7b3776b1, []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_d55c44e342c7a2b5, []int{6} return fileDescriptor_ws_0e67cfdf7b3776b1, []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_d55c44e342c7a2b5, []int{7} return fileDescriptor_ws_0e67cfdf7b3776b1, []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_d55c44e342c7a2b5, []int{8} return fileDescriptor_ws_0e67cfdf7b3776b1, []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_d55c44e342c7a2b5, []int{9} return fileDescriptor_ws_0e67cfdf7b3776b1, []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)
@ -759,7 +759,7 @@ func (m *GroupInfoTip) Reset() { *m = GroupInfoTip{} }
func (m *GroupInfoTip) String() string { return proto.CompactTextString(m) } func (m *GroupInfoTip) String() string { return proto.CompactTextString(m) }
func (*GroupInfoTip) ProtoMessage() {} func (*GroupInfoTip) ProtoMessage() {}
func (*GroupInfoTip) Descriptor() ([]byte, []int) { func (*GroupInfoTip) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_d55c44e342c7a2b5, []int{10} return fileDescriptor_ws_0e67cfdf7b3776b1, []int{10}
} }
func (m *GroupInfoTip) XXX_Unmarshal(b []byte) error { func (m *GroupInfoTip) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupInfoTip.Unmarshal(m, b) return xxx_messageInfo_GroupInfoTip.Unmarshal(m, b)
@ -842,6 +842,138 @@ func (m *GroupInfoTip) GetMemberCount() uint32 {
return 0 return 0
} }
type GroupMemberFullInfoTip struct {
GroupId string `protobuf:"bytes,1,opt,name=GroupId" json:"GroupId,omitempty"`
UserId string `protobuf:"bytes,2,opt,name=UserId" json:"UserId,omitempty"`
Role int32 `protobuf:"varint,3,opt,name=Role" json:"Role,omitempty"`
JoinTime uint64 `protobuf:"varint,4,opt,name=JoinTime" json:"JoinTime,omitempty"`
NickName string `protobuf:"bytes,5,opt,name=NickName" json:"NickName,omitempty"`
FaceUrl string `protobuf:"bytes,6,opt,name=FaceUrl" json:"FaceUrl,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GroupMemberFullInfoTip) Reset() { *m = GroupMemberFullInfoTip{} }
func (m *GroupMemberFullInfoTip) String() string { return proto.CompactTextString(m) }
func (*GroupMemberFullInfoTip) ProtoMessage() {}
func (*GroupMemberFullInfoTip) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_0e67cfdf7b3776b1, []int{11}
}
func (m *GroupMemberFullInfoTip) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupMemberFullInfoTip.Unmarshal(m, b)
}
func (m *GroupMemberFullInfoTip) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GroupMemberFullInfoTip.Marshal(b, m, deterministic)
}
func (dst *GroupMemberFullInfoTip) XXX_Merge(src proto.Message) {
xxx_messageInfo_GroupMemberFullInfoTip.Merge(dst, src)
}
func (m *GroupMemberFullInfoTip) XXX_Size() int {
return xxx_messageInfo_GroupMemberFullInfoTip.Size(m)
}
func (m *GroupMemberFullInfoTip) XXX_DiscardUnknown() {
xxx_messageInfo_GroupMemberFullInfoTip.DiscardUnknown(m)
}
var xxx_messageInfo_GroupMemberFullInfoTip proto.InternalMessageInfo
func (m *GroupMemberFullInfoTip) GetGroupId() string {
if m != nil {
return m.GroupId
}
return ""
}
func (m *GroupMemberFullInfoTip) GetUserId() string {
if m != nil {
return m.UserId
}
return ""
}
func (m *GroupMemberFullInfoTip) GetRole() int32 {
if m != nil {
return m.Role
}
return 0
}
func (m *GroupMemberFullInfoTip) GetJoinTime() uint64 {
if m != nil {
return m.JoinTime
}
return 0
}
func (m *GroupMemberFullInfoTip) GetNickName() string {
if m != nil {
return m.NickName
}
return ""
}
func (m *GroupMemberFullInfoTip) GetFaceUrl() string {
if m != nil {
return m.FaceUrl
}
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 []*GroupMemberFullInfoTip `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_0e67cfdf7b3776b1, []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() []*GroupMemberFullInfoTip {
if m != nil {
return m.MemberList
}
return nil
}
type UserInfoTip struct { type UserInfoTip struct {
UserID string `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"` UserID string `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"`
Name string `protobuf:"bytes,2,opt,name=Name" json:"Name,omitempty"` Name string `protobuf:"bytes,2,opt,name=Name" json:"Name,omitempty"`
@ -860,7 +992,7 @@ func (m *UserInfoTip) Reset() { *m = UserInfoTip{} }
func (m *UserInfoTip) String() string { return proto.CompactTextString(m) } func (m *UserInfoTip) String() string { return proto.CompactTextString(m) }
func (*UserInfoTip) ProtoMessage() {} func (*UserInfoTip) ProtoMessage() {}
func (*UserInfoTip) Descriptor() ([]byte, []int) { func (*UserInfoTip) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_d55c44e342c7a2b5, []int{11} return fileDescriptor_ws_0e67cfdf7b3776b1, []int{13}
} }
func (m *UserInfoTip) XXX_Unmarshal(b []byte) error { func (m *UserInfoTip) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UserInfoTip.Unmarshal(m, b) return xxx_messageInfo_UserInfoTip.Unmarshal(m, b)
@ -936,60 +1068,6 @@ func (m *UserInfoTip) GetEx() string {
return "" 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")
@ -1003,76 +1081,81 @@ func init() {
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((*GroupInfoTip)(nil), "open_im_sdk.GroupInfoTip")
proto.RegisterType((*UserInfoTip)(nil), "open_im_sdk.UserInfoTip") proto.RegisterType((*GroupMemberFullInfoTip)(nil), "open_im_sdk.GroupMemberFullInfoTip")
proto.RegisterType((*CreateGroupTip)(nil), "open_im_sdk.CreateGroupTip") proto.RegisterType((*CreateGroupTip)(nil), "open_im_sdk.CreateGroupTip")
proto.RegisterType((*UserInfoTip)(nil), "open_im_sdk.UserInfoTip")
} }
func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_d55c44e342c7a2b5) } func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_0e67cfdf7b3776b1) }
var fileDescriptor_ws_d55c44e342c7a2b5 = []byte{ var fileDescriptor_ws_0e67cfdf7b3776b1 = []byte{
// 1021 bytes of a gzipped FileDescriptorProto // 1078 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x56, 0xcb, 0x6e, 0x23, 0xb7, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x56, 0x5d, 0x4f, 0xe3, 0x46,
0x12, 0x85, 0xba, 0xf5, 0x2c, 0xc9, 0xf6, 0x80, 0xd7, 0xf0, 0xed, 0x0c, 0x82, 0x40, 0x68, 0x04, 0x14, 0x95, 0xed, 0x04, 0xc8, 0x0d, 0xb0, 0xab, 0x29, 0xa2, 0xee, 0xaa, 0xaa, 0x22, 0xb7, 0xaa,
0x81, 0x30, 0x0b, 0x19, 0xf0, 0x6c, 0x06, 0x13, 0x04, 0x41, 0x6c, 0xc9, 0x86, 0x82, 0x91, 0x6d, 0xa2, 0x7d, 0x00, 0x89, 0x7d, 0xa9, 0xb6, 0xaa, 0xaa, 0x42, 0x02, 0xf2, 0x6a, 0x03, 0x68, 0x60,
0xb4, 0x3c, 0x9b, 0x6c, 0x8c, 0x76, 0x8b, 0x92, 0x1b, 0xee, 0x87, 0xd4, 0xa4, 0x6c, 0xf9, 0x3f, 0x5f, 0xfa, 0x82, 0x8c, 0x33, 0x80, 0x85, 0x3f, 0x12, 0x8f, 0x03, 0xe1, 0x7f, 0xf4, 0xb5, 0xff,
0xb2, 0xcd, 0x37, 0x64, 0x9d, 0x5f, 0xc8, 0x22, 0x7f, 0x14, 0x20, 0xa8, 0x22, 0x5b, 0x26, 0x25, 0xa1, 0xaf, 0xed, 0x4f, 0xe8, 0x43, 0xff, 0x51, 0xa5, 0xea, 0xde, 0x19, 0x9b, 0x99, 0x18, 0xb5,
0xe7, 0xb1, 0xe3, 0x39, 0xaa, 0x22, 0x59, 0xe7, 0x54, 0xb5, 0x08, 0x07, 0x62, 0xfa, 0x70, 0xfb, 0x7d, 0x9b, 0x73, 0x72, 0xc7, 0x33, 0xf7, 0x9c, 0x73, 0x1d, 0xc3, 0x2b, 0x39, 0xbd, 0xbf, 0x7a,
0x24, 0x8e, 0x9f, 0x44, 0x7f, 0x51, 0xe4, 0x32, 0x67, 0xed, 0x7c, 0xc1, 0xb3, 0xdb, 0x38, 0xbd, 0x94, 0xfb, 0x8f, 0x72, 0x6f, 0x56, 0x16, 0x55, 0xc1, 0xfa, 0xc5, 0x4c, 0xe4, 0x57, 0x49, 0x76,
0x15, 0xd3, 0x07, 0xff, 0xf7, 0x0a, 0x78, 0xd7, 0xab, 0x24, 0x19, 0x73, 0x21, 0xc2, 0x39, 0x3f, 0x25, 0xa7, 0xf7, 0xc1, 0x9f, 0x0e, 0xf8, 0xe7, 0x8b, 0x34, 0x9d, 0x08, 0x29, 0xa3, 0x5b, 0x71,
0x7d, 0x9e, 0xf0, 0xe5, 0xa7, 0x58, 0xc8, 0x80, 0x8b, 0x05, 0x3b, 0x82, 0xfa, 0x38, 0x5c, 0x4f, 0xf8, 0x74, 0x21, 0xe6, 0x1f, 0x13, 0x59, 0x71, 0x21, 0x67, 0x6c, 0x17, 0xd6, 0x26, 0xd1, 0xf2,
0xf8, 0xd2, 0xab, 0x74, 0x2b, 0x3d, 0x37, 0xd0, 0x88, 0xf8, 0x38, 0x43, 0xde, 0xd1, 0x3c, 0x21, 0x42, 0xcc, 0x7d, 0x67, 0xe0, 0x0c, 0x3d, 0xae, 0x11, 0xf1, 0x49, 0x8e, 0xbc, 0xab, 0x79, 0x42,
0xf6, 0x3d, 0xec, 0x4d, 0xe2, 0x6c, 0x9e, 0xf0, 0xcf, 0x82, 0x17, 0x63, 0x31, 0xf7, 0xdc, 0xae, 0xec, 0x47, 0xd8, 0xba, 0x48, 0xf2, 0xdb, 0x54, 0x7c, 0x92, 0xa2, 0x9c, 0xc8, 0x5b, 0xdf, 0x1b,
0xdb, 0x6b, 0x9f, 0x7c, 0xd1, 0x37, 0x4e, 0xec, 0x5f, 0x84, 0xf2, 0x9e, 0x17, 0xe7, 0x79, 0x91, 0x78, 0xc3, 0xfe, 0xc1, 0x17, 0x7b, 0xc6, 0x89, 0x7b, 0x27, 0x51, 0x75, 0x27, 0xca, 0xe3, 0xa2,
0x86, 0x32, 0xb0, 0xe3, 0xd9, 0x77, 0xd0, 0xb9, 0x28, 0xf2, 0xd5, 0xa2, 0xcc, 0xaf, 0xfe, 0x5b, 0xcc, 0xa2, 0x8a, 0xdb, 0xf5, 0xec, 0x07, 0xd8, 0x3c, 0x29, 0x8b, 0xc5, 0xac, 0xde, 0xdf, 0xf9,
0xbe, 0x15, 0xee, 0xbf, 0x87, 0xff, 0xbf, 0x5e, 0xcb, 0x92, 0x79, 0xd0, 0x10, 0x0a, 0x79, 0x95, 0xaf, 0xfd, 0x56, 0x79, 0xf0, 0x0e, 0x3e, 0x7f, 0xb9, 0x97, 0x39, 0xf3, 0x61, 0x5d, 0x2a, 0xe4,
0xae, 0xdb, 0x73, 0x83, 0x12, 0xfa, 0x87, 0xc0, 0x2e, 0xb8, 0x1c, 0x87, 0xeb, 0x1f, 0xb2, 0xa9, 0x3b, 0x03, 0x6f, 0xe8, 0xf1, 0x1a, 0x06, 0x3b, 0xc0, 0x4e, 0x44, 0x35, 0x89, 0x96, 0x3f, 0xe5,
0xaa, 0x23, 0xe0, 0x4b, 0x7f, 0x08, 0xff, 0xdb, 0x61, 0x95, 0x22, 0xa9, 0xa5, 0x48, 0xba, 0x51, 0x53, 0xd5, 0x07, 0x17, 0xf3, 0x60, 0x0c, 0x9f, 0xb5, 0x58, 0xa5, 0x48, 0x66, 0x29, 0x92, 0x35,
0x24, 0xb5, 0x14, 0x51, 0xc8, 0xff, 0x11, 0x3a, 0xe6, 0x7d, 0xd9, 0x3e, 0x38, 0xa3, 0x01, 0xe5, 0x8a, 0x64, 0x96, 0x22, 0x0a, 0x05, 0x1f, 0x60, 0xd3, 0xbc, 0x2f, 0xdb, 0x06, 0x37, 0x1c, 0xd1,
0xb6, 0x02, 0x67, 0x34, 0x60, 0xef, 0xa0, 0x4a, 0x77, 0x72, 0xa8, 0xd0, 0x23, 0xab, 0xd0, 0xb1, 0xde, 0x1e, 0x77, 0xc3, 0x11, 0x7b, 0x0b, 0x1d, 0xba, 0x93, 0x4b, 0x8d, 0xee, 0x5a, 0x8d, 0x4e,
0x98, 0xeb, 0x2a, 0x29, 0xc6, 0xff, 0xd3, 0x81, 0xd6, 0x86, 0xc3, 0x13, 0x27, 0x3c, 0x9b, 0x6e, 0xe4, 0xad, 0xee, 0x92, 0x6a, 0x82, 0xbf, 0x5d, 0xe8, 0x35, 0x1c, 0x9e, 0x78, 0x21, 0xf2, 0x69,
0x76, 0xd3, 0x08, 0xf9, 0x80, 0x47, 0x8f, 0xa3, 0x01, 0xdd, 0xa4, 0x15, 0x68, 0x84, 0x02, 0x60, 0xf3, 0x34, 0x8d, 0x90, 0xe7, 0x22, 0x7e, 0x08, 0x47, 0x74, 0x93, 0x1e, 0xd7, 0x08, 0x05, 0xc0,
0x72, 0x91, 0xa7, 0x9e, 0xdb, 0xad, 0xf4, 0x6a, 0x41, 0x09, 0x59, 0x17, 0xda, 0x67, 0x79, 0x26, 0xcd, 0x65, 0x91, 0xf9, 0xde, 0xc0, 0x19, 0x76, 0x79, 0x0d, 0xd9, 0x00, 0xfa, 0x47, 0x45, 0x5e,
0x79, 0x26, 0x6f, 0x9e, 0x17, 0xdc, 0xab, 0xd2, 0xaf, 0x26, 0x85, 0x11, 0x13, 0x5e, 0x3c, 0x92, 0x89, 0xbc, 0xba, 0x7c, 0x9a, 0x09, 0xbf, 0x43, 0xbf, 0x9a, 0x14, 0x56, 0x5c, 0x88, 0xf2, 0x81,
0xc8, 0xa3, 0x81, 0x57, 0xa3, 0x8d, 0x4d, 0x0a, 0x77, 0xd7, 0x09, 0x5e, 0x9d, 0x7e, 0x2d, 0x21, 0x44, 0x0e, 0x47, 0x7e, 0x97, 0x1e, 0x6c, 0x52, 0xf8, 0x74, 0xbd, 0xc1, 0x5f, 0xa3, 0x5f, 0x6b,
0x7b, 0x03, 0x2e, 0xca, 0xd2, 0x20, 0x59, 0x70, 0xc9, 0xde, 0x42, 0x13, 0xef, 0x7a, 0x13, 0xa7, 0xc8, 0x5e, 0x83, 0x87, 0xb2, 0xac, 0x93, 0x2c, 0xb8, 0x64, 0x6f, 0x60, 0x03, 0xef, 0x7a, 0x99,
0xdc, 0x6b, 0x12, 0xbd, 0xc1, 0xec, 0x1d, 0xbc, 0xc1, 0x35, 0x2f, 0xae, 0x93, 0x50, 0xce, 0xf2, 0x64, 0xc2, 0xdf, 0x20, 0xba, 0xc1, 0xec, 0x2d, 0xbc, 0xc6, 0xb5, 0x28, 0xcf, 0xd3, 0xa8, 0xba,
0x22, 0x1d, 0x0d, 0xbc, 0x16, 0x5d, 0x68, 0x87, 0x67, 0xdf, 0xc0, 0xbe, 0xe2, 0x2e, 0xe3, 0xe8, 0x29, 0xca, 0x2c, 0x1c, 0xf9, 0x3d, 0xba, 0x50, 0x8b, 0x67, 0xdf, 0xc2, 0xb6, 0xe2, 0x4e, 0x93,
0xe1, 0x32, 0x4c, 0xb9, 0x07, 0x74, 0xf4, 0x16, 0xcb, 0xbe, 0x86, 0x3d, 0xc5, 0x9c, 0x87, 0x11, 0xf8, 0xfe, 0x34, 0xca, 0x84, 0x0f, 0x74, 0xf4, 0x0a, 0xcb, 0xbe, 0x81, 0x2d, 0xc5, 0x1c, 0x47,
0xff, 0x1c, 0x7c, 0xf2, 0xda, 0x14, 0x66, 0x93, 0xa4, 0x42, 0x12, 0xf3, 0x4c, 0xaa, 0x1a, 0x3b, 0xb1, 0xf8, 0xc4, 0x3f, 0xfa, 0x7d, 0x2a, 0xb3, 0x49, 0x52, 0x21, 0x4d, 0x44, 0x5e, 0xa9, 0x1e,
0xaa, 0x46, 0x83, 0xf2, 0xff, 0x70, 0x61, 0x1f, 0x3b, 0x0d, 0xf3, 0xc6, 0x62, 0x8e, 0x5d, 0x75, 0x37, 0x55, 0x8f, 0x06, 0x15, 0xfc, 0xe5, 0xc1, 0x36, 0x26, 0x0d, 0xf7, 0x4d, 0xe4, 0x2d, 0xa6,
0x0a, 0x8d, 0xab, 0x85, 0x8c, 0xf3, 0x4c, 0x50, 0x57, 0xb5, 0x4f, 0x7a, 0x96, 0x83, 0x76, 0x74, 0xea, 0x10, 0xd6, 0xcf, 0x66, 0x55, 0x52, 0xe4, 0x92, 0x52, 0xd5, 0x3f, 0x18, 0x5a, 0x0e, 0xda,
0x5f, 0x87, 0x0e, 0x33, 0x59, 0x3c, 0x07, 0x65, 0xe2, 0x2b, 0x65, 0x38, 0xff, 0xad, 0x0c, 0xf7, 0xd5, 0x7b, 0xba, 0x74, 0x9c, 0x57, 0xe5, 0x13, 0xaf, 0x37, 0xbe, 0xd0, 0x86, 0xfb, 0xff, 0xda,
0xb5, 0x32, 0xbe, 0x02, 0x30, 0xa4, 0x53, 0x5e, 0x1a, 0x8c, 0xb2, 0x52, 0x88, 0x38, 0xcf, 0xc8, 0xf0, 0x5e, 0x6a, 0xe3, 0x2b, 0x00, 0x43, 0x3a, 0xe5, 0xa5, 0xc1, 0x28, 0x2b, 0xa5, 0x4c, 0x8a,
0xec, 0x9a, 0x32, 0xdb, 0xa0, 0xcc, 0x46, 0xa9, 0xff, 0x63, 0xa3, 0x34, 0x76, 0x1b, 0xe5, 0xa5, 0x9c, 0xcc, 0xee, 0x2a, 0xb3, 0x0d, 0xca, 0x0c, 0xca, 0xda, 0xbf, 0x06, 0x65, 0xbd, 0x1d, 0x94,
0xf9, 0x9a, 0x56, 0xf3, 0x7d, 0x09, 0xad, 0xf3, 0xbc, 0x88, 0x38, 0xf5, 0x7a, 0xab, 0xeb, 0xf6, 0xe7, 0xf0, 0x6d, 0x58, 0xe1, 0xfb, 0x12, 0x7a, 0xc7, 0x45, 0x19, 0x0b, 0xca, 0x7a, 0x6f, 0xe0,
0x5a, 0xc1, 0x0b, 0x61, 0x36, 0x0f, 0xd8, 0xcd, 0xb3, 0x65, 0x4a, 0x7b, 0xc7, 0x94, 0xb7, 0x1f, 0x0d, 0x7b, 0xfc, 0x99, 0x30, 0xc3, 0x03, 0x76, 0x78, 0x56, 0x4c, 0xe9, 0xb7, 0x4c, 0x79, 0xf3,
0xa1, 0x63, 0xca, 0x8a, 0xed, 0xf6, 0xc0, 0x9f, 0xf5, 0x4c, 0xe0, 0x92, 0x1d, 0x42, 0xed, 0x31, 0x1e, 0x36, 0x4d, 0x59, 0x31, 0x6e, 0xf7, 0xe2, 0x49, 0xcf, 0x04, 0x2e, 0xd9, 0x0e, 0x74, 0x1f,
0x4c, 0x56, 0x4a, 0xd6, 0x5a, 0xa0, 0xc0, 0x47, 0xe7, 0x43, 0xc5, 0x5f, 0xc2, 0x81, 0xe5, 0x90, 0xa2, 0x74, 0xa1, 0x64, 0xed, 0x72, 0x05, 0xde, 0xbb, 0xdf, 0x39, 0xc1, 0x1c, 0x5e, 0x59, 0x0e,
0x58, 0x6c, 0x77, 0x7a, 0x65, 0xb7, 0xd3, 0xb7, 0xae, 0xe4, 0xec, 0x5c, 0x09, 0xfb, 0x5b, 0x94, 0xc9, 0xd9, 0x6a, 0xd2, 0x9d, 0x76, 0xd2, 0x57, 0xae, 0xe4, 0xb6, 0xae, 0x84, 0xf9, 0x96, 0x75,
0xfd, 0xed, 0xaa, 0xfe, 0x2e, 0xb1, 0xff, 0x8b, 0x4b, 0xea, 0x0e, 0x42, 0x19, 0xa2, 0x58, 0xc2, 0xbe, 0x3d, 0x95, 0xef, 0x1a, 0x07, 0xbf, 0x7a, 0xa4, 0xee, 0x28, 0xaa, 0x22, 0x14, 0x4b, 0x5a,
0x9a, 0x60, 0xb1, 0x99, 0xe0, 0xc2, 0x9a, 0x60, 0x85, 0xf0, 0x64, 0x61, 0x58, 0xa7, 0xa6, 0xd8, 0x13, 0x2c, 0x9b, 0x09, 0x2e, 0xad, 0x09, 0x56, 0x08, 0x4f, 0x96, 0x86, 0x75, 0x6a, 0x8a, 0x4d,
0xa4, 0x50, 0xc8, 0x54, 0x5b, 0xa7, 0x9c, 0x2f, 0x21, 0xe6, 0x46, 0x86, 0x75, 0xda, 0xf6, 0xc8, 0x0a, 0x85, 0xcc, 0xb4, 0x75, 0xca, 0xf9, 0x1a, 0xe2, 0xde, 0xd8, 0xb0, 0x4e, 0xdb, 0x1e, 0xdb,
0x9e, 0x71, 0x61, 0x54, 0xae, 0xa6, 0xd8, 0xa4, 0x70, 0x77, 0x9d, 0x40, 0xd6, 0xb7, 0x82, 0x12, 0x33, 0x2e, 0x8d, 0xce, 0xd5, 0x14, 0x9b, 0x14, 0x3e, 0x5d, 0x6f, 0x20, 0xeb, 0x7b, 0xbc, 0x86,
0x5a, 0x15, 0x37, 0xed, 0x8a, 0xd1, 0x10, 0xc1, 0x97, 0x34, 0xc4, 0x6e, 0x80, 0x4b, 0x9c, 0x71, 0x56, 0xc7, 0x1b, 0x76, 0xc7, 0x68, 0x88, 0x14, 0x73, 0x1a, 0x62, 0x8f, 0xe3, 0x12, 0x67, 0x5c,
0xb1, 0x3d, 0xe3, 0xa0, 0x66, 0x5c, 0xbc, 0x32, 0xe3, 0xc2, 0x1e, 0x0e, 0xd5, 0x03, 0x5b, 0x2c, 0xae, 0xce, 0x38, 0xa8, 0x19, 0x97, 0x2f, 0xcc, 0xb8, 0xb4, 0x87, 0x43, 0x65, 0x60, 0x85, 0xc5,
0x0e, 0x87, 0xb0, 0x86, 0x43, 0xcd, 0xaf, 0x4d, 0x92, 0x0a, 0x86, 0x77, 0x7b, 0xaa, 0x46, 0x83, 0xe1, 0x90, 0xd6, 0x70, 0xa8, 0xf9, 0xb5, 0x49, 0x52, 0xc1, 0xf0, 0x6e, 0x4b, 0xf5, 0x68, 0x50,
0xf2, 0xc7, 0x70, 0x70, 0x35, 0x9b, 0x25, 0x71, 0xc6, 0xaf, 0x57, 0xe2, 0x7e, 0x94, 0xcd, 0x72, 0xc1, 0x04, 0x5e, 0x9d, 0xdd, 0xdc, 0xa4, 0x49, 0x2e, 0xce, 0x17, 0xf2, 0x2e, 0xcc, 0x6f, 0x0a,
0xec, 0x9f, 0x9b, 0x58, 0x26, 0x5c, 0xbb, 0xa4, 0x00, 0x63, 0x50, 0x1d, 0x70, 0x11, 0x69, 0x8b, 0xcc, 0xcf, 0x65, 0x52, 0xa5, 0x42, 0xbb, 0xa4, 0x00, 0x63, 0xd0, 0x19, 0x09, 0x19, 0x6b, 0x8b,
0x68, 0x8d, 0xa5, 0x0e, 0xd7, 0x52, 0xcf, 0x25, 0x2e, 0xfd, 0x9f, 0x1d, 0xfd, 0x87, 0x86, 0x3b, 0x68, 0x8d, 0xad, 0x8e, 0x97, 0x95, 0x9e, 0x4b, 0x5c, 0x06, 0xbf, 0xb8, 0xfa, 0x0f, 0x0d, 0x9f,
0xdd, 0xc4, 0x0b, 0xd4, 0x50, 0xe1, 0xd2, 0xf4, 0x12, 0xe2, 0x88, 0xd0, 0xd2, 0xf8, 0x02, 0xbc, 0x74, 0x99, 0xcc, 0x50, 0x43, 0x85, 0x6b, 0xd3, 0x6b, 0x88, 0x23, 0x42, 0x4b, 0xe3, 0x0d, 0xf0,
0x10, 0xcc, 0x87, 0xce, 0x65, 0x2e, 0xe3, 0x59, 0x1c, 0x85, 0xd8, 0xec, 0xfa, 0x0c, 0x8b, 0xc3, 0x4c, 0xb0, 0x00, 0x36, 0x4f, 0x8b, 0x2a, 0xb9, 0x49, 0xe2, 0x08, 0xc3, 0xae, 0xcf, 0xb0, 0x38,
0x98, 0x51, 0x26, 0x8b, 0x7c, 0xba, 0x8a, 0x28, 0xa6, 0xaa, 0x62, 0x4c, 0x0e, 0xcf, 0x27, 0x31, 0xac, 0x09, 0xf3, 0xaa, 0x2c, 0xa6, 0x8b, 0x98, 0x6a, 0x3a, 0xaa, 0xc6, 0xe4, 0xf0, 0x7c, 0x12,
0x8a, 0x44, 0x7f, 0xc5, 0x4b, 0x88, 0xff, 0x4c, 0xc3, 0xb5, 0xb6, 0xdd, 0x19, 0xae, 0x31, 0xf2, 0xa3, 0x4c, 0xf5, 0x5b, 0xbc, 0x86, 0xf8, 0xcf, 0x34, 0x5e, 0x6a, 0xdb, 0xdd, 0xf1, 0x12, 0x2b,
0xea, 0x29, 0xe3, 0xc5, 0x68, 0x50, 0xba, 0xad, 0x21, 0x7e, 0x62, 0xce, 0x0a, 0x1e, 0x4a, 0xbe, 0xcf, 0x1e, 0x73, 0x51, 0x86, 0xa3, 0xda, 0x6d, 0x0d, 0xf1, 0x15, 0x73, 0x54, 0x8a, 0xa8, 0x12,
0xf1, 0xbb, 0x1a, 0x18, 0x0c, 0xaa, 0x3c, 0xe6, 0xe9, 0x1d, 0x2f, 0xce, 0xf2, 0x55, 0x26, 0xc9, 0x8d, 0xdf, 0x1d, 0x6e, 0x30, 0xa8, 0xf2, 0x44, 0x64, 0xd7, 0xa2, 0x3c, 0x2a, 0x16, 0x79, 0x45,
0xf9, 0xbd, 0xc0, 0xa4, 0xfc, 0xdf, 0x2a, 0xd0, 0xc6, 0xc9, 0x2b, 0x55, 0x39, 0x82, 0x3a, 0xc1, 0xce, 0x6f, 0x71, 0x93, 0x0a, 0x7e, 0x73, 0x60, 0x97, 0x7a, 0x53, 0xe4, 0xf1, 0x22, 0x4d, 0x5b,
0xcd, 0x24, 0x28, 0x84, 0x22, 0x1b, 0x72, 0xd0, 0x1a, 0xb9, 0x51, 0xb4, 0x51, 0x80, 0xd6, 0x98, 0x02, 0x4d, 0x6d, 0x81, 0xa6, 0x38, 0x16, 0x38, 0xad, 0xe1, 0xb4, 0x1e, 0x0b, 0x85, 0xd0, 0x09,
0x7f, 0x41, 0x46, 0xeb, 0xb6, 0xd7, 0x88, 0xde, 0x29, 0xf9, 0x5d, 0x9c, 0x70, 0x5d, 0xac, 0x46, 0x5e, 0xa4, 0xf5, 0x3c, 0xd0, 0x1a, 0x03, 0xf9, 0xa1, 0x48, 0x72, 0xba, 0x60, 0x87, 0x2e, 0xd8,
0x68, 0xe9, 0x69, 0x5c, 0xc8, 0x7b, 0x5d, 0xae, 0x02, 0xc8, 0x0e, 0xd3, 0x30, 0x4e, 0x74, 0xbd, 0x60, 0xfc, 0xad, 0x09, 0x93, 0xd2, 0xa0, 0xc1, 0xa6, 0x3c, 0x6b, 0x96, 0x3c, 0xc1, 0x1f, 0x0e,
0x0a, 0x68, 0x5d, 0x9a, 0xa5, 0x2e, 0xfe, 0xaf, 0x15, 0xd8, 0x57, 0xc5, 0x92, 0x3b, 0x78, 0xfd, 0x6c, 0xab, 0x1e, 0xe9, 0x3e, 0x78, 0xd5, 0x7d, 0xe8, 0xd2, 0x9a, 0x2e, 0xda, 0xfa, 0x4a, 0x31,
0x63, 0xa8, 0xcd, 0x71, 0x4d, 0xb7, 0xdf, 0x79, 0xae, 0x18, 0xf6, 0x07, 0x2a, 0x8e, 0x9d, 0x40, 0x5c, 0xe7, 0xaa, 0x8e, 0x1d, 0xc0, 0x3a, 0x3d, 0xa2, 0x28, 0xa9, 0x85, 0xfe, 0x81, 0xdf, 0xfa,
0x23, 0xc2, 0x2d, 0xf2, 0x82, 0x4a, 0x6b, 0x9f, 0x78, 0x3b, 0x7f, 0x1b, 0x65, 0x46, 0x19, 0xc8, 0xb7, 0xa8, 0x77, 0xd4, 0x85, 0xec, 0x08, 0x40, 0x89, 0x44, 0xaf, 0x4e, 0xf5, 0x3d, 0xf5, 0x75,
0x3e, 0x00, 0xa4, 0x24, 0x21, 0x7d, 0x43, 0xd5, 0xc3, 0xea, 0xef, 0xd3, 0x8c, 0xd8, 0xd3, 0xa3, 0xfb, 0xa4, 0x96, 0x90, 0xdc, 0xd8, 0x16, 0xfc, 0xee, 0x40, 0xdf, 0x78, 0x7a, 0x23, 0x65, 0xf3,
0x9f, 0x0e, 0xfb, 0xc7, 0xea, 0x11, 0xf8, 0xad, 0x11, 0x7f, 0x57, 0xa7, 0xe7, 0xe0, 0xfb, 0xbf, 0xe6, 0x51, 0x08, 0xa5, 0x34, 0xe2, 0x47, 0x6b, 0xe4, 0xc2, 0xb8, 0x49, 0x1c, 0xad, 0x71, 0xff,
0x02, 0x00, 0x00, 0xff, 0xff, 0xc2, 0x41, 0x03, 0xcb, 0x21, 0x0a, 0x00, 0x00, 0x09, 0x0d, 0x96, 0x7e, 0xcd, 0x68, 0x44, 0xdf, 0x85, 0xc5, 0x75, 0x92, 0xd6, 0xc2, 0x6a, 0x84,
0x23, 0x74, 0x98, 0x94, 0xd5, 0x9d, 0x16, 0x55, 0x01, 0x64, 0xc7, 0x59, 0x94, 0xa4, 0x3a, 0x5f,
0x0a, 0xe8, 0x1c, 0x6e, 0xd4, 0x39, 0x3c, 0xdc, 0xfd, 0x79, 0x67, 0x6f, 0x5f, 0x7d, 0xc2, 0x7e,
0x6f, 0xb4, 0x7d, 0xbd, 0x46, 0x1f, 0xb3, 0xef, 0xfe, 0x09, 0x00, 0x00, 0xff, 0xff, 0x6f, 0xce,
0xa8, 0xe0, 0xdf, 0x0a, 0x00, 0x00,
} }

@ -107,10 +107,10 @@ message GroupInfoTip{
type GroupMemberFullInfoTip struct { message GroupMemberFullInfoTip {
string GroupId = 1 ; string GroupId = 1 ;
string UserId = 2 ; string UserId = 2 ;
int Role = 3; int32 Role = 3;
uint64 JoinTime = 4; uint64 JoinTime = 4;
string NickName = 5; string NickName = 5;
string FaceUrl =6; string FaceUrl =6;
@ -119,10 +119,20 @@ type GroupMemberFullInfoTip struct {
message CreateGroupTip{ message CreateGroupTip{
GroupInfoTip group = 1; GroupInfoTip Group = 1;
UserInfoTip creator = 2; UserInfoTip Creator = 2;
repeated GroupMemberFullInfoTip memberList = 3; repeated GroupMemberFullInfoTip MemberList = 3;
} }
message UserInfoTip {
string UserID = 1;
string Name = 2;
string Icon = 3;
int32 Gender = 4;
string Mobile = 5;
string Birth = 6;
string Email = 7;
string Ex = 8;
}

Loading…
Cancel
Save