1
0
mirror of https://github.com/Mrs4s/MiraiGo.git synced 2025-05-04 19:17:38 +08:00

protocol: update protobuf files & save work progress

This commit is contained in:
Mrs4s 2021-11-26 09:54:46 +08:00
parent 4bdb791334
commit 797a912b6d
No known key found for this signature in database
GPG Key ID: 3186E98FA19CE3A7
15 changed files with 11880 additions and 105 deletions

View File

@ -1076,11 +1076,11 @@ func (c *QQClient) buildAppInfoRequestPacket(id string) (uint16, []byte) {
}
b, _ := proto.Marshal(req)
body := &qweb.QWebReq{
Seq: 1,
Qua: "V1_AND_SQ_8.4.8_1492_YYB_D",
DeviceInfo: fmt.Sprintf("i=865166025905020&imsi=460002478794049&mac=02:00:00:00:00:00&m=%v&o=7.1.2&a=25&sc=1&sd=0&p=900*1600&f=nubia&mm=3479&cf=2407&cc=4&aid=086bbf84a7d5fbb3&qimei=865166023450458&sharpP=1&n=wifi", string(c.deviceInfo.Model)),
Seq: proto.Int64(1),
Qua: proto.String("V1_AND_SQ_8.4.8_1492_YYB_D"),
DeviceInfo: proto.String(c.getWebDeviceInfo()),
BusiBuff: b,
TraceId: fmt.Sprintf("%v_%v_%v", c.Uin, time.Now().Format("0102150405"), rand.Int63()),
TraceId: proto.String(fmt.Sprintf("%v_%v_%v", c.Uin, time.Now().Format("0102150405"), rand.Int63())),
}
payload, _ := proto.Marshal(body)
packet := packets.BuildUniPacket(c.Uin, seq, "LightAppSvc.mini_app_info.GetAppInfoById", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload)

View File

