1
0
mirror of https://github.com/Mrs4s/MiraiGo.git synced 2025-05-04 11:07:40 +08:00

feature qid support.

This commit is contained in:
Mrs4s 2021-01-10 21:25:02 +08:00
parent 4eebe07682
commit 6ed080344b
17 changed files with 6090 additions and 49 deletions

View File

@ -360,6 +360,11 @@ func (r *JceReader) readObject(t reflect.Type, tag int) reflect.Value {
r.ReadObject(&s, tag)
return reflect.ValueOf(s)
case reflect.Slice:
if _, ok := reflect.New(t.Elem()).Interface().(*[]byte); ok {
arr := &[]byte{}
r.ReadSlice(arr, tag)
return reflect.ValueOf(arr).Elem()
}
s := reflect.New(t.Elem()).Interface().(IJceStruct)
r.readHead()
s.ReadFrom(r)

View File

@ -415,15 +415,16 @@ type (
GroupUin int64 `jceId:"5"`
//Seed []byte`jceId:"6"`
//SearchName string`jceId:"7"`
GetControl int64 `jceId:"8"`
AddFriendSource int32 `jceId:"9"`
SecureSig []byte `jceId:"10"`
TinyId int64 `jceId:"15"`
LikeSource int64 `jceId:"16"`
ReqMedalWallInfo byte `jceId:"18"`
Req0x5ebFieldId []int64 `jceId:"19"`
ReqNearbyGodInfo byte `jceId:"20"`
ReqExtendCard byte `jceId:"22"`
GetControl int64 `jceId:"8"`
AddFriendSource int32 `jceId:"9"`
SecureSig []byte `jceId:"10"`
ReqServices [][]byte `jceId:"14"`
TinyId int64 `jceId:"15"`
LikeSource int64 `jceId:"16"`
ReqMedalWallInfo byte `jceId:"18"`
Req0x5ebFieldId []int64 `jceId:"19"`
ReqNearbyGodInfo byte `jceId:"20"`
ReqExtendCard byte `jceId:"22"`
}
SummaryCardReqSearch struct {

View File

@ -4,6 +4,7 @@ import (
"crypto/md5"
"encoding/hex"
"fmt"
"github.com/Mrs4s/MiraiGo/client/pb/profilecard"
"github.com/Mrs4s/MiraiGo/client/pb/qweb"
"math/rand"
"time"
@ -385,6 +386,58 @@ func (c *QQClient) buildFriendGroupListRequestPacket(friendStartIndex, friendLis
// SummaryCard.ReqSummaryCard
func (c *QQClient) buildSummaryCardRequestPacket(target int64) (uint16, []byte) {
seq := c.nextSeq()
packBusinessBuf := func(t int32, buf []byte) []byte {
return binary.NewWriterF(func(w *binary.Writer) {
comm, _ := proto.Marshal(&profilecard.BusiComm{
Ver: proto.Int32(1),
Seq: proto.Int32(int32(seq)),
Fromuin: &c.Uin,
Touin: &target,
Service: &t,
Platform: proto.Int32(2),
Qqver: proto.String("8.4.18.4945"),
Build: proto.Int32(4945),
})
w.WriteByte(40)
w.WriteUInt32(uint32(len(comm)))
w.WriteUInt32(uint32(len(buf)))
w.Write(comm)
w.Write(buf)
w.WriteByte(41)
})
}
gate, _ := proto.Marshal(&profilecard.GateVaProfileGateReq{
UCmd: proto.Int32(3),
StPrivilegeReq: &profilecard.GatePrivilegeBaseInfoReq{UReqUin: &target},
StGiftReq: &profilecard.GateGetGiftListReq{Uin: proto.Int32(int32(target))},
StVipCare: &profilecard.GateGetVipCareReq{Uin: &target},
OidbFlag: []*profilecard.GateOidbFlagInfo{
{
Fieled: proto.Int32(42334),
},
{
Fieled: proto.Int32(42340),
},
{
Fieled: proto.Int32(42344),
},
{
Fieled: proto.Int32(42354),
},
},
})
/*
e5b, _ := proto.Marshal(&oidb.DE5BReqBody{
Uin: proto.Uint64(uint64(target)),
MaxCount: proto.Uint32(10),
ReqAchievementContent: proto.Bool(false),
})
ec4, _ := proto.Marshal(&oidb.DEC4ReqBody{
Uin: proto.Uint64(uint64(target)),
QuestNum: proto.Uint64(10),
FetchType: proto.Uint32(1),
})
*/
req := &jce.SummaryCardReq{
Uin: target,
ComeFrom: 31,
@ -392,7 +445,8 @@ func (c *QQClient) buildSummaryCardRequestPacket(target int64) (uint16, []byte)
AddFriendSource: 3001,
SecureSig: []byte{0x00},
ReqMedalWallInfo: 0,
Req0x5ebFieldId: []int64{27225, 27224, 42122, 42121, 27236, 27238, 42167, 42172, 40324, 42284, 42326, 42325, 42356, 42363, 42361, 42367, 42377, 42425},
Req0x5ebFieldId: []int64{27225, 27224, 42122, 42121, 27236, 27238, 42167, 42172, 40324, 42284, 42326, 42325, 42356, 42363, 42361, 42367, 42377, 42425, 42505, 42488},
ReqServices: [][]byte{packBusinessBuf(16, gate)},
ReqNearbyGodInfo: 1,
ReqExtendCard: 1,
}

View File

@ -4,6 +4,7 @@ import (
"encoding/hex"
"fmt"
"github.com/Mrs4s/MiraiGo/client/pb/cmd0x6ff"
"github.com/Mrs4s/MiraiGo/client/pb/profilecard"
"net"
"strconv"
"strings"
@ -437,7 +438,7 @@ func decodeSummaryCardResponse(_ *QQClient, _ uint16, payload []byte) (interface
}
return jce.NewJceReader(data.Map["RespSummaryCard"]["SummaryCard_Old.RespSummaryCard"][1:])
}()
return &SummaryCardInfo{
info := &SummaryCardInfo{
Sex: rsp.ReadByte(1),
Age: rsp.ReadByte(2),
Nickname: rsp.ReadString(3),
@ -447,7 +448,31 @@ func decodeSummaryCardResponse(_ *QQClient, _ uint16, payload []byte) (interface
Mobile: rsp.ReadString(11),
Uin: rsp.ReadInt64(23),
LoginDays: rsp.ReadInt64(36),
}, nil
}
services := [][]byte{}
rsp.ReadSlice(&services, 46)
readService := func(buf []byte) (*profilecard.BusiComm, []byte) {
r := binary.NewReader(buf)
r.ReadByte()
l1 := r.ReadInt32()
l2 := r.ReadInt32()
comm := r.ReadBytes(int(l1))
d := r.ReadBytes(int(l2))
c := &profilecard.BusiComm{}
_ = proto.Unmarshal(comm, c)
return c, d
}
for _, buf := range services {
comm, payload := readService(buf)
if comm.GetService() == 16 {
rsp := profilecard.GateVaProfileGateRsp{}
_ = proto.Unmarshal(payload, &rsp)
if rsp.QidInfo != nil {
info.Qid = rsp.QidInfo.GetQid()
}
}
}
return info, nil
}
// friendlist.getFriendGroupList

View File

@ -55,6 +55,7 @@ type (
Sign string
Mobile string
LoginDays int64
Qid string
}
FriendListResponse struct {

View File

@ -2,7 +2,7 @@
// versions:
// protoc-gen-go v1.25.0
// protoc v3.11.4
// source: subcmd0x501.proto
// source: busi.proto
package cmd0x6ff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,171 @@
syntax = "proto2";
option go_package = ".;oidb";
message D5EBReqBody {
repeated uint64 uins = 1;
optional uint32 max_package_size = 3;
repeated bytes openid = 4;
optional uint32 appid = 5;
optional uint32 reqNick = 20002;
optional uint32 reqCountry = 20003;
optional int32 reqProvince = 20004;
optional int32 reqGender = 20009;
optional int32 reqAllow = 20014;
optional int32 reqFaceId = 20015;
optional int32 reqCity = 20020;
optional int32 reqConstellation = 20022;
optional int32 reqCommonPlace1 = 20027;
optional int32 reqMss3Bitmapextra = 20030;
optional int32 reqBirthday = 20031;
optional int32 reqCityId = 20032;
optional int32 reqLang1 = 20033;
optional int32 reqLang2 = 20034;
optional int32 reqLang3 = 20035;
optional int32 reqAge = 20037;
optional int32 reqCityZoneId = 20041;
optional int32 reqOin = 20056;
optional int32 reqBubbleId = 20059;
optional int32 reqMss2Identity = 21001;
optional int32 reqMss1Service = 21002;
optional int32 reqLflag = 21003;
optional int32 reqExtFlag = 21004;
optional int32 reqBasicSvrFlag = 21006;
optional int32 reqBasicCliFlag = 21007;
optional int32 reqFullBirthday = 26004;
optional int32 reqFullAge = 26005;
optional int32 reqSimpleUpdateTime = 26010;
optional int32 reqMssUpdateTime = 26011;
optional int32 reqPstnMultiCallTime = 26012;
optional int32 reqPstnMultiLastGuideRechargeTime = 26013;
optional int32 reqPstnC2cCallTime = 26014;
optional int32 reqPstnC2cLastGuideRechargeTime = 26015;
optional int32 reqGroupMemCreditFlag = 27022;
optional int32 reqFaceAddonId = 27025;
optional int32 reqMusicGene = 27026;
optional int32 reqStrangerNick = 27034;
optional int32 reqStrangerDeclare = 27035;
optional int32 reqLoveStatus = 27036;
optional int32 reqProfession = 27037;
optional int32 reqVasColorringFlag = 27041;
optional int32 reqCharm = 27052;
optional int32 reqApolloTimestamp = 27059;
optional int32 reqVasFontIdFlag = 27201;
optional int32 reqGlobalGroupLevel = 27208;
optional int32 reqInvite2groupAutoAgreeFlag = 40346;
optional int32 reqSubaccountDisplayThirdQqFlag = 40348;
optional int32 notifyPartakeLikeRankingListFlag = 40350;
optional int32 reqLightalkSwitch = 40506;
optional int32 reqMusicRingVisible = 40507;
optional int32 reqMusicRingAutoplay = 40508;
optional int32 reqMusicRingRedpoint = 40509;
optional int32 torchDisableFlag = 40525;
optional int32 reqVasMagicfontFlag = 40530;
optional int32 reqVipFlag = 41756;
optional int32 reqAuthFlag = 41783;
optional int32 reqForbidFlag = 41784;
optional int32 reqGodForbid = 41804;
optional int32 reqGodFlag = 41805;
optional int32 reqCharmLevel = 41950;
optional int32 reqCharmShown = 41973;
optional int32 reqFreshnewsNotifyFlag = 41993;
optional int32 reqApolloVipLevel = 41999;
optional int32 reqApolloVipFlag = 42003;
optional int32 reqPstnC2cVip = 42005;
optional int32 reqPstnMultiVip = 42006;
optional int32 reqPstnEverC2cVip = 42007;
optional int32 reqPstnEverMultiVip = 42008;
optional int32 reqPstnMultiTryFlag = 42011;
optional int32 reqPstnC2cTryFlag = 42012;
optional int32 reqSubscribeNearbyassistantSwitch = 42024;
optional int32 reqTorchbearerFlag = 42051;
optional int32 preloadDisableFlag = 42073;
optional int32 reqMedalwallFlag = 42075;
optional int32 notifyOnLikeRankingListFlag = 42092;
optional int32 reqApolloStatus = 42980;
}
message D5EBRspBody {
repeated UdcUinData uinData = 11;
repeated int64 unfinishedUins = 12;
}
message UdcUinData {
optional int64 uin = 1;
optional bytes openid = 4;
optional bytes nick = 20002;
optional bytes country = 20003;
optional bytes province = 20004;
optional int32 gender = 20009;
optional int32 allow = 20014;
optional int32 faceId = 20015;
optional bytes city = 20020;
optional int32 constellation = 20022;
optional int32 commonPlace1 = 20027;
optional bytes mss3Bitmapextra = 20030;
optional bytes birthday = 20031;
optional bytes cityId = 20032;
optional int32 lang1 = 20033;
optional int32 lang2 = 20034;
optional int32 lang3 = 20035;
optional int32 age = 20037;
optional int32 cityZoneId = 20041;
optional int32 oin = 20056;
optional int32 bubbleId = 20059;
optional bytes mss2Identity = 21001;
optional bytes mss1Service = 21002;
optional int32 lflag = 21003;
optional int32 extFlag = 21004;
optional bytes basicSvrFlag = 21006;
optional bytes basicCliFlag = 21007;
optional bytes fullBirthday = 26004;
optional bytes fullAge = 26005;
optional int32 simpleUpdateTime = 26010;
optional int32 mssUpdateTime = 26011;
optional int32 pstnMultiCallTime = 26012;
optional int32 pstnMultiLastGuideRechargeTime = 26013;
optional int32 pstnC2cCallTime = 26014;
optional int32 pstnC2cLastGuideRechargeTime = 26015;
optional int32 groupMemCreditFlag = 27022;
optional int64 faceAddonId = 27025;
optional bytes musicGene = 27026;
optional bytes strangerNick = 27034;
optional bytes strangerDeclare = 27035;
optional int32 loveStatus = 27036;
optional int32 profession = 27037;
optional int32 vasColorringId = 27041;
optional int32 charm = 27052;
optional int32 apolloTimestamp = 27059;
optional int32 vasFontId = 27201;
optional int32 globalGroupLevel = 27208;
optional int32 reqInvite2groupAutoAgreeFlag = 40346;
optional int32 subaccountDisplayThirdQqFlag = 40348;
optional int32 notifyPartakeLikeRankingListFlag = 40350;
optional int32 lightalkSwitch = 40506;
optional int32 musicRingVisible = 40507;
optional int32 musicRingAutoplay = 40508;
optional int32 musicRingRedpoint = 40509;
optional int32 torchDisableFlag = 40525;
optional int32 vasMagicfontFlag = 40530;
optional int32 vipFlag = 41756;
optional int32 authFlag = 41783;
optional int32 forbidFlag = 41784;
optional int32 godForbid = 41804;
optional int32 godFlag = 41805;
optional int32 charmLevel = 41950;
optional int32 charmShown = 41973;
optional int32 freshnewsNotifyFlag = 41993;
optional int32 apolloVipLevel = 41999;
optional int32 apolloVipFlag = 42003;
optional int32 pstnC2cVip = 42005;
optional int32 pstnMultiVip = 42006;
optional int32 pstnEverC2cVip = 42007;
optional int32 pstnEverMultiVip = 42008;
optional int32 pstnMultiTryFlag = 42011;
optional int32 pstnC2cTryFlag = 42012;
optional int32 subscribeNearbyassistantSwitch = 42024;
optional int32 torchbearerFlag = 42051;
optional int32 preloadDisableFlag = 42073;
optional int32 reqMedalwallFlag = 42075;
optional int32 notifyOnLikeRankingListFlag = 42092;
optional int32 apolloStatus = 42980;
}

View File

@ -2,7 +2,7 @@
// versions:
// protoc-gen-go v1.25.0
// protoc v3.11.4
// source: oidb0xD79.proto
// source: oidb0xd79.proto
package oidb
@ -42,7 +42,7 @@ type D79ReqBody struct {
func (x *D79ReqBody) Reset() {
*x = D79ReqBody{}
if protoimpl.UnsafeEnabled {
mi := &file_oidb0xD79_proto_msgTypes[0]
mi := &file_oidb0xd79_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -55,7 +55,7 @@ func (x *D79ReqBody) String() string {
func (*D79ReqBody) ProtoMessage() {}
func (x *D79ReqBody) ProtoReflect() protoreflect.Message {
mi := &file_oidb0xD79_proto_msgTypes[0]
mi := &file_oidb0xd79_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -68,7 +68,7 @@ func (x *D79ReqBody) ProtoReflect() protoreflect.Message {
// Deprecated: Use D79ReqBody.ProtoReflect.Descriptor instead.
func (*D79ReqBody) Descriptor() ([]byte, []int) {
return file_oidb0xD79_proto_rawDescGZIP(), []int{0}
return file_oidb0xd79_proto_rawDescGZIP(), []int{0}
}
func (x *D79ReqBody) GetSeq() uint64 {
@ -135,7 +135,7 @@ type D79RspBody struct {
func (x *D79RspBody) Reset() {
*x = D79RspBody{}
if protoimpl.UnsafeEnabled {
mi := &file_oidb0xD79_proto_msgTypes[1]
mi := &file_oidb0xd79_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -148,7 +148,7 @@ func (x *D79RspBody) String() string {
func (*D79RspBody) ProtoMessage() {}
func (x *D79RspBody) ProtoReflect() protoreflect.Message {
mi := &file_oidb0xD79_proto_msgTypes[1]
mi := &file_oidb0xd79_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -161,7 +161,7 @@ func (x *D79RspBody) ProtoReflect() protoreflect.Message {
// Deprecated: Use D79RspBody.ProtoReflect.Descriptor instead.
func (*D79RspBody) Descriptor() ([]byte, []int) {
return file_oidb0xD79_proto_rawDescGZIP(), []int{1}
return file_oidb0xd79_proto_rawDescGZIP(), []int{1}
}
func (x *D79RspBody) GetRet() uint32 {
@ -210,7 +210,7 @@ type D79Content struct {
func (x *D79Content) Reset() {
*x = D79Content{}
if protoimpl.UnsafeEnabled {
mi := &file_oidb0xD79_proto_msgTypes[2]
mi := &file_oidb0xd79_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -223,7 +223,7 @@ func (x *D79Content) String() string {
func (*D79Content) ProtoMessage() {}
func (x *D79Content) ProtoReflect() protoreflect.Message {
mi := &file_oidb0xD79_proto_msgTypes[2]
mi := &file_oidb0xd79_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -236,7 +236,7 @@ func (x *D79Content) ProtoReflect() protoreflect.Message {
// Deprecated: Use D79Content.ProtoReflect.Descriptor instead.
func (*D79Content) Descriptor() ([]byte, []int) {
return file_oidb0xD79_proto_rawDescGZIP(), []int{2}
return file_oidb0xd79_proto_rawDescGZIP(), []int{2}
}
func (x *D79Content) GetSliceContent() [][]byte {
@ -246,10 +246,10 @@ func (x *D79Content) GetSliceContent() [][]byte {
return nil
}
var File_oidb0xD79_proto protoreflect.FileDescriptor
var File_oidb0xd79_proto protoreflect.FileDescriptor
var file_oidb0xD79_proto_rawDesc = []byte{
0x0a, 0x0f, 0x6f, 0x69, 0x64, 0x62, 0x30, 0x78, 0x44, 0x37, 0x39, 0x2e, 0x70, 0x72, 0x6f, 0x74,
var file_oidb0xd79_proto_rawDesc = []byte{
0x0a, 0x0f, 0x6f, 0x69, 0x64, 0x62, 0x30, 0x78, 0x64, 0x37, 0x39, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x22, 0xbb, 0x01, 0x0a, 0x0a, 0x44, 0x37, 0x39, 0x52, 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x73,
0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
@ -279,24 +279,24 @@ var file_oidb0xD79_proto_rawDesc = []byte{
}
var (
file_oidb0xD79_proto_rawDescOnce sync.Once
file_oidb0xD79_proto_rawDescData = file_oidb0xD79_proto_rawDesc
file_oidb0xd79_proto_rawDescOnce sync.Once
file_oidb0xd79_proto_rawDescData = file_oidb0xd79_proto_rawDesc
)
func file_oidb0xD79_proto_rawDescGZIP() []byte {
file_oidb0xD79_proto_rawDescOnce.Do(func() {
file_oidb0xD79_proto_rawDescData = protoimpl.X.CompressGZIP(file_oidb0xD79_proto_rawDescData)
func file_oidb0xd79_proto_rawDescGZIP() []byte {
file_oidb0xd79_proto_rawDescOnce.Do(func() {
file_oidb0xd79_proto_rawDescData = protoimpl.X.CompressGZIP(file_oidb0xd79_proto_rawDescData)
})
return file_oidb0xD79_proto_rawDescData
return file_oidb0xd79_proto_rawDescData
}
var file_oidb0xD79_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
var file_oidb0xD79_proto_goTypes = []interface{}{
var file_oidb0xd79_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
var file_oidb0xd79_proto_goTypes = []interface{}{
(*D79ReqBody)(nil), // 0: D79ReqBody
(*D79RspBody)(nil), // 1: D79RspBody
(*D79Content)(nil), // 2: D79Content
}
var file_oidb0xD79_proto_depIdxs = []int32{
var file_oidb0xd79_proto_depIdxs = []int32{
2, // 0: D79RspBody.content:type_name -> D79Content
1, // [1:1] is the sub-list for method output_type
1, // [1:1] is the sub-list for method input_type
@ -305,13 +305,13 @@ var file_oidb0xD79_proto_depIdxs = []int32{
0, // [0:1] is the sub-list for field type_name
}
func init() { file_oidb0xD79_proto_init() }
func file_oidb0xD79_proto_init() {
if File_oidb0xD79_proto != nil {
func init() { file_oidb0xd79_proto_init() }
func file_oidb0xd79_proto_init() {
if File_oidb0xd79_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_oidb0xD79_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
file_oidb0xd79_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*D79ReqBody); i {
case 0:
return &v.state
@ -323,7 +323,7 @@ func file_oidb0xD79_proto_init() {
return nil
}
}
file_oidb0xD79_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
file_oidb0xd79_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*D79RspBody); i {
case 0:
return &v.state
@ -335,7 +335,7 @@ func file_oidb0xD79_proto_init() {
return nil
}
}
file_oidb0xD79_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
file_oidb0xd79_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*D79Content); i {
case 0:
return &v.state
@ -352,18 +352,18 @@ func file_oidb0xD79_proto_init() {
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_oidb0xD79_proto_rawDesc,
RawDescriptor: file_oidb0xd79_proto_rawDesc,
NumEnums: 0,
NumMessages: 3,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_oidb0xD79_proto_goTypes,
DependencyIndexes: file_oidb0xD79_proto_depIdxs,
MessageInfos: file_oidb0xD79_proto_msgTypes,
GoTypes: file_oidb0xd79_proto_goTypes,
DependencyIndexes: file_oidb0xd79_proto_depIdxs,
MessageInfos: file_oidb0xd79_proto_msgTypes,
}.Build()
File_oidb0xD79_proto = out.File
file_oidb0xD79_proto_rawDesc = nil
file_oidb0xD79_proto_goTypes = nil
file_oidb0xD79_proto_depIdxs = nil
File_oidb0xd79_proto = out.File
file_oidb0xd79_proto_rawDesc = nil
file_oidb0xd79_proto_goTypes = nil
file_oidb0xd79_proto_depIdxs = nil
}

View File

@ -0,0 +1,381 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.25.0
// protoc v3.11.4
// source: oidb0xe5b.proto
package oidb
import (
proto "github.com/golang/protobuf/proto"
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)
)
// This is a compile-time assertion that a sufficiently up-to-date version
// of the legacy proto package is being used.
const _ = proto.ProtoPackageIsVersion4
type LifeAchievementItem struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AchievementId *uint32 `protobuf:"varint,1,opt,name=achievementId" json:"achievementId,omitempty"`
AchievementTitle *string `protobuf:"bytes,2,opt,name=achievementTitle" json:"achievementTitle,omitempty"`
AchievementIcon *string `protobuf:"bytes,3,opt,name=achievementIcon" json:"achievementIcon,omitempty"`
HasPraised *bool `protobuf:"varint,4,opt,name=hasPraised" json:"hasPraised,omitempty"`
PraiseNum *uint32 `protobuf:"varint,5,opt,name=praiseNum" json:"praiseNum,omitempty"`
AchievementContent []byte `protobuf:"bytes,6,opt,name=achievementContent" json:"achievementContent,omitempty"`
}
func (x *LifeAchievementItem) Reset() {
*x = LifeAchievementItem{}
if protoimpl.UnsafeEnabled {
mi := &file_oidb0xe5b_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LifeAchievementItem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LifeAchievementItem) ProtoMessage() {}
func (x *LifeAchievementItem) ProtoReflect() protoreflect.Message {
mi := &file_oidb0xe5b_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 LifeAchievementItem.ProtoReflect.Descriptor instead.
func (*LifeAchievementItem) Descriptor() ([]byte, []int) {
return file_oidb0xe5b_proto_rawDescGZIP(), []int{0}
}
func (x *LifeAchievementItem) GetAchievementId() uint32 {
if x != nil && x.AchievementId != nil {
return *x.AchievementId
}
return 0
}
func (x *LifeAchievementItem) GetAchievementTitle() string {
if x != nil && x.AchievementTitle != nil {
return *x.AchievementTitle
}
return ""
}
func (x *LifeAchievementItem) GetAchievementIcon() string {
if x != nil && x.AchievementIcon != nil {
return *x.AchievementIcon
}
return ""
}
func (x *LifeAchievementItem) GetHasPraised() bool {
if x != nil && x.HasPraised != nil {
return *x.HasPraised
}
return false
}
func (x *LifeAchievementItem) GetPraiseNum() uint32 {
if x != nil && x.PraiseNum != nil {
return *x.PraiseNum
}
return 0
}
func (x *LifeAchievementItem) GetAchievementContent() []byte {
if x != nil {
return x.AchievementContent
}
return nil
}
type DE5BReqBody struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Uin *uint64 `protobuf:"varint,1,opt,name=uin" json:"uin,omitempty"`
AchievementId []uint32 `protobuf:"varint,2,rep,name=achievementId" json:"achievementId,omitempty"`
MaxCount *uint32 `protobuf:"varint,3,opt,name=maxCount" json:"maxCount,omitempty"`
ReqAchievementContent *bool `protobuf:"varint,4,opt,name=reqAchievementContent" json:"reqAchievementContent,omitempty"`
}
func (x *DE5BReqBody) Reset() {
*x = DE5BReqBody{}
if protoimpl.UnsafeEnabled {
mi := &file_oidb0xe5b_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DE5BReqBody) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DE5BReqBody) ProtoMessage() {}
func (x *DE5BReqBody) ProtoReflect() protoreflect.Message {
mi := &file_oidb0xe5b_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 DE5BReqBody.ProtoReflect.Descriptor instead.
func (*DE5BReqBody) Descriptor() ([]byte, []int) {
return file_oidb0xe5b_proto_rawDescGZIP(), []int{1}
}
func (x *DE5BReqBody) GetUin() uint64 {
if x != nil && x.Uin != nil {
return *x.Uin
}
return 0
}
func (x *DE5BReqBody) GetAchievementId() []uint32 {
if x != nil {
return x.AchievementId
}
return nil
}
func (x *DE5BReqBody) GetMaxCount() uint32 {
if x != nil && x.MaxCount != nil {
return *x.MaxCount
}
return 0
}
func (x *DE5BReqBody) GetReqAchievementContent() bool {
if x != nil && x.ReqAchievementContent != nil {
return *x.ReqAchievementContent
}
return false
}
type DE5BRspBody struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AchievementTotalCount *uint32 `protobuf:"varint,1,opt,name=achievementTotalCount" json:"achievementTotalCount,omitempty"`
LifeAchItem []*LifeAchievementItem `protobuf:"bytes,2,rep,name=lifeAchItem" json:"lifeAchItem,omitempty"`
AchievementOpenid *string `protobuf:"bytes,3,opt,name=achievementOpenid" json:"achievementOpenid,omitempty"`
}
func (x *DE5BRspBody) Reset() {
*x = DE5BRspBody{}
if protoimpl.UnsafeEnabled {
mi := &file_oidb0xe5b_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DE5BRspBody) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DE5BRspBody) ProtoMessage() {}
func (x *DE5BRspBody) ProtoReflect() protoreflect.Message {
mi := &file_oidb0xe5b_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 DE5BRspBody.ProtoReflect.Descriptor instead.
func (*DE5BRspBody) Descriptor() ([]byte, []int) {
return file_oidb0xe5b_proto_rawDescGZIP(), []int{2}
}
func (x *DE5BRspBody) GetAchievementTotalCount() uint32 {
if x != nil && x.AchievementTotalCount != nil {
return *x.AchievementTotalCount
}
return 0
}
func (x *DE5BRspBody) GetLifeAchItem() []*LifeAchievementItem {
if x != nil {
return x.LifeAchItem
}
return nil
}
func (x *DE5BRspBody) GetAchievementOpenid() string {
if x != nil && x.AchievementOpenid != nil {
return *x.AchievementOpenid
}
return ""
}
var File_oidb0xe5b_proto protoreflect.FileDescriptor
var file_oidb0xe5b_proto_rawDesc = []byte{
0x0a, 0x0f, 0x6f, 0x69, 0x64, 0x62, 0x30, 0x78, 0x65, 0x35, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x22, 0xff, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x66, 0x65, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76,
0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x63, 0x68,
0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
0x52, 0x0d, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12,
0x2a, 0x0a, 0x10, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x69,
0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x63, 0x68, 0x69, 0x65,
0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x61,
0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x63, 0x6f, 0x6e, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e,
0x74, 0x49, 0x63, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x68, 0x61, 0x73, 0x50, 0x72, 0x61, 0x69,
0x73, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x68, 0x61, 0x73, 0x50, 0x72,
0x61, 0x69, 0x73, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x61, 0x69, 0x73, 0x65, 0x4e,
0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x61, 0x69, 0x73, 0x65,
0x4e, 0x75, 0x6d, 0x12, 0x2e, 0x0a, 0x12, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65,
0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52,
0x12, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74,
0x65, 0x6e, 0x74, 0x22, 0x97, 0x01, 0x0a, 0x0b, 0x44, 0x45, 0x35, 0x42, 0x52, 0x65, 0x71, 0x42,
0x6f, 0x64, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
0x52, 0x03, 0x75, 0x69, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65,
0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x61, 0x63,
0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6d,
0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d,
0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x15, 0x72, 0x65, 0x71, 0x41, 0x63,
0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x72, 0x65, 0x71, 0x41, 0x63, 0x68, 0x69, 0x65,
0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0xa9, 0x01,
0x0a, 0x0b, 0x44, 0x45, 0x35, 0x42, 0x52, 0x73, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x34, 0x0a,
0x15, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61,
0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x61, 0x63,
0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x0b, 0x6c, 0x69, 0x66, 0x65, 0x41, 0x63, 0x68, 0x49, 0x74,
0x65, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x41,
0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0b,
0x6c, 0x69, 0x66, 0x65, 0x41, 0x63, 0x68, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x2c, 0x0a, 0x11, 0x61,
0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x64,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d,
0x65, 0x6e, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x42, 0x08, 0x5a, 0x06, 0x2e, 0x3b, 0x6f,
0x69, 0x64, 0x62,
}
var (
file_oidb0xe5b_proto_rawDescOnce sync.Once
file_oidb0xe5b_proto_rawDescData = file_oidb0xe5b_proto_rawDesc
)
func file_oidb0xe5b_proto_rawDescGZIP() []byte {
file_oidb0xe5b_proto_rawDescOnce.Do(func() {
file_oidb0xe5b_proto_rawDescData = protoimpl.X.CompressGZIP(file_oidb0xe5b_proto_rawDescData)
})
return file_oidb0xe5b_proto_rawDescData
}
var file_oidb0xe5b_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
var file_oidb0xe5b_proto_goTypes = []interface{}{
(*LifeAchievementItem)(nil), // 0: LifeAchievementItem
(*DE5BReqBody)(nil), // 1: DE5BReqBody
(*DE5BRspBody)(nil), // 2: DE5BRspBody
}
var file_oidb0xe5b_proto_depIdxs = []int32{
0, // 0: DE5BRspBody.lifeAchItem:type_name -> LifeAchievementItem
1, // [1:1] is the sub-list for method output_type
1, // [1:1] is the sub-list for method input_type
1, // [1:1] is the sub-list for extension type_name
1, // [1:1] is the sub-list for extension extendee
0, // [0:1] is the sub-list for field type_name
}
func init() { file_oidb0xe5b_proto_init() }
func file_oidb0xe5b_proto_init() {
if File_oidb0xe5b_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_oidb0xe5b_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LifeAchievementItem); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_oidb0xe5b_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DE5BReqBody); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_oidb0xe5b_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DE5BRspBody); 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_oidb0xe5b_proto_rawDesc,
NumEnums: 0,
NumMessages: 3,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_oidb0xe5b_proto_goTypes,
DependencyIndexes: file_oidb0xe5b_proto_depIdxs,
MessageInfos: file_oidb0xe5b_proto_msgTypes,
}.Build()
File_oidb0xe5b_proto = out.File
file_oidb0xe5b_proto_rawDesc = nil
file_oidb0xe5b_proto_goTypes = nil
file_oidb0xe5b_proto_depIdxs = nil
}

View File

@ -0,0 +1,25 @@
syntax = "proto2";
option go_package = ".;oidb";
message LifeAchievementItem {
optional uint32 achievementId = 1;
optional string achievementTitle = 2;
optional string achievementIcon = 3;
optional bool hasPraised = 4;
optional uint32 praiseNum = 5;
optional bytes achievementContent = 6;
}
message DE5BReqBody {
optional uint64 uin = 1;
repeated uint32 achievementId = 2;
optional uint32 maxCount = 3;
optional bool reqAchievementContent = 4;
}
message DE5BRspBody {
optional uint32 achievementTotalCount = 1;
repeated LifeAchievementItem lifeAchItem = 2;
optional string achievementOpenid = 3;
}

View File

@ -0,0 +1,728 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.25.0
// protoc v3.11.4
// source: oidb0xec4.proto
package oidb
import (
proto "github.com/golang/protobuf/proto"
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)
)
// This is a compile-time assertion that a sufficiently up-to-date version
// of the legacy proto package is being used.
const _ = proto.ProtoPackageIsVersion4
type Comment struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id *string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
Comment *string `protobuf:"bytes,2,opt,name=comment" json:"comment,omitempty"`
Time *uint64 `protobuf:"varint,3,opt,name=time" json:"time,omitempty"`
FromUin *uint64 `protobuf:"varint,4,opt,name=fromUin" json:"fromUin,omitempty"`
ToUin *uint64 `protobuf:"varint,5,opt,name=toUin" json:"toUin,omitempty"`
ReplyId *string `protobuf:"bytes,6,opt,name=replyId" json:"replyId,omitempty"`
FromNick *string `protobuf:"bytes,7,opt,name=fromNick" json:"fromNick,omitempty"`
}
func (x *Comment) Reset() {
*x = Comment{}
if protoimpl.UnsafeEnabled {
mi := &file_oidb0xec4_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Comment) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Comment) ProtoMessage() {}
func (x *Comment) ProtoReflect() protoreflect.Message {
mi := &file_oidb0xec4_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 Comment.ProtoReflect.Descriptor instead.
func (*Comment) Descriptor() ([]byte, []int) {
return file_oidb0xec4_proto_rawDescGZIP(), []int{0}
}
func (x *Comment) GetId() string {
if x != nil && x.Id != nil {
return *x.Id
}
return ""
}
func (x *Comment) GetComment() string {
if x != nil && x.Comment != nil {
return *x.Comment
}
return ""
}
func (x *Comment) GetTime() uint64 {
if x != nil && x.Time != nil {
return *x.Time
}
return 0
}
func (x *Comment) GetFromUin() uint64 {
if x != nil && x.FromUin != nil {
return *x.FromUin
}
return 0
}
func (x *Comment) GetToUin() uint64 {
if x != nil && x.ToUin != nil {
return *x.ToUin
}
return 0
}
func (x *Comment) GetReplyId() string {
if x != nil && x.ReplyId != nil {
return *x.ReplyId
}
return ""
}
func (x *Comment) GetFromNick() string {
if x != nil && x.FromNick != nil {
return *x.FromNick
}
return ""
}
type Praise struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FromUin *uint64 `protobuf:"varint,1,opt,name=fromUin" json:"fromUin,omitempty"`
ToUin *uint64 `protobuf:"varint,2,opt,name=toUin" json:"toUin,omitempty"`
Time *uint64 `protobuf:"varint,3,opt,name=time" json:"time,omitempty"`
FromNick *string `protobuf:"bytes,4,opt,name=fromNick" json:"fromNick,omitempty"`
}
func (x *Praise) Reset() {
*x = Praise{}
if protoimpl.UnsafeEnabled {
mi := &file_oidb0xec4_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Praise) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Praise) ProtoMessage() {}
func (x *Praise) ProtoReflect() protoreflect.Message {
mi := &file_oidb0xec4_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 Praise.ProtoReflect.Descriptor instead.
func (*Praise) Descriptor() ([]byte, []int) {
return file_oidb0xec4_proto_rawDescGZIP(), []int{1}
}
func (x *Praise) GetFromUin() uint64 {
if x != nil && x.FromUin != nil {
return *x.FromUin
}
return 0
}
func (x *Praise) GetToUin() uint64 {
if x != nil && x.ToUin != nil {
return *x.ToUin
}
return 0
}
func (x *Praise) GetTime() uint64 {
if x != nil && x.Time != nil {
return *x.Time
}
return 0
}
func (x *Praise) GetFromNick() string {
if x != nil && x.FromNick != nil {
return *x.FromNick
}
return ""
}
type Quest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id *string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
Quest *string `protobuf:"bytes,2,opt,name=quest" json:"quest,omitempty"`
QuestUin *uint64 `protobuf:"varint,3,opt,name=questUin" json:"questUin,omitempty"`
Time *uint64 `protobuf:"varint,4,opt,name=time" json:"time,omitempty"`
Ans *string `protobuf:"bytes,5,opt,name=ans" json:"ans,omitempty"`
AnsTime *uint64 `protobuf:"varint,6,opt,name=ansTime" json:"ansTime,omitempty"`
Comment []*Comment `protobuf:"bytes,7,rep,name=comment" json:"comment,omitempty"`
Praise []*Praise `protobuf:"bytes,8,rep,name=praise" json:"praise,omitempty"`
PraiseNum *uint64 `protobuf:"varint,9,opt,name=praiseNum" json:"praiseNum,omitempty"`
LikeKey *string `protobuf:"bytes,10,opt,name=likeKey" json:"likeKey,omitempty"`
SystemId *uint64 `protobuf:"varint,11,opt,name=systemId" json:"systemId,omitempty"`
CommentNum *uint64 `protobuf:"varint,12,opt,name=commentNum" json:"commentNum,omitempty"`
ShowType *uint64 `protobuf:"varint,13,opt,name=showType" json:"showType,omitempty"`
ShowTimes *uint64 `protobuf:"varint,14,opt,name=showTimes" json:"showTimes,omitempty"`
BeenPraised *uint64 `protobuf:"varint,15,opt,name=beenPraised" json:"beenPraised,omitempty"`
QuestRead *bool `protobuf:"varint,16,opt,name=questRead" json:"questRead,omitempty"`
AnsShowType *uint64 `protobuf:"varint,17,opt,name=ansShowType" json:"ansShowType,omitempty"`
}
func (x *Quest) Reset() {
*x = Quest{}
if protoimpl.UnsafeEnabled {
mi := &file_oidb0xec4_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Quest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Quest) ProtoMessage() {}
func (x *Quest) ProtoReflect() protoreflect.Message {
mi := &file_oidb0xec4_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 Quest.ProtoReflect.Descriptor instead.
func (*Quest) Descriptor() ([]byte, []int) {
return file_oidb0xec4_proto_rawDescGZIP(), []int{2}
}
func (x *Quest) GetId() string {
if x != nil && x.Id != nil {
return *x.Id
}
return ""
}
func (x *Quest) GetQuest() string {
if x != nil && x.Quest != nil {
return *x.Quest
}
return ""
}
func (x *Quest) GetQuestUin() uint64 {
if x != nil && x.QuestUin != nil {
return *x.QuestUin
}
return 0
}
func (x *Quest) GetTime() uint64 {
if x != nil && x.Time != nil {
return *x.Time
}
return 0
}
func (x *Quest) GetAns() string {
if x != nil && x.Ans != nil {
return *x.Ans
}
return ""
}
func (x *Quest) GetAnsTime() uint64 {
if x != nil && x.AnsTime != nil {
return *x.AnsTime
}
return 0
}
func (x *Quest) GetComment() []*Comment {
if x != nil {
return x.Comment
}
return nil
}
func (x *Quest) GetPraise() []*Praise {
if x != nil {
return x.Praise
}
return nil
}
func (x *Quest) GetPraiseNum() uint64 {
if x != nil && x.PraiseNum != nil {
return *x.PraiseNum
}
return 0
}
func (x *Quest) GetLikeKey() string {
if x != nil && x.LikeKey != nil {
return *x.LikeKey
}
return ""
}
func (x *Quest) GetSystemId() uint64 {
if x != nil && x.SystemId != nil {
return *x.SystemId
}
return 0
}
func (x *Quest) GetCommentNum() uint64 {
if x != nil && x.CommentNum != nil {
return *x.CommentNum
}
return 0
}
func (x *Quest) GetShowType() uint64 {
if x != nil && x.ShowType != nil {
return *x.ShowType
}
return 0
}
func (x *Quest) GetShowTimes() uint64 {
if x != nil && x.ShowTimes != nil {
return *x.ShowTimes
}
return 0
}
func (x *Quest) GetBeenPraised() uint64 {
if x != nil && x.BeenPraised != nil {
return *x.BeenPraised
}
return 0
}
func (x *Quest) GetQuestRead() bool {
if x != nil && x.QuestRead != nil {
return *x.QuestRead
}
return false
}
func (x *Quest) GetAnsShowType() uint64 {
if x != nil && x.AnsShowType != nil {
return *x.AnsShowType
}
return 0
}
type DEC4ReqBody struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Uin *uint64 `protobuf:"varint,1,opt,name=uin" json:"uin,omitempty"`
QuestNum *uint64 `protobuf:"varint,2,opt,name=questNum" json:"questNum,omitempty"`
CommentNum *uint64 `protobuf:"varint,3,opt,name=commentNum" json:"commentNum,omitempty"`
Cookie []byte `protobuf:"bytes,4,opt,name=cookie" json:"cookie,omitempty"`
FetchType *uint32 `protobuf:"varint,5,opt,name=fetchType" json:"fetchType,omitempty"`
}
func (x *DEC4ReqBody) Reset() {
*x = DEC4ReqBody{}
if protoimpl.UnsafeEnabled {
mi := &file_oidb0xec4_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DEC4ReqBody) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DEC4ReqBody) ProtoMessage() {}
func (x *DEC4ReqBody) ProtoReflect() protoreflect.Message {
mi := &file_oidb0xec4_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 DEC4ReqBody.ProtoReflect.Descriptor instead.
func (*DEC4ReqBody) Descriptor() ([]byte, []int) {
return file_oidb0xec4_proto_rawDescGZIP(), []int{3}
}
func (x *DEC4ReqBody) GetUin() uint64 {
if x != nil && x.Uin != nil {
return *x.Uin
}
return 0
}
func (x *DEC4ReqBody) GetQuestNum() uint64 {
if x != nil && x.QuestNum != nil {
return *x.QuestNum
}
return 0
}
func (x *DEC4ReqBody) GetCommentNum() uint64 {
if x != nil && x.CommentNum != nil {
return *x.CommentNum
}
return 0
}
func (x *DEC4ReqBody) GetCookie() []byte {
if x != nil {
return x.Cookie
}
return nil
}
func (x *DEC4ReqBody) GetFetchType() uint32 {
if x != nil && x.FetchType != nil {
return *x.FetchType
}
return 0
}
type DEC4RspBody struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Quest []*Quest `protobuf:"bytes,1,rep,name=quest" json:"quest,omitempty"`
IsFetchOver *bool `protobuf:"varint,2,opt,name=isFetchOver" json:"isFetchOver,omitempty"`
TotalQuestNum *uint32 `protobuf:"varint,3,opt,name=totalQuestNum" json:"totalQuestNum,omitempty"`
Cookie []byte `protobuf:"bytes,4,opt,name=cookie" json:"cookie,omitempty"`
Ret *uint32 `protobuf:"varint,5,opt,name=ret" json:"ret,omitempty"`
AnsweredQuestNum *uint32 `protobuf:"varint,6,opt,name=answeredQuestNum" json:"answeredQuestNum,omitempty"`
}
func (x *DEC4RspBody) Reset() {
*x = DEC4RspBody{}
if protoimpl.UnsafeEnabled {
mi := &file_oidb0xec4_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DEC4RspBody) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DEC4RspBody) ProtoMessage() {}
func (x *DEC4RspBody) ProtoReflect() protoreflect.Message {
mi := &file_oidb0xec4_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 DEC4RspBody.ProtoReflect.Descriptor instead.
func (*DEC4RspBody) Descriptor() ([]byte, []int) {
return file_oidb0xec4_proto_rawDescGZIP(), []int{4}
}
func (x *DEC4RspBody) GetQuest() []*Quest {
if x != nil {
return x.Quest
}
return nil
}
func (x *DEC4RspBody) GetIsFetchOver() bool {
if x != nil && x.IsFetchOver != nil {
return *x.IsFetchOver
}
return false
}
func (x *DEC4RspBody) GetTotalQuestNum() uint32 {
if x != nil && x.TotalQuestNum != nil {
return *x.TotalQuestNum
}
return 0
}
func (x *DEC4RspBody) GetCookie() []byte {
if x != nil {
return x.Cookie
}
return nil
}
func (x *DEC4RspBody) GetRet() uint32 {
if x != nil && x.Ret != nil {
return *x.Ret
}
return 0
}
func (x *DEC4RspBody) GetAnsweredQuestNum() uint32 {
if x != nil && x.AnsweredQuestNum != nil {
return *x.AnsweredQuestNum
}
return 0
}
var File_oidb0xec4_proto protoreflect.FileDescriptor
var file_oidb0xec4_proto_rawDesc = []byte{
0x0a, 0x0f, 0x6f, 0x69, 0x64, 0x62, 0x30, 0x78, 0x65, 0x63, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x22, 0xad, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a,
0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a,
0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18,
0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66,
0x72, 0x6f, 0x6d, 0x55, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x66, 0x72,
0x6f, 0x6d, 0x55, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x55, 0x69, 0x6e, 0x18, 0x05,
0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x74, 0x6f, 0x55, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x72,
0x65, 0x70, 0x6c, 0x79, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65,
0x70, 0x6c, 0x79, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x4e, 0x69, 0x63,
0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x4e, 0x69, 0x63,
0x6b, 0x22, 0x68, 0x0a, 0x06, 0x50, 0x72, 0x61, 0x69, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66,
0x72, 0x6f, 0x6d, 0x55, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x66, 0x72,
0x6f, 0x6d, 0x55, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x55, 0x69, 0x6e, 0x18, 0x02,
0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x74, 0x6f, 0x55, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74,
0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12,
0x1a, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x4e, 0x69, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x4e, 0x69, 0x63, 0x6b, 0x22, 0xde, 0x03, 0x0a, 0x05,
0x51, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x71,
0x75, 0x65, 0x73, 0x74, 0x55, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x71,
0x75, 0x65, 0x73, 0x74, 0x55, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18,
0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61,
0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x6e, 0x73, 0x12, 0x18, 0x0a,
0x07, 0x61, 0x6e, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07,
0x61, 0x6e, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65,
0x6e, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65,
0x6e, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x70,
0x72, 0x61, 0x69, 0x73, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x50, 0x72,
0x61, 0x69, 0x73, 0x65, 0x52, 0x06, 0x70, 0x72, 0x61, 0x69, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09,
0x70, 0x72, 0x61, 0x69, 0x73, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52,
0x09, 0x70, 0x72, 0x61, 0x69, 0x73, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69,
0x6b, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x69, 0x6b,
0x65, 0x4b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x64,
0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x64,
0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x75, 0x6d, 0x18, 0x0c,
0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x75, 0x6d,
0x12, 0x1a, 0x0a, 0x08, 0x73, 0x68, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01,
0x28, 0x04, 0x52, 0x08, 0x73, 0x68, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09,
0x73, 0x68, 0x6f, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52,
0x09, 0x73, 0x68, 0x6f, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x65,
0x65, 0x6e, 0x50, 0x72, 0x61, 0x69, 0x73, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52,
0x0b, 0x62, 0x65, 0x65, 0x6e, 0x50, 0x72, 0x61, 0x69, 0x73, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09,
0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x61, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52,
0x09, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x61, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6e,
0x73, 0x53, 0x68, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x52,
0x0b, 0x61, 0x6e, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x22, 0x91, 0x01, 0x0a,
0x0b, 0x44, 0x45, 0x43, 0x34, 0x52, 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x75, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x75, 0x69, 0x6e, 0x12, 0x1a,
0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
0x52, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f,
0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a,
0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f,
0x6f, 0x6b, 0x69, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x63, 0x6f, 0x6f, 0x6b,
0x69, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x65, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x18,
0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x66, 0x65, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65,
0x22, 0xc9, 0x01, 0x0a, 0x0b, 0x44, 0x45, 0x43, 0x34, 0x52, 0x73, 0x70, 0x42, 0x6f, 0x64, 0x79,
0x12, 0x1c, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x06, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x52, 0x05, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20,
0x0a, 0x0b, 0x69, 0x73, 0x46, 0x65, 0x74, 0x63, 0x68, 0x4f, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20,
0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x46, 0x65, 0x74, 0x63, 0x68, 0x4f, 0x76, 0x65, 0x72,
0x12, 0x24, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x51, 0x75, 0x65, 0x73, 0x74, 0x4e, 0x75,
0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x51, 0x75,
0x65, 0x73, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x10,
0x0a, 0x03, 0x72, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x72, 0x65, 0x74,
0x12, 0x2a, 0x0a, 0x10, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x73,
0x74, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x61, 0x6e, 0x73, 0x77,
0x65, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x4e, 0x75, 0x6d, 0x42, 0x08, 0x5a, 0x06,
0x2e, 0x3b, 0x6f, 0x69, 0x64, 0x62,
}
var (
file_oidb0xec4_proto_rawDescOnce sync.Once
file_oidb0xec4_proto_rawDescData = file_oidb0xec4_proto_rawDesc
)
func file_oidb0xec4_proto_rawDescGZIP() []byte {
file_oidb0xec4_proto_rawDescOnce.Do(func() {
file_oidb0xec4_proto_rawDescData = protoimpl.X.CompressGZIP(file_oidb0xec4_proto_rawDescData)
})
return file_oidb0xec4_proto_rawDescData
}
var file_oidb0xec4_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
var file_oidb0xec4_proto_goTypes = []interface{}{
(*Comment)(nil), // 0: Comment
(*Praise)(nil), // 1: Praise
(*Quest)(nil), // 2: Quest
(*DEC4ReqBody)(nil), // 3: DEC4ReqBody
(*DEC4RspBody)(nil), // 4: DEC4RspBody
}
var file_oidb0xec4_proto_depIdxs = []int32{
0, // 0: Quest.comment:type_name -> Comment
1, // 1: Quest.praise:type_name -> Praise
2, // 2: DEC4RspBody.quest:type_name -> Quest
3, // [3:3] is the sub-list for method output_type
3, // [3:3] is the sub-list for method input_type
3, // [3:3] is the sub-list for extension type_name
3, // [3:3] is the sub-list for extension extendee
0, // [0:3] is the sub-list for field type_name
}
func init() { file_oidb0xec4_proto_init() }
func file_oidb0xec4_proto_init() {
if File_oidb0xec4_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_oidb0xec4_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Comment); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_oidb0xec4_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Praise); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_oidb0xec4_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Quest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_oidb0xec4_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DEC4ReqBody); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_oidb0xec4_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DEC4RspBody); 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_oidb0xec4_proto_rawDesc,
NumEnums: 0,
NumMessages: 5,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_oidb0xec4_proto_goTypes,
DependencyIndexes: file_oidb0xec4_proto_depIdxs,
MessageInfos: file_oidb0xec4_proto_msgTypes,
}.Build()
File_oidb0xec4_proto = out.File
file_oidb0xec4_proto_rawDesc = nil
file_oidb0xec4_proto_goTypes = nil
file_oidb0xec4_proto_depIdxs = nil
}

View File

@ -0,0 +1,56 @@
syntax = "proto2";
option go_package = ".;oidb";
message Comment {
optional string id = 1;
optional string comment = 2;
optional uint64 time = 3;
optional uint64 fromUin = 4;
optional uint64 toUin = 5;
optional string replyId = 6;
optional string fromNick = 7;
}
message Praise {
optional uint64 fromUin = 1;
optional uint64 toUin = 2;
optional uint64 time = 3;
optional string fromNick = 4;
}
message Quest {
optional string id = 1;
optional string quest = 2;
optional uint64 questUin = 3;
optional uint64 time = 4;
optional string ans = 5;
optional uint64 ansTime = 6;
repeated Comment comment = 7;
repeated Praise praise = 8;
optional uint64 praiseNum = 9;
optional string likeKey = 10;
optional uint64 systemId = 11;
optional uint64 commentNum = 12;
optional uint64 showType = 13;
optional uint64 showTimes = 14;
optional uint64 beenPraised = 15;
optional bool questRead = 16;
optional uint64 ansShowType = 17;
}
message DEC4ReqBody {
optional uint64 uin = 1;
optional uint64 questNum = 2;
optional uint64 commentNum = 3;
optional bytes cookie = 4;
optional uint32 fetchType = 5;
}
message DEC4RspBody {
repeated Quest quest = 1;
optional bool isFetchOver = 2;
optional uint32 totalQuestNum = 3;
optional bytes cookie = 4;
optional uint32 ret = 5;
optional uint32 answeredQuestNum = 6;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,89 @@
syntax = "proto2";
option go_package = ".;profilecard";
message BusiColor {
optional int32 r = 1;
optional int32 g = 2;
optional int32 b = 3;
}
message BusiComm {
optional int32 ver = 1;
optional int32 seq = 2;
optional int64 fromuin = 3;
optional int64 touin = 4;
optional int32 service = 5;
optional int32 sessionType = 6;
optional bytes sessionKey = 7;
optional int32 clientIp = 8;
optional BusiUi display = 9;
optional int32 result = 10;
optional string errMsg = 11;
optional int32 platform = 12;
optional string qqver = 13;
optional int32 build = 14;
optional BusiLoginSig msgLoginSig = 15;
optional int32 version = 17;
optional BusiUinInfo msgUinInfo = 18;
optional BusiRichUi msgRichDisplay = 19;
}
message BusiCommonReq {
optional string serviceCmd = 1;
optional BusiVisitorCountReq vcReq = 2;
optional BusiHideRecordsReq hrReq = 3;
}
message BusiDetailRecord {
optional int32 fuin = 1;
optional int32 source = 2;
optional int32 vtime = 3;
optional int32 mod = 4;
optional int32 hideFlag = 5;
}
message BusiHideRecordsReq {
optional int32 huin = 1;
optional int32 fuin = 2;
repeated BusiDetailRecord records = 3;
}
message BusiLabel {
optional bytes name = 1;
optional int32 enumType = 2;
optional BusiColor textColor = 3;
optional BusiColor edgingColor = 4;
optional int32 labelAttr = 5;
optional int32 labelType = 6;
}
message BusiLoginSig {
optional int32 type = 1;
optional bytes sig = 2;
optional int32 appid = 3;
}
message BusiRichUi {
optional string name = 1;
optional string serviceUrl = 2;
//repeated UiInfo uiList = 3;
}
message BusiUi {
optional string url = 1;
optional string title = 2;
optional string content = 3;
optional string jumpUrl = 4;
}
message BusiUinInfo {
optional int64 int64Longitude = 1;
optional int64 int64Latitude = 2;
}
message BusiVisitorCountReq {
optional int32 requireuin = 1;
optional int32 operuin = 2;
optional int32 mod = 3;
optional int32 reportFlag = 4;
}
message BusiVisitorCountRsp {
optional int32 requireuin = 1;
optional int32 totalLike = 2;
optional int32 totalView = 3;
optional int32 hotValue = 4;
optional int32 redValue = 5;
optional int32 hotDiff = 6;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,74 @@
syntax = "proto2";
option go_package = ".;profilecard";
message GateCommTaskInfo {
optional int32 appid = 1;
optional bytes taskData = 2;
}
message GateGetGiftListReq {
optional int32 uin = 1;
}
message GateGetGiftListRsp {
repeated string giftUrl = 1;
optional string customUrl = 2;
optional string desc = 3;
optional bool isOn = 4;
}
message GateGetVipCareReq {
optional int64 uin = 1;
}
message GateGetVipCareRsp {
optional int32 buss = 1;
optional int32 notice = 2;
}
message GateOidbFlagInfo {
optional int32 fieled = 1;
optional bytes byetsValue = 2;
}
message GatePrivilegeBaseInfoReq {
optional int64 uReqUin = 1;
}
message GatePrivilegeBaseInfoRsp {
optional bytes msg = 1;
optional bytes jumpUrl = 2;
repeated GatePrivilegeInfo vOpenPriv = 3;
repeated GatePrivilegeInfo vClosePriv = 4;
optional int32 uIsGrayUsr = 5;
}
message GatePrivilegeInfo {
optional int32 iType = 1;
optional int32 iSort = 2;
optional int32 iFeeType = 3;
optional int32 iLevel = 4;
optional int32 iFlag = 5;
optional bytes iconUrl = 6;
optional bytes deluxeIconUrl = 7;
optional bytes jumpUrl = 8;
optional int32 iIsBig = 9;
}
message GateVaProfileGateReq {
optional int32 uCmd = 1;
optional GatePrivilegeBaseInfoReq stPrivilegeReq = 2;
optional GateGetGiftListReq stGiftReq = 3;
repeated GateCommTaskInfo taskItem = 4;
repeated GateOidbFlagInfo oidbFlag = 5;
optional GateGetVipCareReq stVipCare = 6;
}
message GateQidInfoItem {
optional string qid = 1;
optional string url = 2;
optional string color = 3;
optional string logoUrl = 4;
}
message GateVaProfileGateRsp {
optional int32 iRetCode = 1;
optional bytes sRetMsg = 2;
optional GatePrivilegeBaseInfoRsp stPrivilegeRsp = 3;
optional GateGetGiftListRsp stGiftRsp = 4;
repeated GateCommTaskInfo taskItem = 5;
repeated GateOidbFlagInfo oidbFlag = 6;
optional GateGetVipCareRsp stVipCare = 7;
optional GateQidInfoItem qidInfo = 9;
}