@ -82,6 +82,7 @@ type QQClient struct {
ksid []byte
// session info
qwebSeq int64
sigInfo *loginSigInfo
bigDataSession *bigDataSessionInfo
dpwd []byte
@ -861,6 +862,10 @@ func (c *QQClient) nextFriendSeq() int32 {
return atomic.AddInt32(&c.friendSeq, 1)
}
func (c *QQClient) nextQWebSeq() int64 {
return atomic.AddInt64(&c.qwebSeq, 1)
}
func (c *QQClient) nextGroupDataTransSeq() int32 {
return atomic.AddInt32(&c.groupDataTransSeq, 2)
}

View File

@ -810,8 +810,8 @@ func decodeAppInfoResponse(_ *QQClient, _ *incomingPacketInfo, payload []byte) (
if err := proto.Unmarshal(payload, &pkg); err != nil {
return nil, errors.Wrap(err, "failed to unmarshal protobuf message")
}
if pkg.RetCode != 0 {
return nil, errors.New(pkg.ErrMsg)
if pkg.GetRetCode() != 0 {
return nil, errors.New(pkg.GetErrMsg())
}
if err := proto.Unmarshal(pkg.BusiBuff, &rsp); err != nil {
return nil, errors.Wrap(err, "failed to unmarshal protobuf message")

View File

@ -643,6 +643,16 @@ func (p requestParams) int32(k string) int32 {
return i.(int32)
}
func (c *QQClient) getWebDeviceInfo() (i string) {
qimei := strings.ToLower(utils.RandomString(36))
i += fmt.Sprintf("i=%v&imsi=&mac=%v&m=%v&o=%v&", c.deviceInfo.IMEI, utils.B2S(c.deviceInfo.MacAddress), utils.B2S(c.deviceInfo.Device), utils.B2S(c.deviceInfo.Version.Release))
i += fmt.Sprintf("a=%v&sd=0&c64=0&sc=1&p=1080*2210&aid=%v&", c.deviceInfo.Version.Sdk, c.deviceInfo.IMEI)
i += fmt.Sprintf("f=%v&mm=%v&cf=%v&cc=%v&", c.deviceInfo.Brand, 5629 /* Total Memory*/, 1725 /* CPU Frequency */, 8 /* CPU Core Count */)
i += fmt.Sprintf("qimei=%v&qimei36=%v&", qimei, qimei)
i += "sharpP=1&n=wifi&support_xsj_live=true&client_mod=default&timezone=Asia/Shanghai&material_sdk_version=2.9.0&vh265=null&refreshrate=60"
return
}
func (c *QQClient) packOIDBPackage(cmd, serviceType int32, body []byte) []byte {
pkg := &oidb.OIDBSSOPkg{
Command: cmd,

View File

@ -2,6 +2,8 @@ package client
import (
"fmt"
"github.com/Mrs4s/MiraiGo/client/pb/qweb"
"math/rand"
"sort"
"time"
@ -10,8 +12,8 @@ import (
"github.com/Mrs4s/MiraiGo/binary"
"github.com/Mrs4s/MiraiGo/client/pb/channel"
"github.com/Mrs4s/MiraiGo/internal/packets"
"github.com/Mrs4s/MiraiGo/internal/proto"
"github.com/Mrs4s/MiraiGo/utils"
"google.golang.org/protobuf/proto"
)
type (
@ -522,6 +524,65 @@ func (s *GuildService) FetchChannelInfo(guildId, channelId uint64) (*ChannelInfo
return convertChannelInfo(body.Info), nil
}
func (s *GuildService) GetChannelTopics(guildId, channelId uint64) error {
guild := s.FindGuild(guildId)
if guild == nil {
return errors.New("guild not found")
}
channelInfo := guild.FindChannel(channelId)
if channelInfo == nil {
return errors.New("channel not found")
}
if channelInfo.ChannelType != ChannelTypeTopic {
return errors.New("channel type error")
}
req, _ := proto.Marshal(&channel.StGetChannelFeedsReq{
Count: proto.Uint32(12),
From: proto.Uint32(0),
ChannelSign: &channel.StChannelSign{
GuildId: &guildId,
ChannelId: &channelId,
},
FeedAttchInfo: proto.String(""), // isLoadMore
})
payload, _ := proto.Marshal(&qweb.QWebReq{
Seq: proto.Int64(s.c.nextQWebSeq()),
Qua: proto.String("V1_AND_SQ_8.8.50_2324_YYB_D"),
DeviceInfo: proto.String(s.c.getWebDeviceInfo()),
BusiBuff: req,
TraceId: proto.String(fmt.Sprintf("%v_%v_%v", s.c.Uin, time.Now().Format("0102150405"), rand.Int63())),
Extinfo: []*qweb.COMMEntry{
{
Key: proto.String("fc-appid"),
Value: proto.String("96"),
},
{
Key: proto.String("environment_id"),
Value: proto.String("production"),
},
{
Key: proto.String("tiny_id"),
Value: proto.String(fmt.Sprint(s.TinyId)),
},
},
})
seq := s.c.nextSeq()
packet := packets.BuildUniPacket(s.c.Uin, seq, "QChannelSvr.trpc.qchannel.commreader.ComReader.GetChannelTimelineFeeds", 1, s.c.OutGoingPacketSessionId, []byte{}, s.c.sigInfo.d2Key, payload)
rsp, err := s.c.sendAndWaitDynamic(seq, packet)
if err != nil {
return errors.New("send packet error")
}
pkg := new(qweb.QWebRsp)
body := new(channel.StGetChannelFeedsRsp)
if err = proto.Unmarshal(rsp, pkg); err != nil {
return errors.Wrap(err, "failed to unmarshal protobuf message")
}
if err = proto.Unmarshal(pkg.BusiBuff, body); err != nil {
return errors.Wrap(err, "failed to unmarshal protobuf message")
}
return nil
}
/* need analysis
func (s *GuildService) fetchChannelListState(guildId uint64, channels []*ChannelInfo) {
seq := s.c.nextSeq()

View File

@ -0,0 +1,879 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.27.1
// protoc v3.14.0
// source: pb/channel/GuildChannelBase.proto
package channel
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type ChannelUserInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ClientIdentity *ClientIdentity `protobuf:"bytes,1,opt,name=clientIdentity" json:"clientIdentity,omitempty"`
MemberType *uint32 `protobuf:"varint,2,opt,name=memberType" json:"memberType,omitempty"`
Permission *ChannelUserPermission `protobuf:"bytes,3,opt,name=permission" json:"permission,omitempty"`
RoleGroups []*BaseRoleGroupInfo `protobuf:"bytes,4,rep,name=roleGroups" json:"roleGroups,omitempty"`
}
func (x *ChannelUserInfo) Reset() {
*x = ChannelUserInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ChannelUserInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChannelUserInfo) ProtoMessage() {}
func (x *ChannelUserInfo) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ChannelUserInfo.ProtoReflect.Descriptor instead.
func (*ChannelUserInfo) Descriptor() ([]byte, []int) {
return file_pb_channel_GuildChannelBase_proto_rawDescGZIP(), []int{0}
}
func (x *ChannelUserInfo) GetClientIdentity() *ClientIdentity {
if x != nil {
return x.ClientIdentity
}
return nil
}
func (x *ChannelUserInfo) GetMemberType() uint32 {
if x != nil && x.MemberType != nil {
return *x.MemberType
}
return 0
}
func (x *ChannelUserInfo) GetPermission() *ChannelUserPermission {
if x != nil {
return x.Permission
}
return nil
}
func (x *ChannelUserInfo) GetRoleGroups() []*BaseRoleGroupInfo {
if x != nil {
return x.RoleGroups
}
return nil
}
type ChannelUserPermission struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AllowReadFeed *bool `protobuf:"varint,1,opt,name=allowReadFeed" json:"allowReadFeed,omitempty"`
AllowWriteFeed *bool `protobuf:"varint,2,opt,name=allowWriteFeed" json:"allowWriteFeed,omitempty"`
}
func (x *ChannelUserPermission) Reset() {
*x = ChannelUserPermission{}
if protoimpl.UnsafeEnabled {
mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ChannelUserPermission) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChannelUserPermission) ProtoMessage() {}
func (x *ChannelUserPermission) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ChannelUserPermission.ProtoReflect.Descriptor instead.
func (*ChannelUserPermission) Descriptor() ([]byte, []int) {
return file_pb_channel_GuildChannelBase_proto_rawDescGZIP(), []int{1}
}
func (x *ChannelUserPermission) GetAllowReadFeed() bool {
if x != nil && x.AllowReadFeed != nil {
return *x.AllowReadFeed
}
return false
}
func (x *ChannelUserPermission) GetAllowWriteFeed() bool {
if x != nil && x.AllowWriteFeed != nil {
return *x.AllowWriteFeed
}
return false
}
type ClientIdentity struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ClientId *uint32 `protobuf:"varint,1,opt,name=clientId" json:"clientId,omitempty"`
Desc *string `protobuf:"bytes,2,opt,name=desc" json:"desc,omitempty"`
}
func (x *ClientIdentity) Reset() {
*x = ClientIdentity{}
if protoimpl.UnsafeEnabled {
mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClientIdentity) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClientIdentity) ProtoMessage() {}
func (x *ClientIdentity) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ClientIdentity.ProtoReflect.Descriptor instead.
func (*ClientIdentity) Descriptor() ([]byte, []int) {
return file_pb_channel_GuildChannelBase_proto_rawDescGZIP(), []int{2}
}
func (x *ClientIdentity) GetClientId() uint32 {
if x != nil && x.ClientId != nil {
return *x.ClientId
}
return 0
}
func (x *ClientIdentity) GetDesc() string {
if x != nil && x.Desc != nil {
return *x.Desc
}
return ""
}
type BaseGuildInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GuildId *uint64 `protobuf:"varint,1,opt,name=guildId" json:"guildId,omitempty"`
Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
JoinTime *uint64 `protobuf:"varint,3,opt,name=joinTime" json:"joinTime,omitempty"`
}
func (x *BaseGuildInfo) Reset() {
*x = BaseGuildInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BaseGuildInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BaseGuildInfo) ProtoMessage() {}
func (x *BaseGuildInfo) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BaseGuildInfo.ProtoReflect.Descriptor instead.
func (*BaseGuildInfo) Descriptor() ([]byte, []int) {
return file_pb_channel_GuildChannelBase_proto_rawDescGZIP(), []int{3}
}
func (x *BaseGuildInfo) GetGuildId() uint64 {
if x != nil && x.GuildId != nil {
return *x.GuildId
}
return 0
}
func (x *BaseGuildInfo) GetName() string {
if x != nil && x.Name != nil {
return *x.Name
}
return ""
}
func (x *BaseGuildInfo) GetJoinTime() uint64 {
if x != nil && x.JoinTime != nil {
return *x.JoinTime
}
return 0
}
type BaseRoleGroupInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RoleId *uint64 `protobuf:"varint,1,opt,name=roleId" json:"roleId,omitempty"`
Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
Color *uint32 `protobuf:"varint,3,opt,name=color" json:"color,omitempty"`
}
func (x *BaseRoleGroupInfo) Reset() {
*x = BaseRoleGroupInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BaseRoleGroupInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BaseRoleGroupInfo) ProtoMessage() {}
func (x *BaseRoleGroupInfo) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BaseRoleGroupInfo.ProtoReflect.Descriptor instead.
func (*BaseRoleGroupInfo) Descriptor() ([]byte, []int) {
return file_pb_channel_GuildChannelBase_proto_rawDescGZIP(), []int{4}
}
func (x *BaseRoleGroupInfo) GetRoleId() uint64 {
if x != nil && x.RoleId != nil {
return *x.RoleId
}
return 0
}
func (x *BaseRoleGroupInfo) GetName() string {
if x != nil && x.Name != nil {
return *x.Name
}
return ""
}
func (x *BaseRoleGroupInfo) GetColor() uint32 {
if x != nil && x.Color != nil {
return *x.Color
}
return 0
}
type StChannelInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Sign *StChannelSign `protobuf:"bytes,1,opt,name=sign" json:"sign,omitempty"`
Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
IconUrl *string `protobuf:"bytes,3,opt,name=iconUrl" json:"iconUrl,omitempty"`
}
func (x *StChannelInfo) Reset() {
*x = StChannelInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StChannelInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StChannelInfo) ProtoMessage() {}
func (x *StChannelInfo) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StChannelInfo.ProtoReflect.Descriptor instead.
func (*StChannelInfo) Descriptor() ([]byte, []int) {
return file_pb_channel_GuildChannelBase_proto_rawDescGZIP(), []int{5}
}
func (x *StChannelInfo) GetSign() *StChannelSign {
if x != nil {
return x.Sign
}
return nil
}
func (x *StChannelInfo) GetName() string {
if x != nil && x.Name != nil {
return *x.Name
}
return ""
}
func (x *StChannelInfo) GetIconUrl() string {
if x != nil && x.IconUrl != nil {
return *x.IconUrl
}
return ""
}
type StChannelSign struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GuildId *uint64 `protobuf:"varint,1,opt,name=guildId" json:"guildId,omitempty"`
ChannelId *uint64 `protobuf:"varint,2,opt,name=channelId" json:"channelId,omitempty"`
}
func (x *StChannelSign) Reset() {
*x = StChannelSign{}
if protoimpl.UnsafeEnabled {
mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StChannelSign) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StChannelSign) ProtoMessage() {}
func (x *StChannelSign) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StChannelSign.ProtoReflect.Descriptor instead.
func (*StChannelSign) Descriptor() ([]byte, []int) {
return file_pb_channel_GuildChannelBase_proto_rawDescGZIP(), []int{6}
}
func (x *StChannelSign) GetGuildId() uint64 {
if x != nil && x.GuildId != nil {
return *x.GuildId
}
return 0
}
func (x *StChannelSign) GetChannelId() uint64 {
if x != nil && x.ChannelId != nil {
return *x.ChannelId
}
return 0
}
type StCommonExt struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MapInfo []*CommonEntry `protobuf:"bytes,1,rep,name=mapInfo" json:"mapInfo,omitempty"`
AttachInfo *string `protobuf:"bytes,2,opt,name=attachInfo" json:"attachInfo,omitempty"`
MapBytesInfo []*BytesEntry `protobuf:"bytes,3,rep,name=mapBytesInfo" json:"mapBytesInfo,omitempty"`
}
func (x *StCommonExt) Reset() {
*x = StCommonExt{}
if protoimpl.UnsafeEnabled {
mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StCommonExt) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StCommonExt) ProtoMessage() {}
func (x *StCommonExt) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StCommonExt.ProtoReflect.Descriptor instead.
func (*StCommonExt) Descriptor() ([]byte, []int) {
return file_pb_channel_GuildChannelBase_proto_rawDescGZIP(), []int{7}
}
func (x *StCommonExt) GetMapInfo() []*CommonEntry {
if x != nil {
return x.MapInfo
}
return nil
}
func (x *StCommonExt) GetAttachInfo() string {
if x != nil && x.AttachInfo != nil {
return *x.AttachInfo
}
return ""
}
func (x *StCommonExt) GetMapBytesInfo() []*BytesEntry {
if x != nil {
return x.MapBytesInfo
}
return nil
}
type BytesEntry struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Key *string `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
Value []byte `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
}
func (x *BytesEntry) Reset() {
*x = BytesEntry{}
if protoimpl.UnsafeEnabled {
mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BytesEntry) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BytesEntry) ProtoMessage() {}
func (x *BytesEntry) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BytesEntry.ProtoReflect.Descriptor instead.
func (*BytesEntry) Descriptor() ([]byte, []int) {
return file_pb_channel_GuildChannelBase_proto_rawDescGZIP(), []int{8}
}
func (x *BytesEntry) GetKey() string {
if x != nil && x.Key != nil {
return *x.Key
}
return ""
}
func (x *BytesEntry) GetValue() []byte {
if x != nil {
return x.Value
}
return nil
}
type CommonEntry struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Key *string `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
Value *string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
}
func (x *CommonEntry) Reset() {
*x = CommonEntry{}
if protoimpl.UnsafeEnabled {
mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CommonEntry) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CommonEntry) ProtoMessage() {}
func (x *CommonEntry) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CommonEntry.ProtoReflect.Descriptor instead.
func (*CommonEntry) Descriptor() ([]byte, []int) {
return file_pb_channel_GuildChannelBase_proto_rawDescGZIP(), []int{9}
}
func (x *CommonEntry) GetKey() string {
if x != nil && x.Key != nil {
return *x.Key
}
return ""
}
func (x *CommonEntry) GetValue() string {
if x != nil && x.Value != nil {
return *x.Value
}
return ""
}
var File_pb_channel_GuildChannelBase_proto protoreflect.FileDescriptor
var file_pb_channel_GuildChannelBase_proto_rawDesc = []byte{
0x0a, 0x21, 0x70, 0x62, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2f, 0x47, 0x75, 0x69,
0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x12, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0xee, 0x01, 0x0a,
0x0f, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
0x12, 0x3f, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69,
0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e,
0x65, 0x6c, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74,
0x79, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74,
0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x54, 0x79, 0x70,
0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e,
0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x50, 0x65, 0x72, 0x6d, 0x69,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
0x6e, 0x12, 0x3a, 0x0a, 0x0a, 0x72, 0x6f, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18,
0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e,
0x42, 0x61, 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x0a, 0x72, 0x6f, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x22, 0x65, 0x0a,
0x15, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x50, 0x65, 0x72, 0x6d,
0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x52,
0x65, 0x61, 0x64, 0x46, 0x65, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61,
0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x61, 0x64, 0x46, 0x65, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0e,
0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x57, 0x72, 0x69, 0x74, 0x65, 0x46, 0x65, 0x65, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x57, 0x72, 0x69, 0x74, 0x65,
0x46, 0x65, 0x65, 0x64, 0x22, 0x40, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64,
0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x22, 0x59, 0x0a, 0x0d, 0x42, 0x61, 0x73, 0x65, 0x47, 0x75,
0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49,
0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x54, 0x69, 0x6d,
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x54, 0x69, 0x6d,
0x65, 0x22, 0x55, 0x0a, 0x11, 0x42, 0x61, 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x12,
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
0x0d, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x22, 0x69, 0x0a, 0x0d, 0x53, 0x74, 0x43, 0x68,
0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x04, 0x73, 0x69, 0x67,
0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
0x6c, 0x2e, 0x53, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x52,
0x04, 0x73, 0x69, 0x67, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x63, 0x6f,
0x6e, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x63, 0x6f, 0x6e,
0x55, 0x72, 0x6c, 0x22, 0x47, 0x0a, 0x0d, 0x53, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
0x53, 0x69, 0x67, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1c,
0x0a, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x04, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x96, 0x01, 0x0a,
0x0b, 0x53, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x12, 0x2e, 0x0a, 0x07,
0x6d, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e,
0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x0a,
0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x37, 0x0a, 0x0c,
0x6d, 0x61, 0x70, 0x42, 0x79, 0x74, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x42, 0x79, 0x74,
0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6d, 0x61, 0x70, 0x42, 0x79, 0x74, 0x65,
0x73, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x34, 0x0a, 0x0a, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x35, 0x0a, 0x0b, 0x43,
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x42, 0x14, 0x5a, 0x12, 0x70, 0x62, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
0x3b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
}
var (
file_pb_channel_GuildChannelBase_proto_rawDescOnce sync.Once
file_pb_channel_GuildChannelBase_proto_rawDescData = file_pb_channel_GuildChannelBase_proto_rawDesc
)
func file_pb_channel_GuildChannelBase_proto_rawDescGZIP() []byte {
file_pb_channel_GuildChannelBase_proto_rawDescOnce.Do(func() {
file_pb_channel_GuildChannelBase_proto_rawDescData = protoimpl.X.CompressGZIP(file_pb_channel_GuildChannelBase_proto_rawDescData)
})
return file_pb_channel_GuildChannelBase_proto_rawDescData
}
var file_pb_channel_GuildChannelBase_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
var file_pb_channel_GuildChannelBase_proto_goTypes = []interface{}{
(*ChannelUserInfo)(nil), // 0: channel.ChannelUserInfo
(*ChannelUserPermission)(nil), // 1: channel.ChannelUserPermission
(*ClientIdentity)(nil), // 2: channel.ClientIdentity
(*BaseGuildInfo)(nil), // 3: channel.BaseGuildInfo
(*BaseRoleGroupInfo)(nil), // 4: channel.BaseRoleGroupInfo
(*StChannelInfo)(nil), // 5: channel.StChannelInfo
(*StChannelSign)(nil), // 6: channel.StChannelSign
(*StCommonExt)(nil), // 7: channel.StCommonExt
(*BytesEntry)(nil), // 8: channel.BytesEntry
(*CommonEntry)(nil), // 9: channel.CommonEntry
}
var file_pb_channel_GuildChannelBase_proto_depIdxs = []int32{
2, // 0: channel.ChannelUserInfo.clientIdentity:type_name -> channel.ClientIdentity
1, // 1: channel.ChannelUserInfo.permission:type_name -> channel.ChannelUserPermission
4, // 2: channel.ChannelUserInfo.roleGroups:type_name -> channel.BaseRoleGroupInfo
6, // 3: channel.StChannelInfo.sign:type_name -> channel.StChannelSign
9, // 4: channel.StCommonExt.mapInfo:type_name -> channel.CommonEntry
8, // 5: channel.StCommonExt.mapBytesInfo:type_name -> channel.BytesEntry
6, // [6:6] is the sub-list for method output_type
6, // [6:6] is the sub-list for method input_type
6, // [6:6] is the sub-list for extension type_name
6, // [6:6] is the sub-list for extension extendee
0, // [0:6] is the sub-list for field type_name
}
func init() { file_pb_channel_GuildChannelBase_proto_init() }
func file_pb_channel_GuildChannelBase_proto_init() {
if File_pb_channel_GuildChannelBase_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_pb_channel_GuildChannelBase_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ChannelUserInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pb_channel_GuildChannelBase_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ChannelUserPermission); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pb_channel_GuildChannelBase_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ClientIdentity); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pb_channel_GuildChannelBase_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BaseGuildInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pb_channel_GuildChannelBase_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BaseRoleGroupInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pb_channel_GuildChannelBase_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StChannelInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pb_channel_GuildChannelBase_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StChannelSign); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pb_channel_GuildChannelBase_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StCommonExt); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pb_channel_GuildChannelBase_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BytesEntry); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pb_channel_GuildChannelBase_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CommonEntry); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_pb_channel_GuildChannelBase_proto_rawDesc,
NumEnums: 0,
NumMessages: 10,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_pb_channel_GuildChannelBase_proto_goTypes,
DependencyIndexes: file_pb_channel_GuildChannelBase_proto_depIdxs,
MessageInfos: file_pb_channel_GuildChannelBase_proto_msgTypes,
}.Build()
File_pb_channel_GuildChannelBase_proto = out.File
file_pb_channel_GuildChannelBase_proto_rawDesc = nil
file_pb_channel_GuildChannelBase_proto_goTypes = nil
file_pb_channel_GuildChannelBase_proto_depIdxs = nil
}

View File

@ -0,0 +1,75 @@
syntax = "proto2";
package channel;
option go_package = "pb/channel;channel";
message ChannelUserInfo {
optional ClientIdentity clientIdentity = 1;
optional uint32 memberType = 2;
optional ChannelUserPermission permission = 3;
repeated BaseRoleGroupInfo roleGroups = 4;
}
message ChannelUserPermission {
optional bool allowReadFeed = 1;
optional bool allowWriteFeed = 2;
}
message ClientIdentity {
optional uint32 clientId = 1;
optional string desc = 2;
}
message BaseGuildInfo {
optional uint64 guildId = 1;
optional string name = 2;
optional uint64 joinTime = 3;
}
message BaseRoleGroupInfo {
optional uint64 roleId = 1;
optional string name = 2;
optional uint32 color = 3;
}
message StChannelInfo {
optional StChannelSign sign = 1;
optional string name = 2;
optional string iconUrl = 3;
}
message StChannelSign {
optional uint64 guildId = 1;
optional uint64 channelId = 2;
}
/*
message StEmojiReaction {
optional string emojiId = 1;
optional uint64 emojiType = 2;
optional uint64 cnt = 3;
optional bool isClicked = 4;
optional bool isDefaultEmoji = 10001;
}
message StEmotionReactionInfo {
optional string id = 1;
repeated StEmojiReaction emojiReactionList = 2;
}
*/
message StCommonExt {
repeated CommonEntry mapInfo = 1;
optional string attachInfo = 2;
repeated BytesEntry mapBytesInfo = 3;
}
message BytesEntry {
optional string key = 1;
optional bytes value = 2;
}
message CommonEntry {
optional string key = 1;
optional string value = 2;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,652 @@
syntax = "proto2";
package channel;
option go_package = "pb/channel;channel";
import "pb/channel/MsgResponsesSvr.proto";
import "pb/channel/GuildChannelBase.proto";
message ContentMetaData {
optional RichTextContentCount count = 1;
optional int64 ContentID = 2;
}
message FeedMetaData {
optional ContentMetaData content = 1;
optional uint64 lastModifiedTime = 2;
}
message FeedRedTouchTransInfo {
optional string feedId = 1;
optional string author = 2;
optional int64 createTs = 3;
optional int32 msgType = 4;
optional int32 pageType = 5;
optional int32 redType = 6;
optional int32 insertPageType = 7;
}
message NoticeOperation {
optional uint32 type = 1;
optional string schema = 2;
}
message RichTextContentCount {
optional uint64 textWord = 1;
optional uint64 at = 2;
optional uint64 url = 3;
optional uint64 emoji = 4;
optional uint64 image = 5;
optional uint64 video = 6;
}
message StAnimation {
optional uint32 width = 1;
optional uint32 height = 2;
optional string animationUrl = 3;
optional bytes busiData = 4;
}
message StBusiReportInfo {
optional StRecomReportInfo recomReport = 1;
optional string traceID = 2;
}
message StChannelShareInfo {
optional string feedID = 1;
optional string posterID = 2;
optional uint64 feedPublishAt = 3;
optional StChannelSign channelSign = 4;
optional uint64 updateDurationMs = 5;
optional StChannelShareSign sign = 6;
}
message StChannelShareSign {
optional uint64 createAt = 1;
optional string token = 2;
}
message StCircleRankItem {
optional int32 rankNo = 1;
optional string circleName = 2;
optional int64 fuelValue = 3;
optional int64 feedNum = 4;
optional string circleID = 5;
}
message StClientInfo {
optional string feedclientkey = 1;
repeated CommonEntry clientMap = 2;
}
message StComment {
optional string id = 1;
optional StUser postUser = 2;
optional uint64 createTime = 3;
optional string content = 4;
optional uint32 replyCount = 5;
repeated StReply vecReply = 6;
optional bytes busiData = 7;
optional StLike likeInfo = 8;
optional uint32 typeFlag = 9;
repeated string atUinList = 10;
optional uint32 typeFlag2 = 11;
optional uint64 createTimeNs = 12;
repeated CommonEntry storeExtInfo = 13;
optional string thirdId = 14;
optional uint32 sourceType = 15;
optional StRichText richContents = 16;
}
message StDebugInfo {
repeated CommonEntry debugMap = 1;
}
message StDittoFeed {
optional uint32 dittoId = 1;
optional uint32 dittoPatternId = 2;
optional bytes dittoData = 3;
optional bytes dittoDataNew = 4;
}
message StExifInfo {
repeated CommonEntry kvs = 1;
}
message StExternalMedalWallInfo {
optional bool needRedPoint = 1;
repeated StMedalInfo medalInfos = 2;
optional string medalWallJumpUrl = 3;
optional bool needShowEntrance = 4;
}
message StFeed {
optional string id = 1;
optional StRichText title = 2;
optional StRichText subtitle = 3;
optional StUser poster = 4;
repeated StVideo videos = 5;
optional StRichText contents = 6;
optional uint64 createTime = 7;
optional EmojiReaction emotionReaction = 8;
optional uint32 commentCount = 9;
repeated StComment vecComment = 10;
optional StShare share = 11;
optional StVisitor visitorInfo = 12;
repeated StImage images = 13;
optional StPoiInfoV2 poiInfo = 14;
repeated StTagInfo tagInfos = 15;
optional bytes busiReport = 16;
repeated uint32 opMask = 17;
optional StOpinfo opinfo = 18;
repeated CommonEntry extInfo = 19;
optional string patternInfo = 20;
optional StChannelInfo channelInfo = 21;
optional uint64 createTimeNs = 22;
optional StFeedSummary summary = 23;
optional StRecomInfo recomInfo = 24;
optional FeedMetaData meta = 25;
}
message StFeedAbstract {
optional string id = 1;
optional string title = 2;
optional StUser poster = 3;
optional StImage pic = 4;
optional uint32 type = 5;
optional uint64 createTime = 6;
optional StVideo video = 7;
optional uint32 fuelNum = 8;
optional string content = 9;
repeated StImage images = 10;
optional StFeedCount countInfo = 11;
}
message StFeedCount {
optional int64 liked = 1;
optional int64 push = 2;
optional int64 comment = 3;
optional int64 visitor = 4;
}
message StFeedSummary {
optional uint32 layoutType = 1;
}
message StFollowRecomInfo {
optional string followText = 1;
repeated StFollowUser followUsers = 4;
optional string commFriendText = 6;
optional string commGroupText = 7;
}
message StFollowUser {
optional uint64 uid = 1;
optional string nick = 2;
}
message StGPSV2 {
optional int64 lat = 1;
optional int64 lon = 2;
optional int64 eType = 3;
optional int64 alt = 4;
}
message StGuidePublishBubble {
optional string id = 1;
optional StImage backgroundImage = 2;
optional string jumpUrl = 3;
}
message StIconInfo {
optional string iconUrl40 = 1;
optional string iconUrl100 = 2;
optional string iconUrl140 = 3;
optional string iconUrl640 = 4;
optional string iconUrl = 5;
}
message StImage {
optional uint32 width = 1;
optional uint32 height = 2;
optional string picUrl = 3;
repeated StImageUrl vecImageUrl = 4;
optional string picId = 5;
optional bytes busiData = 6;
optional string imageMD5 = 7;
optional string layerPicUrl = 8;
optional string patternId = 9;
optional uint32 displayIndex = 10;
}
message StImageUrl {
optional uint32 levelType = 1;
optional string url = 2;
optional uint32 width = 3;
optional uint32 height = 4;
optional bytes busiData = 5;
}
message StLightInteractInfo {
optional StUser user = 1;
optional StRelationInfo relation = 2;
optional uint32 count = 3;
optional bytes busiData = 4;
}
message StLike {
optional string id = 1;
optional uint32 count = 2;
optional uint32 status = 3;
repeated StUser vecUser = 4;
optional bytes busiData = 5;
optional StUser postUser = 6;
optional uint32 hasLikedCount = 7;
optional uint32 ownerStatus = 8;
optional string jumpUrl = 9;
}
message StLiteBanner {
optional StImage icon = 1;
optional string title = 2;
optional string jumpUrl = 3;
optional string activityID = 4;
optional string jsonStyle = 5;
repeated CommonEntry extInfo = 6;
}
message StMaterialDataNew {
optional string materialType = 1;
repeated StSingleMaterial materialList = 2;
}
message StMedalInfo {
optional int32 type = 1;
optional string medalName = 2;
optional string medalID = 3;
optional int32 rank = 4;
optional bool isHighLight = 5;
optional bool isNew = 6;
optional string jumpUrl = 7;
optional string iconUrl = 8;
optional string backgroundUrl = 9;
optional string describe = 10;
optional int32 reportValue = 11;
}
message StNotice {
optional StFeed psvFeed = 1;
optional StFeed origineFeed = 2;
optional StNoticePattonInfo pattonInfo = 3;
}
message StNoticePattonInfo {
optional uint32 pattonType = 1;
optional StPlainTxtInfo plainTxt = 2;
}
message StNoticeTxtInfo {
optional StRichText content = 1;
optional StRichText contentOfReference = 2;
}
message StOpinfo {
repeated uint64 createTime = 1;
}
message StPlainTxtInfo {
optional StNoticeTxtInfo txtInfo = 1;
optional NoticeOperation operation = 2;
}
message StPoiInfoV2 {
optional string poiId = 1;
optional string name = 2;
optional int32 poiType = 3;
optional string typeName = 4;
optional string address = 5;
optional int32 districtCode = 6;
optional StGPSV2 gps = 7;
optional int32 distance = 8;
optional int32 hotValue = 9;
optional string phone = 10;
optional string country = 11;
optional string province = 12;
optional string city = 13;
optional int32 poiNum = 14;
optional int32 poiOrderType = 15;
optional string defaultName = 16;
optional string district = 17;
optional string dianPingId = 18;
optional string distanceText = 19;
optional string displayName = 20;
}
message StPrePullCacheFeed {
optional string id = 1;
optional StUser poster = 2;
optional uint64 createTime = 3;
//repeated GuildCommon.BytesEntry busiTranparent = 4;
}
message StProxyInfo {
optional int32 cmdId = 1;
optional int32 subCmdId = 2;
optional string appProtocol = 3;
optional bytes reqBody = 4;
}
message StRankingItem {
optional StUser user = 1;
optional StRelationInfo relation = 2;
optional int64 score = 3;
optional int32 grade = 4;
optional bytes busiData = 5;
optional int32 rankNo = 6;
optional int32 inTopicList = 7;
}
message StRecomForward {
optional string id = 1;
optional string title = 2;
optional string subtitle = 3;
optional StUser poster = 4;
optional uint64 createTime = 5;
optional uint32 type = 6;
optional bytes busiData = 7;
}
message StRecomInfo {
optional string recomReason = 1;
optional bytes recomAttachInfo = 2;
optional string recomTrace = 3;
optional bytes clientSealData = 4;
optional string iconUrl = 5;
optional int32 recomReasonType = 6;
}
message StRecomReportInfo {
repeated StSingleRecomReportInfo recomInfos = 1;
}
message StRelationInfo {
optional string id = 1;
optional uint32 relation = 2;
optional bytes busiData = 3;
optional uint32 relationState = 4;
optional uint32 score = 5;
optional bool isBlock = 6;
optional bool isBlocked = 7;
optional bool isFriend = 8;
optional bool isUncare = 9;
optional uint64 imBitMap = 10;
}
message StReply {
optional string id = 1;
optional StUser postUser = 2;
optional uint64 createTime = 3;
optional string content = 4;
optional StUser targetUser = 5;
optional bytes busiData = 6;
optional StLike likeInfo = 7;
optional uint32 typeFlag = 8;
optional uint32 modifyflag = 9;
repeated string atUinList = 10;
optional uint32 typeFlag2 = 11;
optional uint64 createTimeNs = 12;
repeated CommonEntry storeExtInfo = 13;
optional string thirdId = 14;
optional string targetReplyID = 15;
optional uint32 sourceType = 16;
optional StRichText richContents = 17;
}
message StReportInfo {
optional string id = 1;
optional bytes busiReport = 2;
}
message StRichText {
repeated StRichTextContent contents = 1;
}
message StRichTextAtContent {
optional uint32 type = 1;
optional GuildChannelBaseGuildInfo guildInfo = 2;
optional GuildChannelBaseRoleGroupInfo roleGroupId = 3;
optional StUser user = 4;
}
message GuildChannelBaseGuildInfo {
optional uint64 guildId = 1;
optional string name = 2;
optional uint64 joinTime = 3;
}
message GuildChannelBaseRoleGroupInfo {
optional uint64 roleId = 1;
optional string name = 2;
optional uint32 color = 3;
}
message StRichTextChannelContent {
optional StChannelInfo channelInfo = 1;
}
message StRichTextContent {
optional uint32 type = 1;
optional string patternId = 2;
optional StRichTextTextContent textContent = 3;
optional StRichTextAtContent atContent = 4;
optional StRichTextURLContent urlContent = 5;
optional StRichTextEmojiContent emojiContent = 6;
optional StRichTextChannelContent channelContent = 7;
}
message StRichTextEmojiContent {
optional string id = 1;
optional string type = 2;
optional string name = 3;
optional string url = 4;
}
message StRichTextTextContent {
optional string text = 1;
}
message StRichTextURLContent {
optional string url = 1;
optional string displayText = 2;
}
message StSameTopicGuideInfo {
optional uint32 isSameTopicGuide = 1;
optional int64 stayShowTime = 2;
optional string hashTag = 3;
optional string words = 4;
optional string jumpUrl = 5;
optional string reportExt = 6;
}
message StShare {
optional string title = 1;
optional string desc = 2;
optional uint32 type = 3;
optional string url = 4;
optional StUser author = 5;
optional StUser poster = 6;
repeated StVideo videos = 7;
optional string shorturl = 8;
optional string shareCardInfo = 9;
optional StShareQzoneInfo shareQzoneInfo = 10;
repeated StImage images = 11;
optional uint32 publishTotalUser = 12;
optional uint32 sharedCount = 13;
optional StChannelShareInfo channelShareInfo = 14;
}
message StShareQzoneInfo {
repeated CommonEntry entrys = 1;
}
message StSingleMaterial {
optional string materialId = 1;
}
message StSingleRecomReportInfo {
optional string reportID = 1;
optional bytes reportData = 2;
}
message StTagInfo {
optional string tagId = 1;
optional string tagName = 2;
optional string tagDec = 3;
repeated StUser userList = 4;
repeated StFeedAbstract feedList = 5;
optional uint32 tagTotalUser = 6;
optional uint32 tagTotalFeed = 7;
optional string tagWording = 8;
optional uint32 tagType = 9;
optional uint32 followState = 10;
optional StShare shareInfo = 11;
optional uint32 isTop = 12;
optional uint32 isSelected = 13;
optional int64 userViewHistory = 14;
optional StTagMedalInfo medal = 15;
optional uint32 status = 16;
optional StTagOperateInfo optInfo = 17;
optional uint32 tagBaseStatus = 18;
optional int32 isRecommend = 19;
optional int64 tagViewHistory = 20;
optional string operateIconUrl = 21;
optional string tagReport = 99;
optional string tagIconUrl = 100;
}
message StTagMedalInfo {
optional string tagID = 1;
optional string tagName = 2;
optional uint64 rank = 3;
}
message StTagOperateInfo {
optional string createUser = 1;
optional string coverURL = 2;
optional string desc = 3;
optional string backgroundURL = 4;
optional string bannerURL = 5;
optional string bannerSkipLink = 6;
optional int64 activityStartTime = 7;
optional int64 activityEndTime = 8;
optional string recommendReason = 9;
optional int32 isWhite = 10;
optional int64 beWhiteStartTime = 11;
optional int64 beWhiteEndTime = 12;
optional string publishSchema = 13;
}
message StUnifiedTag {
optional string unifiedType = 1;
optional string unifiedId = 2;
}
message StUser {
optional string id = 1;
optional string nick = 2;
optional StIconInfo icon = 3;
optional string desc = 4;
optional uint32 followState = 5;
optional uint32 type = 6;
optional uint32 sex = 7;
optional uint64 birthday = 8;
optional string school = 9;
optional string location = 11;
optional bytes busiData = 12;
optional uint32 frdState = 13;
optional uint32 relationState = 14;
optional uint32 blackState = 15;
optional StTagMedalInfo medal = 16;
optional int32 constellation = 17;
optional string jumpUrl = 18;
optional string locationCode = 19;
optional string thirdId = 20;
optional string company = 21;
optional string certificationDesc = 22;
optional uint32 descType = 23;
optional GuildChannelBaseChannelUserInfo channelUserInfo = 24;
optional string loginId = 25;
}
message GuildChannelBaseChannelUserInfo {
optional ClientIdentity clientIdentity = 1;
optional uint32 memberType = 2;
// optional ChannelUserPermission permission = 3;
repeated GuildChannelBaseRoleGroupInfo roleGroups = 4;
}
message StUserGroupInfo {
optional string id = 1;
optional string name = 2;
repeated StUser userList = 3;
}
message StUserRecomInfo {
optional StUser user = 1;
repeated StFeedAbstract feedList = 2;
optional bytes busiData = 3;
}
message StVideo {
optional string fileId = 1;
optional uint32 fileSize = 2;
optional uint32 duration = 3;
optional uint32 width = 4;
optional uint32 height = 5;
optional string playUrl = 6;
optional uint32 transStatus = 7;
optional uint32 videoPrior = 8;
optional uint32 videoRate = 9;
repeated StVideoUrl vecVideoUrl = 10;
optional bytes busiData = 11;
optional uint32 approvalStatus = 12;
optional uint32 videoSource = 13;
optional uint32 mediaQualityRank = 14;
optional float mediaQualityScore = 15;
optional string videoMD5 = 16;
optional uint32 isQuic = 17;
optional uint32 orientation = 18;
optional StImage cover = 19;
optional string patternId = 20;
optional uint32 displayIndex = 21;
}
message StVideoUrl {
optional uint32 levelType = 1;
optional string playUrl = 2;
optional uint32 videoPrior = 3;
optional uint32 videoRate = 4;
optional uint32 transStatus = 5;
optional bytes busiData = 6;
optional bool hasWatermark = 7;
}
message StVisitor {
optional uint32 viewCount = 1;
optional bytes busiData = 2;
optional uint32 recomCount = 3;
optional string viewDesc = 4;
}
message StWearingMedal {
repeated StWearingMedalInfo medalInfos = 1;
}
message StWearingMedalInfo {
optional int32 type = 1;
optional string medalName = 2;
optional string medalID = 3;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,93 @@
syntax = "proto2";
package channel;
option go_package = "pb/channel;channel";
import "pb/channel/GuildFeedCloudMeta.proto";
import "pb/channel/GuildChannelBase.proto";
message GetNoticesReq {
optional StCommonExt extInfo = 1;
optional uint32 pageNum = 2;
optional string attachInfo = 3;
}
message GetNoticesRsp {
optional StCommonExt extInfo = 1;
repeated StNotice notices = 2;
optional uint32 totalNum = 3;
optional bool isFinish = 4;
optional string attachInfo = 5;
}
message NeedInsertCommentInfo {
optional string commentID = 1;
}
message RefreshToast {
optional string text = 1;
}
message StGetChannelFeedsReq {
optional StCommonExt extInfo = 1;
optional uint32 count = 2;
optional uint32 from = 3;
optional StChannelSign channelSign = 4;
optional string feedAttchInfo = 5;
}
message StGetChannelFeedsRsp {
optional StCommonExt extInfo = 1;
repeated StFeed vecFeed = 2;
optional uint32 isFinish = 3;
optional StUser user = 4;
optional string feedAttchInfo = 5;
optional RefreshToast refreshToast = 6;
}
message StGetChannelShareFeedReq {
optional StCommonExt extInfo = 1;
optional uint32 from = 2;
optional StChannelShareInfo channelShareInfo = 3;
}
message StGetChannelShareFeedRsp {
optional StCommonExt extInfo = 1;
optional StFeed feed = 2;
}
message StGetFeedCommentsReq {
optional StCommonExt extInfo = 1;
optional string userId = 2;
optional string feedId = 3;
optional uint32 listNum = 4;
optional uint32 from = 5;
optional string attchInfo = 6;
optional string entrySchema = 7;
}
message StGetFeedCommentsRsp {
optional StCommonExt extInfo = 1;
repeated StComment vecComment = 2;
optional uint32 totalNum = 3;
optional uint32 isFinish = 4;
optional string attchInfo = 5;
}
message StGetFeedDetailReq {
optional StCommonExt extInfo = 1;
optional uint32 from = 2;
optional string userId = 3;
optional string feedId = 4;
optional uint64 createTime = 5;
optional uint32 detailType = 6;
optional StChannelSign channelSign = 7;
}
message StGetFeedDetailRsp {
optional StCommonExt extInfo = 1;
optional StFeed feed = 2;
optional StUser loginUser = 3;
}

View File

@ -7,11 +7,10 @@
package channel
import (
reflect "reflect"
sync "sync"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
@ -234,6 +233,7 @@ type EmojiReaction struct {
EmojiType *uint64 `protobuf:"varint,2,opt,name=emojiType" json:"emojiType,omitempty"`
Cnt *uint64 `protobuf:"varint,3,opt,name=cnt" json:"cnt,omitempty"`
IsClicked *bool `protobuf:"varint,4,opt,name=isClicked" json:"isClicked,omitempty"`
IsDefaultEmoji *bool `protobuf:"varint,10001,opt,name=isDefaultEmoji" json:"isDefaultEmoji,omitempty"`
}
func (x *EmojiReaction) Reset() {
@ -296,6 +296,13 @@ func (x *EmojiReaction) GetIsClicked() bool {
return false
}
func (x *EmojiReaction) GetIsDefaultEmoji() bool {
if x != nil && x.IsDefaultEmoji != nil {
return *x.IsDefaultEmoji
}
return false
}
type GuildMsg struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -596,40 +603,43 @@ var file_pb_channel_MsgResponsesSvr_proto_rawDesc = []byte{
0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x44,
0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x4d, 0x73, 0x67, 0x52,
0x65, 0x73, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x44, 0x61, 0x74,
0x61, 0x22, 0x77, 0x0a, 0x0d, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x49, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09,
0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
0x09, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x6e,
0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x63, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09,
0x69, 0x73, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
0x09, 0x69, 0x73, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x22, 0x5c, 0x0a, 0x08, 0x47, 0x75,
0x69, 0x6c, 0x64, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64,
0x12, 0x36, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x4c, 0x69,
0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x53, 0x76, 0x72, 0x43, 0x68,
0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
0x6c, 0x4d, 0x73, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x69, 0x0a, 0x0c, 0x47, 0x75, 0x69, 0x6c,
0x64, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c,
0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64,
0x49, 0x64, 0x12, 0x3f, 0x0a, 0x12, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67,
0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f,
0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x12, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x4c,
0x69, 0x73, 0x74, 0x22, 0x56, 0x0a, 0x06, 0x4d, 0x73, 0x67, 0x43, 0x6e, 0x74, 0x12, 0x16, 0x0a,
0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x4d, 0x73, 0x67, 0x49,
0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x34, 0x0a, 0x0d, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x52, 0x65,
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x45,
0x6d, 0x6f, 0x6a, 0x69, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x65, 0x6d,
0x6f, 0x6a, 0x69, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x33, 0x0a, 0x05, 0x4d,
0x73, 0x67, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x10,
0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x73, 0x65, 0x71,
0x22, 0x37, 0x0a, 0x0b, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12,
0x16, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x4d, 0x73,
0x67, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x6e, 0x74, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x63, 0x6e, 0x74, 0x42, 0x14, 0x5a, 0x12, 0x70, 0x62, 0x2f,
0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x3b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
0x61, 0x22, 0xa0, 0x01, 0x0a, 0x0d, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x52, 0x65, 0x61, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x49, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x49, 0x64, 0x12, 0x1c, 0x0a,
0x09, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
0x52, 0x09, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63,
0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x63, 0x6e, 0x74, 0x12, 0x1c, 0x0a,
0x09, 0x69, 0x73, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08,
0x52, 0x09, 0x69, 0x73, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0e, 0x69,
0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x18, 0x91, 0x4e,
0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45,
0x6d, 0x6f, 0x6a, 0x69, 0x22, 0x5c, 0x0a, 0x08, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x73, 0x67,
0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x0e, 0x63, 0x68,
0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x53, 0x76, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d,
0x73, 0x67, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x4c, 0x69,
0x73, 0x74, 0x22, 0x69, 0x0a, 0x0c, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x73, 0x67, 0x49, 0x6e,
0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x12,
0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69,
0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e,
0x65, 0x6c, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6e, 0x6e,
0x65, 0x6c, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x56, 0x0a,
0x06, 0x4d, 0x73, 0x67, 0x43, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12,
0x34, 0x0a, 0x0d, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x52, 0x65,
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x52, 0x65, 0x61,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x33, 0x0a, 0x05, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x12, 0x18,
0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18,
0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x73, 0x65, 0x71, 0x22, 0x37, 0x0a, 0x0b, 0x4d, 0x73,
0x67, 0x52, 0x65, 0x73, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x02, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x52, 0x02, 0x69,
0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03,
0x63, 0x6e, 0x74, 0x42, 0x14, 0x5a, 0x12, 0x70, 0x62, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
0x6c, 0x3b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
}
var (

View File

@ -26,6 +26,7 @@ message EmojiReaction {
optional uint64 emojiType = 2;
optional uint64 cnt = 3;
optional bool isClicked = 4;
optional bool isDefaultEmoji = 10001;
}
message GuildMsg {

View File

@ -1,17 +1,16 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.26.0
// protoc v3.17.1
// protoc-gen-go v1.27.1
// protoc v3.14.0
// source: protocol.proto
package qweb
import (
reflect "reflect"
sync "sync"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
@ -26,11 +25,17 @@ type QWebReq struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Seq int64 `protobuf:"varint,1,opt,name=seq,proto3" json:"seq,omitempty"`
Qua string `protobuf:"bytes,2,opt,name=qua,proto3" json:"qua,omitempty"`
DeviceInfo string `protobuf:"bytes,3,opt,name=deviceInfo,proto3" json:"deviceInfo,omitempty"`
BusiBuff []byte `protobuf:"bytes,4,opt,name=busiBuff,proto3" json:"busiBuff,omitempty"`
TraceId string `protobuf:"bytes,5,opt,name=traceId,proto3" json:"traceId,omitempty"`
Seq *int64 `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
Qua *string `protobuf:"bytes,2,opt,name=qua" json:"qua,omitempty"`
DeviceInfo *string `protobuf:"bytes,3,opt,name=deviceInfo" json:"deviceInfo,omitempty"`
BusiBuff []byte `protobuf:"bytes,4,opt,name=busiBuff" json:"busiBuff,omitempty"`
TraceId *string `protobuf:"bytes,5,opt,name=traceId" json:"traceId,omitempty"`
Module *string `protobuf:"bytes,6,opt,name=Module" json:"Module,omitempty"`
Cmdname *string `protobuf:"bytes,7,opt,name=Cmdname" json:"Cmdname,omitempty"`
LoginSig *StAuthInfo `protobuf:"bytes,8,opt,name=loginSig" json:"loginSig,omitempty"`
Crypto *StEncryption `protobuf:"bytes,9,opt,name=Crypto" json:"Crypto,omitempty"`
Extinfo []*COMMEntry `protobuf:"bytes,10,rep,name=Extinfo" json:"Extinfo,omitempty"`
ContentType *uint32 `protobuf:"varint,11,opt,name=contentType" json:"contentType,omitempty"`
}
func (x *QWebReq) Reset() {
@ -66,22 +71,22 @@ func (*QWebReq) Descriptor() ([]byte, []int) {
}
func (x *QWebReq) GetSeq() int64 {
if x != nil {
return x.Seq
if x != nil && x.Seq != nil {
return *x.Seq
}
return 0
}
func (x *QWebReq) GetQua() string {
if x != nil {
return x.Qua
if x != nil && x.Qua != nil {
return *x.Qua
}
return ""
}
func (x *QWebReq) GetDeviceInfo() string {
if x != nil {
return x.DeviceInfo
if x != nil && x.DeviceInfo != nil {
return *x.DeviceInfo
}
return ""
}
@ -94,21 +99,64 @@ func (x *QWebReq) GetBusiBuff() []byte {
}
func (x *QWebReq) GetTraceId() string {
if x != nil {
return x.TraceId
if x != nil && x.TraceId != nil {
return *x.TraceId
}
return ""
}
func (x *QWebReq) GetModule() string {
if x != nil && x.Module != nil {
return *x.Module
}
return ""
}
func (x *QWebReq) GetCmdname() string {
if x != nil && x.Cmdname != nil {
return *x.Cmdname
}
return ""
}
func (x *QWebReq) GetLoginSig() *StAuthInfo {
if x != nil {
return x.LoginSig
}
return nil
}
func (x *QWebReq) GetCrypto() *StEncryption {
if x != nil {
return x.Crypto
}
return nil
}
func (x *QWebReq) GetExtinfo() []*COMMEntry {
if x != nil {
return x.Extinfo
}
return nil
}
func (x *QWebReq) GetContentType() uint32 {
if x != nil && x.ContentType != nil {
return *x.ContentType
}
return 0
}
type QWebRsp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Seq int64 `protobuf:"varint,1,opt,name=seq,proto3" json:"seq,omitempty"`
RetCode int64 `protobuf:"varint,2,opt,name=retCode,proto3" json:"retCode,omitempty"`
ErrMsg string `protobuf:"bytes,3,opt,name=errMsg,proto3" json:"errMsg,omitempty"`
BusiBuff []byte `protobuf:"bytes,4,opt,name=busiBuff,proto3" json:"busiBuff,omitempty"`
Seq *int64 `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
RetCode *int64 `protobuf:"varint,2,opt,name=retCode" json:"retCode,omitempty"`
ErrMsg *string `protobuf:"bytes,3,opt,name=errMsg" json:"errMsg,omitempty"`
BusiBuff []byte `protobuf:"bytes,4,opt,name=busiBuff" json:"busiBuff,omitempty"`
Traceid *string `protobuf:"bytes,5,opt,name=traceid" json:"traceid,omitempty"`
}
func (x *QWebRsp) Reset() {
@ -144,22 +192,22 @@ func (*QWebRsp) Descriptor() ([]byte, []int) {
}
func (x *QWebRsp) GetSeq() int64 {
if x != nil {
return x.Seq
if x != nil && x.Seq != nil {
return *x.Seq
}
return 0
}
func (x *QWebRsp) GetRetCode() int64 {
if x != nil {
return x.RetCode
if x != nil && x.RetCode != nil {
return *x.RetCode
}
return 0
}
func (x *QWebRsp) GetErrMsg() string {
if x != nil {
return x.ErrMsg
if x != nil && x.ErrMsg != nil {
return *x.ErrMsg
}
return ""
}
@ -171,11 +219,231 @@ func (x *QWebRsp) GetBusiBuff() []byte {
return nil
}
func (x *QWebRsp) GetTraceid() string {
if x != nil && x.Traceid != nil {
return *x.Traceid
}
return ""
}
type StAuthInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Uin *string `protobuf:"bytes,1,opt,name=uin" json:"uin,omitempty"`
Sig []byte `protobuf:"bytes,2,opt,name=sig" json:"sig,omitempty"`
Platform *string `protobuf:"bytes,3,opt,name=platform" json:"platform,omitempty"`
Type *uint32 `protobuf:"varint,4,opt,name=type" json:"type,omitempty"`
Appid *string `protobuf:"bytes,5,opt,name=appid" json:"appid,omitempty"`
Openid *string `protobuf:"bytes,6,opt,name=openid" json:"openid,omitempty"`
Sessionkey []byte `protobuf:"bytes,7,opt,name=sessionkey" json:"sessionkey,omitempty"`
Extinfo []*COMMEntry `protobuf:"bytes,8,rep,name=Extinfo" json:"Extinfo,omitempty"`
}
func (x *StAuthInfo) Reset() {
*x = StAuthInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_protocol_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StAuthInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StAuthInfo) ProtoMessage() {}
func (x *StAuthInfo) ProtoReflect() protoreflect.Message {
mi := &file_protocol_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StAuthInfo.ProtoReflect.Descriptor instead.
func (*StAuthInfo) Descriptor() ([]byte, []int) {
return file_protocol_proto_rawDescGZIP(), []int{2}
}
func (x *StAuthInfo) GetUin() string {
if x != nil && x.Uin != nil {
return *x.Uin
}
return ""
}
func (x *StAuthInfo) GetSig() []byte {
if x != nil {
return x.Sig
}
return nil
}
func (x *StAuthInfo) GetPlatform() string {
if x != nil && x.Platform != nil {
return *x.Platform
}
return ""
}
func (x *StAuthInfo) GetType() uint32 {
if x != nil && x.Type != nil {
return *x.Type
}
return 0
}
func (x *StAuthInfo) GetAppid() string {
if x != nil && x.Appid != nil {
return *x.Appid
}
return ""
}
func (x *StAuthInfo) GetOpenid() string {
if x != nil && x.Openid != nil {
return *x.Openid
}
return ""
}
func (x *StAuthInfo) GetSessionkey() []byte {
if x != nil {
return x.Sessionkey
}
return nil
}
func (x *StAuthInfo) GetExtinfo() []*COMMEntry {
if x != nil {
return x.Extinfo
}
return nil
}
type StEncryption struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Method *uint32 `protobuf:"varint,1,opt,name=method" json:"method,omitempty"`
Iv *string `protobuf:"bytes,2,opt,name=iv" json:"iv,omitempty"`
}
func (x *StEncryption) Reset() {
*x = StEncryption{}
if protoimpl.UnsafeEnabled {
mi := &file_protocol_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StEncryption) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StEncryption) ProtoMessage() {}
func (x *StEncryption) ProtoReflect() protoreflect.Message {
mi := &file_protocol_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StEncryption.ProtoReflect.Descriptor instead.
func (*StEncryption) Descriptor() ([]byte, []int) {
return file_protocol_proto_rawDescGZIP(), []int{3}
}
func (x *StEncryption) GetMethod() uint32 {
if x != nil && x.Method != nil {
return *x.Method
}
return 0
}
func (x *StEncryption) GetIv() string {
if x != nil && x.Iv != nil {
return *x.Iv
}
return ""
}
type COMMEntry struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Key *string `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
Value *string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
}
func (x *COMMEntry) Reset() {
*x = COMMEntry{}
if protoimpl.UnsafeEnabled {
mi := &file_protocol_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *COMMEntry) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*COMMEntry) ProtoMessage() {}
func (x *COMMEntry) ProtoReflect() protoreflect.Message {
mi := &file_protocol_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use COMMEntry.ProtoReflect.Descriptor instead.
func (*COMMEntry) Descriptor() ([]byte, []int) {
return file_protocol_proto_rawDescGZIP(), []int{4}
}
func (x *COMMEntry) GetKey() string {
if x != nil && x.Key != nil {
return *x.Key
}
return ""
}
func (x *COMMEntry) GetValue() string {
if x != nil && x.Value != nil {
return *x.Value
}
return ""
}
var File_protocol_proto protoreflect.FileDescriptor
var file_protocol_proto_rawDesc = []byte{
0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x22, 0x83, 0x01, 0x0a, 0x07, 0x51, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03,
0x22, 0xcd, 0x02, 0x0a, 0x07, 0x51, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03,
0x73, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x71, 0x12, 0x10,
0x0a, 0x03, 0x71, 0x75, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x71, 0x75, 0x61,
0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03,
@ -183,15 +451,49 @@ var file_protocol_proto_rawDesc = []byte{
0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, 0x73, 0x69, 0x42, 0x75, 0x66, 0x66, 0x18, 0x04, 0x20, 0x01,
0x28, 0x0c, 0x52, 0x08, 0x62, 0x75, 0x73, 0x69, 0x42, 0x75, 0x66, 0x66, 0x12, 0x18, 0x0a, 0x07,
0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74,
0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x22, 0x69, 0x0a, 0x07, 0x51, 0x57, 0x65, 0x62, 0x52, 0x73,
0x70, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03,
0x73, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a,
0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65,
0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, 0x73, 0x69, 0x42, 0x75, 0x66,
0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x62, 0x75, 0x73, 0x69, 0x42, 0x75, 0x66,
0x66, 0x42, 0x09, 0x5a, 0x07, 0x2e, 0x2f, 0x3b, 0x71, 0x77, 0x65, 0x62, 0x62, 0x06, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33,
0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65,
0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x18,
0x0a, 0x07, 0x43, 0x6d, 0x64, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
0x07, 0x43, 0x6d, 0x64, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x69,
0x6e, 0x53, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x53, 0x74, 0x41,
0x75, 0x74, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x53, 0x69,
0x67, 0x12, 0x25, 0x0a, 0x06, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0d, 0x2e, 0x53, 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x52, 0x06, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x12, 0x24, 0x0a, 0x07, 0x45, 0x78, 0x74, 0x69,
0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x43, 0x4f, 0x4d, 0x4d,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x45, 0x78, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x20,
0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20,
0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65,
0x22, 0x83, 0x01, 0x0a, 0x07, 0x51, 0x57, 0x65, 0x62, 0x52, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03,
0x73, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x71, 0x12, 0x18,
0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x4d,
0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67,
0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, 0x73, 0x69, 0x42, 0x75, 0x66, 0x66, 0x18, 0x04, 0x20, 0x01,
0x28, 0x0c, 0x52, 0x08, 0x62, 0x75, 0x73, 0x69, 0x42, 0x75, 0x66, 0x66, 0x12, 0x18, 0x0a, 0x07,
0x74, 0x72, 0x61, 0x63, 0x65, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74,
0x72, 0x61, 0x63, 0x65, 0x69, 0x64, 0x22, 0xd4, 0x01, 0x0a, 0x0a, 0x53, 0x74, 0x41, 0x75, 0x74,
0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x67, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x73, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61,
0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61,
0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20,
0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70,
0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12,
0x16, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69,
0x6f, 0x6e, 0x6b, 0x65, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x65, 0x73,
0x73, 0x69, 0x6f, 0x6e, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x07, 0x45, 0x78, 0x74, 0x69, 0x6e,
0x66, 0x6f, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x43, 0x4f, 0x4d, 0x4d, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x45, 0x78, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x36, 0x0a,
0x0c, 0x53, 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a,
0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d,
0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x02, 0x69, 0x76, 0x22, 0x33, 0x0a, 0x09, 0x43, 0x4f, 0x4d, 0x4d, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x09, 0x5a, 0x07, 0x2e, 0x2f,
0x3b, 0x71, 0x77, 0x65, 0x62,
}
var (
@ -206,17 +508,24 @@ func file_protocol_proto_rawDescGZIP() []byte {
return file_protocol_proto_rawDescData
}
var file_protocol_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_protocol_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
var file_protocol_proto_goTypes = []interface{}{
(*QWebReq)(nil), // 0: QWebReq
(*QWebRsp)(nil), // 1: QWebRsp
(*StAuthInfo)(nil), // 2: StAuthInfo
(*StEncryption)(nil), // 3: StEncryption
(*COMMEntry)(nil), // 4: COMMEntry
}
var file_protocol_proto_depIdxs = []int32{
0, // [0:0] is the sub-list for method output_type
0, // [0:0] is the sub-list for method input_type
0, // [0:0] is the sub-list for extension type_name
0, // [0:0] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name
2, // 0: QWebReq.loginSig:type_name -> StAuthInfo
3, // 1: QWebReq.Crypto:type_name -> StEncryption
4, // 2: QWebReq.Extinfo:type_name -> COMMEntry
4, // 3: StAuthInfo.Extinfo:type_name -> COMMEntry
4, // [4:4] is the sub-list for method output_type
4, // [4:4] is the sub-list for method input_type
4, // [4:4] is the sub-list for extension type_name
4, // [4:4] is the sub-list for extension extendee
0, // [0:4] is the sub-list for field type_name
}
func init() { file_protocol_proto_init() }
@ -249,6 +558,42 @@ func file_protocol_proto_init() {
return nil
}
}
file_protocol_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StAuthInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_protocol_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StEncryption); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_protocol_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*COMMEntry); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
@ -256,7 +601,7 @@ func file_protocol_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_protocol_proto_rawDesc,
NumEnums: 0,
NumMessages: 2,
NumMessages: 5,
NumExtensions: 0,
NumServices: 0,
},

View File

@ -1,18 +1,46 @@
syntax = "proto3";
syntax = "proto2";
option go_package = "./;qweb";
message QWebReq {
int64 seq = 1;
string qua = 2;
string deviceInfo = 3;
bytes busiBuff = 4;
string traceId = 5;
optional int64 seq = 1;
optional string qua = 2;
optional string deviceInfo = 3;
optional bytes busiBuff = 4;
optional string traceId = 5;
optional string Module = 6;
optional string Cmdname = 7;
optional StAuthInfo loginSig = 8;
optional StEncryption Crypto = 9;
repeated COMMEntry Extinfo = 10;
optional uint32 contentType = 11;
}
message QWebRsp {
int64 seq = 1;
int64 retCode = 2;
string errMsg = 3;
bytes busiBuff = 4;
optional int64 seq = 1;
optional int64 retCode = 2;
optional string errMsg = 3;
optional bytes busiBuff = 4;
optional string traceid = 5;
}
message StAuthInfo {
optional string uin = 1;
optional bytes sig = 2;
optional string platform = 3;
optional uint32 type = 4;
optional string appid = 5;
optional string openid = 6;
optional bytes sessionkey = 7;
repeated COMMEntry Extinfo = 8;
}
message StEncryption {
optional uint32 method = 1;
optional string iv = 2;
}
message COMMEntry {
optional string key = 1;
optional string value = 2;
}