github.com/Mrs4s/MiraiGo@v0.0.0-20240226124653-54bdd873e3fe/binary/jce/structs.go (about)

     1  package jce
     2  
     3  type IJceStruct interface {
     4  	ToBytes() []byte
     5  	ReadFrom(*JceReader)
     6  }
     7  
     8  //go:generate go run github.com/Mrs4s/MiraiGo/internal/generator/jce_gen -file=structs.go -o structs_tobytes.go
     9  type (
    10  	RequestPacket struct {
    11  		IVersion     int16             `jceId:"1"`
    12  		CPacketType  byte              `jceId:"2"`
    13  		IMessageType int32             `jceId:"3"`
    14  		IRequestId   int32             `jceId:"4"`
    15  		SServantName string            `jceId:"5"`
    16  		SFuncName    string            `jceId:"6"`
    17  		SBuffer      []byte            `jceId:"7"`
    18  		ITimeout     int32             `jceId:"8"`
    19  		Context      map[string]string `jceId:"9"`
    20  		Status       map[string]string `jceId:"10"`
    21  	}
    22  
    23  	RequestDataVersion3 struct {
    24  		Map map[string][]byte `jceId:"0"`
    25  	}
    26  
    27  	RequestDataVersion2 struct {
    28  		Map map[string]map[string][]byte `jceId:"0"`
    29  	}
    30  
    31  	SsoServerInfo struct {
    32  		Server   string `jceId:"1"`
    33  		Port     int32  `jceId:"2"`
    34  		Location string `jceId:"8"`
    35  	}
    36  
    37  	FileStoragePushFSSvcList struct {
    38  		UploadList            []FileStorageServerInfo `jceId:"0"`
    39  		PicDownloadList       []FileStorageServerInfo `jceId:"1"`
    40  		GPicDownloadList      []FileStorageServerInfo `jceId:"2"`
    41  		QZoneProxyServiceList []FileStorageServerInfo `jceId:"3"`
    42  		UrlEncodeServiceList  []FileStorageServerInfo `jceId:"4"`
    43  		BigDataChannel        *BigDataChannel         `jceId:"5"`
    44  		VipEmotionList        []FileStorageServerInfo `jceId:"6"`
    45  		C2CPicDownList        []FileStorageServerInfo `jceId:"7"`
    46  		// FmtIPInfo             *FmtIPInfo `jceId:"8"`
    47  		// DomainIPChannel       *DomainIPChannel `jceId:"9"`
    48  		PttList []byte `jceId:"10"`
    49  	}
    50  
    51  	FileStorageServerInfo struct {
    52  		Server string `jceId:"1"`
    53  		Port   int32  `jceId:"2"`
    54  	}
    55  
    56  	BigDataChannel struct {
    57  		IPLists     []BigDataIPList `jceId:"0"`
    58  		SigSession  []byte          `jceId:"1"`
    59  		KeySession  []byte          `jceId:"2"`
    60  		SigUin      int64           `jceId:"3"`
    61  		ConnectFlag int32           `jceId:"4"`
    62  		PbBuf       []byte          `jceId:"5"`
    63  	}
    64  
    65  	BigDataIPList struct {
    66  		ServiceType  int64           `jceId:"0"`
    67  		IPList       []BigDataIPInfo `jceId:"1"`
    68  		FragmentSize int64           `jceId:"3"`
    69  	}
    70  
    71  	BigDataIPInfo struct {
    72  		Type   int64  `jceId:"0"`
    73  		Server string `jceId:"1"`
    74  		Port   int64  `jceId:"2"`
    75  	}
    76  
    77  	SvcReqRegister struct {
    78  		Uin                int64  `jceId:"0"`
    79  		Bid                int64  `jceId:"1"`
    80  		ConnType           byte   `jceId:"2"`
    81  		Other              string `jceId:"3"`
    82  		Status             int32  `jceId:"4"`
    83  		OnlinePush         byte   `jceId:"5"`
    84  		IsOnline           byte   `jceId:"6"`
    85  		IsShowOnline       byte   `jceId:"7"`
    86  		KickPC             byte   `jceId:"8"`
    87  		KickWeak           byte   `jceId:"9"`
    88  		Timestamp          int64  `jceId:"10"`
    89  		IOSVersion         int64  `jceId:"11"`
    90  		NetType            byte   `jceId:"12"`
    91  		BuildVer           string `jceId:"13"`
    92  		RegType            byte   `jceId:"14"`
    93  		DevParam           []byte `jceId:"15"`
    94  		Guid               []byte `jceId:"16"`
    95  		LocaleId           int32  `jceId:"17"`
    96  		SilentPush         byte   `jceId:"18"`
    97  		DevName            string `jceId:"19"`
    98  		DevType            string `jceId:"20"`
    99  		OSVer              string `jceId:"21"`
   100  		OpenPush           byte   `jceId:"22"`
   101  		LargeSeq           int64  `jceId:"23"`
   102  		LastWatchStartTime int64  `jceId:"24"`
   103  		OldSSOIp           int64  `jceId:"26"`
   104  		NewSSOIp           int64  `jceId:"27"`
   105  		ChannelNo          string `jceId:"28"`
   106  		CPID               int64  `jceId:"29"`
   107  		VendorName         string `jceId:"30"`
   108  		VendorOSName       string `jceId:"31"`
   109  		IOSIdfa            string `jceId:"32"`
   110  		B769               []byte `jceId:"33"`
   111  		IsSetStatus        byte   `jceId:"34"`
   112  		ServerBuf          []byte `jceId:"35"`
   113  		SetMute            byte   `jceId:"36"`
   114  		ExtOnlineStatus    int64  `jceId:"38"`
   115  		BatteryStatus      int32  `jceId:"39"`
   116  	}
   117  
   118  	SvcRespRegister struct {
   119  		Uin                      int64  `jceId:"0"`
   120  		Bid                      int64  `jceId:"1"`
   121  		ReplyCode                byte   `jceId:"2"`
   122  		Result                   string `jceId:"3"`
   123  		ServerTime               int64  `jceId:"4"`
   124  		LogQQ                    byte   `jceId:"5"`
   125  		NeedKik                  byte   `jceId:"6"`
   126  		UpdateFlag               byte   `jceId:"7"`
   127  		Timestamp                int64  `jceId:"8"`
   128  		CrashFlag                byte   `jceId:"9"`
   129  		ClientIp                 string `jceId:"10"`
   130  		ClientPort               int32  `jceId:"11"`
   131  		HelloInterval            int32  `jceId:"12"`
   132  		LargeSeq                 int32  `jceId:"13"`
   133  		LargeSeqUpdate           byte   `jceId:"14"`
   134  		D769RspBody              []byte `jceId:"15"`
   135  		Status                   int32  `jceId:"16"`
   136  		ExtOnlineStatus          int64  `jceId:"17"`
   137  		ClientBatteryGetInterval int64  `jceId:"18"`
   138  		ClientAutoStatusInterval int64  `jceId:"19"`
   139  	}
   140  
   141  	SvcReqRegisterNew struct {
   142  		RequestOptional   int64      `jceId:"0"`
   143  		C2CMsg            IJceStruct `jceId:"1"` // SvcReqGetMsgV2
   144  		GroupMsg          IJceStruct `jceId:"2"` // SvcReqPullGroupMsgSeq
   145  		DisGroupMsgFilter byte       `jceId:"14"`
   146  		GroupMask         byte       `jceId:"15"`
   147  		EndSeq            int64      `jceId:"16"`
   148  		O769Body          []byte     `jceId:"20"`
   149  	}
   150  
   151  	SvcReqGetMsgV2 struct {
   152  		IJceStruct
   153  		Uin              int64  `jceId:"0"`
   154  		DateTime         int32  `jceId:"1"`
   155  		RecivePic        byte   `jceId:"4"`
   156  		Ability          int16  `jceId:"6"`
   157  		Channel          byte   `jceId:"9"`
   158  		Inst             byte   `jceId:"16"`
   159  		ChannelEx        byte   `jceId:"17"`
   160  		SyncCookie       []byte `jceId:"18"`
   161  		SyncFlag         int    `jceId:"19"`
   162  		RambleFlag       byte   `jceId:"20"`
   163  		GeneralAbi       int64  `jceId:"26"`
   164  		PubAccountCookie []byte `jceId:"27"`
   165  	}
   166  
   167  	SvcReqPullGroupMsgSeq struct {
   168  		IJceStruct
   169  		GroupInfo  []IJceStruct `jceId:"0"` // PullGroupSeqParam
   170  		VerifyType byte         `jceId:"1"`
   171  		Filter     int32        `jceId:"2"`
   172  	}
   173  
   174  	PullGroupSeqParam struct {
   175  		GroupCode int64 `jceId:"0"`
   176  		LastSeqId int64 `jceId:"1"`
   177  	}
   178  
   179  	SvcRespParam struct {
   180  		PCStat              int32        `jceId:"0"`
   181  		IsSupportC2CRoamMsg int32        `jceId:"1"`
   182  		IsSupportDataLine   int32        `jceId:"2"`
   183  		IsSupportPrintable  int32        `jceId:"3"`
   184  		IsSupportViewPCFile int32        `jceId:"4"`
   185  		PcVersion           int32        `jceId:"5"`
   186  		RoamFlag            int64        `jceId:"6"`
   187  		OnlineInfos         []OnlineInfo `jceId:"7"`
   188  		PCClientType        int32        `jceId:"8"`
   189  	}
   190  
   191  	RequestPushNotify struct {
   192  		Uin          int64  `jceId:"0"`
   193  		Type         byte   `jceId:"1"`
   194  		Service      string `jceId:"2"`
   195  		Cmd          string `jceId:"3"`
   196  		NotifyCookie []byte `jceId:"4"`
   197  		MsgType      int32  `jceId:"5"`
   198  		UserActive   int32  `jceId:"6"`
   199  		GeneralFlag  int32  `jceId:"7"`
   200  		BindedUin    int64  `jceId:"8"`
   201  	}
   202  
   203  	OnlineInfo struct {
   204  		InstanceId   int32  `jceId:"0"`
   205  		ClientType   int32  `jceId:"1"`
   206  		OnlineStatus int32  `jceId:"2"`
   207  		PlatformId   int32  `jceId:"3"`
   208  		SubPlatform  string `jceId:"4"`
   209  		UClientType  int64  `jceId:"5"`
   210  	}
   211  
   212  	SvcReqMSFLoginNotify struct {
   213  		AppId        int64          `jceId:"0"`
   214  		Status       byte           `jceId:"1"`
   215  		Tablet       byte           `jceId:"2"`
   216  		Platform     int64          `jceId:"3"`
   217  		Title        string         `jceId:"4"`
   218  		Info         string         `jceId:"5"`
   219  		ProductType  int64          `jceId:"6"`
   220  		ClientType   int64          `jceId:"7"`
   221  		InstanceList []InstanceInfo `jceId:"8"`
   222  	}
   223  
   224  	InstanceInfo struct {
   225  		AppId       int32 `jceId:"0"`
   226  		Tablet      byte  `jceId:"1"`
   227  		Platform    int64 `jceId:"2"`
   228  		ProductType int64 `jceId:"3"`
   229  		ClientType  int64 `jceId:"4"`
   230  	}
   231  
   232  	PushMessageInfo struct {
   233  		FromUin        int64  `jceId:"0"`
   234  		MsgTime        int64  `jceId:"1"`
   235  		MsgType        int16  `jceId:"2"`
   236  		MsgSeq         int16  `jceId:"3"`
   237  		Msg            string `jceId:"4"`
   238  		RealMsgTime    int32  `jceId:"5"`
   239  		VMsg           []byte `jceId:"6"`
   240  		AppShareID     int64  `jceId:"7"`
   241  		MsgCookies     []byte `jceId:"8"`
   242  		AppShareCookie []byte `jceId:"9"`
   243  		MsgUid         int64  `jceId:"10"`
   244  		LastChangeTime int64  `jceId:"11"`
   245  		FromInstId     int64  `jceId:"14"`
   246  		RemarkOfSender []byte `jceId:"15"`
   247  		FromMobile     string `jceId:"16"`
   248  		FromName       string `jceId:"17"`
   249  	}
   250  
   251  	SvcRespPushMsg struct {
   252  		Uin         int64        `jceId:"0"`
   253  		DelInfos    []IJceStruct `jceId:"1"`
   254  		Svrip       int32        `jceId:"2"`
   255  		PushToken   []byte       `jceId:"3"`
   256  		ServiceType int32        `jceId:"4"`
   257  	}
   258  
   259  	SvcReqGetDevLoginInfo struct {
   260  		IJceStruct
   261  		Guid           []byte `jceId:"0"`
   262  		AppName        string `jceId:"1"`
   263  		LoginType      int64  `jceId:"2"`
   264  		Timestamp      int64  `jceId:"3"`
   265  		NextItemIndex  int64  `jceId:"4"`
   266  		RequireMax     int64  `jceId:"5"`
   267  		GetDevListType int64  `jceId:"6"` // 1: getLoginDevList 2: getRecentLoginDevList 4: getAuthLoginDevList
   268  	}
   269  
   270  	SvcDevLoginInfo struct {
   271  		AppId          int64
   272  		Guid           []byte
   273  		LoginTime      int64
   274  		LoginPlatform  int64
   275  		LoginLocation  string
   276  		DeviceName     string
   277  		DeviceTypeInfo string
   278  		TerType        int64
   279  		ProductType    int64
   280  		CanBeKicked    int64
   281  	}
   282  
   283  	DelMsgInfo struct {
   284  		IJceStruct
   285  		FromUin    int64  `jceId:"0"`
   286  		MsgTime    int64  `jceId:"1"`
   287  		MsgSeq     int16  `jceId:"2"`
   288  		MsgCookies []byte `jceId:"3"`
   289  		Cmd        int16  `jceId:"4"`
   290  		MsgType    int64  `jceId:"5"`
   291  		AppId      int64  `jceId:"6"`
   292  		SendTime   int64  `jceId:"7"`
   293  		SsoSeq     int32  `jceId:"8"`
   294  		SsoIp      int32  `jceId:"9"`
   295  		ClientIp   int32  `jceId:"10"`
   296  	}
   297  
   298  	FriendListRequest struct {
   299  		Reqtype         int32   `jceId:"0"`
   300  		IfReflush       byte    `jceId:"1"`
   301  		Uin             int64   `jceId:"2"`
   302  		StartIndex      int16   `jceId:"3"`
   303  		FriendCount     int16   `jceId:"4"`
   304  		GroupId         byte    `jceId:"5"`
   305  		IfGetGroupInfo  byte    `jceId:"6"`
   306  		GroupStartIndex byte    `jceId:"7"`
   307  		GroupCount      byte    `jceId:"8"`
   308  		IfGetMSFGroup   byte    `jceId:"9"`
   309  		IfShowTermType  byte    `jceId:"10"`
   310  		Version         int64   `jceId:"11"`
   311  		UinList         []int64 `jceId:"12"`
   312  		AppType         int32   `jceId:"13"`
   313  		IfGetDOVId      byte    `jceId:"14"`
   314  		IfGetBothFlag   byte    `jceId:"15"`
   315  		D50             []byte  `jceId:"16"`
   316  		D6B             []byte  `jceId:"17"`
   317  		SnsTypeList     []int64 `jceId:"18"`
   318  	}
   319  
   320  	FriendInfo struct {
   321  		FriendUin           int64  `jceId:"0"`
   322  		GroupId             byte   `jceId:"1"`
   323  		FaceId              int16  `jceId:"2"`
   324  		Remark              string `jceId:"3"`
   325  		QQType              byte   `jceId:"4"`
   326  		Status              byte   `jceId:"5"`
   327  		MemberLevel         byte   `jceId:"6"`
   328  		IsMqqOnLine         byte   `jceId:"7"`
   329  		QQOnlineState       byte   `jceId:"8"`
   330  		IsIphoneOnline      byte   `jceId:"9"`
   331  		DetailStatusFlag    byte   `jceId:"10"`
   332  		QQOnlineStateV2     byte   `jceId:"11"`
   333  		ShowName            string `jceId:"12"`
   334  		IsRemark            byte   `jceId:"13"`
   335  		Nick                string `jceId:"14"`
   336  		SpecialFlag         byte   `jceId:"15"`
   337  		IMGroupID           []byte `jceId:"16"`
   338  		MSFGroupID          []byte `jceId:"17"`
   339  		TermType            int32  `jceId:"18"`
   340  		Network             byte   `jceId:"20"`
   341  		Ring                []byte `jceId:"21"`
   342  		AbiFlag             int64  `jceId:"22"`
   343  		FaceAddonId         int64  `jceId:"23"`
   344  		NetworkType         int32  `jceId:"24"`
   345  		VipFont             int64  `jceId:"25"`
   346  		IconType            int32  `jceId:"26"`
   347  		TermDesc            string `jceId:"27"`
   348  		ColorRing           int64  `jceId:"28"`
   349  		ApolloFlag          byte   `jceId:"29"`
   350  		ApolloTimestamp     int64  `jceId:"30"`
   351  		Sex                 byte   `jceId:"31"`
   352  		FounderFont         int64  `jceId:"32"`
   353  		EimId               string `jceId:"33"`
   354  		EimMobile           string `jceId:"34"`
   355  		OlympicTorch        byte   `jceId:"35"`
   356  		ApolloSignTime      int64  `jceId:"36"`
   357  		LaviUin             int64  `jceId:"37"`
   358  		TagUpdateTime       int64  `jceId:"38"`
   359  		GameLastLoginTime   int64  `jceId:"39"`
   360  		GameAppId           int64  `jceId:"40"`
   361  		CardID              []byte `jceId:"41"`
   362  		BitSet              int64  `jceId:"42"`
   363  		KingOfGloryFlag     byte   `jceId:"43"`
   364  		KingOfGloryRank     int64  `jceId:"44"`
   365  		MasterUin           string `jceId:"45"`
   366  		LastMedalUpdateTime int64  `jceId:"46"`
   367  		FaceStoreId         int64  `jceId:"47"`
   368  		FontEffect          int64  `jceId:"48"`
   369  		DOVId               string `jceId:"49"`
   370  		BothFlag            int64  `jceId:"50"`
   371  		CentiShow3DFlag     byte   `jceId:"51"`
   372  		IntimateInfo        []byte `jceId:"52"`
   373  		ShowNameplate       byte   `jceId:"53"`
   374  		NewLoverDiamondFlag byte   `jceId:"54"`
   375  		ExtSnsFrdData       []byte `jceId:"55"`
   376  		MutualMarkData      []byte `jceId:"56"`
   377  	}
   378  
   379  	TroopListRequest struct {
   380  		Uin              int64   `jceId:"0"`
   381  		GetMSFMsgFlag    byte    `jceId:"1"`
   382  		Cookies          []byte  `jceId:"2"`
   383  		GroupInfo        []int64 `jceId:"3"`
   384  		GroupFlagExt     byte    `jceId:"4"`
   385  		Version          int32   `jceId:"5"`
   386  		CompanyId        int64   `jceId:"6"`
   387  		VersionNum       int64   `jceId:"7"`
   388  		GetLongGroupName byte    `jceId:"8"`
   389  	}
   390  
   391  	TroopNumber struct {
   392  		GroupUin              int64  `jceId:"0"`
   393  		GroupCode             int64  `jceId:"1"`
   394  		Flag                  byte   `jceId:"2"`
   395  		GroupInfoSeq          int64  `jceId:"3"`
   396  		GroupName             string `jceId:"4"`
   397  		GroupMemo             string `jceId:"5"`
   398  		GroupFlagExt          int64  `jceId:"6"`
   399  		GroupRankSeq          int64  `jceId:"7"`
   400  		CertificationType     int64  `jceId:"8"`
   401  		ShutUpTimestamp       int64  `jceId:"9"`
   402  		MyShutUpTimestamp     int64  `jceId:"10"`
   403  		CmdUinUinFlag         int64  `jceId:"11"`
   404  		AdditionalFlag        int64  `jceId:"12"`
   405  		GroupTypeFlag         int64  `jceId:"13"`
   406  		GroupSecType          int64  `jceId:"14"`
   407  		GroupSecTypeInfo      int64  `jceId:"15"`
   408  		GroupClassExt         int64  `jceId:"16"`
   409  		AppPrivilegeFlag      int64  `jceId:"17"`
   410  		SubscriptionUin       int64  `jceId:"18"`
   411  		MemberNum             int64  `jceId:"19"`
   412  		MemberNumSeq          int64  `jceId:"20"`
   413  		MemberCardSeq         int64  `jceId:"21"`
   414  		GroupFlagExt3         int64  `jceId:"22"`
   415  		GroupOwnerUin         int64  `jceId:"23"`
   416  		IsConfGroup           byte   `jceId:"24"`
   417  		IsModifyConfGroupFace byte   `jceId:"25"`
   418  		IsModifyConfGroupName byte   `jceId:"26"`
   419  		CmdUinJoinTime        int64  `jceId:"27"`
   420  		CompanyId             int64  `jceId:"28"`
   421  		MaxGroupMemberNum     int64  `jceId:"29"`
   422  		CmdUinGroupMask       int64  `jceId:"30"`
   423  		GuildAppId            int64  `jceId:"31"`
   424  		GuildSubType          int64  `jceId:"32"`
   425  		CmdUinRingtoneID      int64  `jceId:"33"`
   426  		CmdUinFlagEx2         int64  `jceId:"34"`
   427  	}
   428  
   429  	TroopMemberListRequest struct {
   430  		Uin                int64 `jceId:"0"`
   431  		GroupCode          int64 `jceId:"1"`
   432  		NextUin            int64 `jceId:"2"`
   433  		GroupUin           int64 `jceId:"3"`
   434  		Version            int64 `jceId:"4"`
   435  		ReqType            int64 `jceId:"5"`
   436  		GetListAppointTime int64 `jceId:"6"`
   437  		RichCardNameVer    byte  `jceId:"7"`
   438  	}
   439  
   440  	TroopMemberInfo struct {
   441  		MemberUin              int64  `jceId:"0"`
   442  		FaceId                 int16  `jceId:"1"`
   443  		Age                    byte   `jceId:"2"`
   444  		Gender                 byte   `jceId:"3"`
   445  		Nick                   string `jceId:"4"`
   446  		Status                 byte   `jceId:"5"`
   447  		ShowName               string `jceId:"6"`
   448  		Name                   string `jceId:"8"`
   449  		Memo                   string `jceId:"12"`
   450  		AutoRemark             string `jceId:"13"`
   451  		MemberLevel            int64  `jceId:"14"`
   452  		JoinTime               int64  `jceId:"15"`
   453  		LastSpeakTime          int64  `jceId:"16"`
   454  		CreditLevel            int64  `jceId:"17"`
   455  		Flag                   int64  `jceId:"18"`
   456  		FlagExt                int64  `jceId:"19"`
   457  		Point                  int64  `jceId:"20"`
   458  		Concerned              byte   `jceId:"21"`
   459  		Shielded               byte   `jceId:"22"`
   460  		SpecialTitle           string `jceId:"23"`
   461  		SpecialTitleExpireTime int64  `jceId:"24"`
   462  		Job                    string `jceId:"25"`
   463  		ApolloFlag             byte   `jceId:"26"`
   464  		ApolloTimestamp        int64  `jceId:"27"`
   465  		GlobalGroupLevel       int64  `jceId:"28"`
   466  		TitleId                int64  `jceId:"29"`
   467  		ShutUpTimestap         int64  `jceId:"30"`
   468  		GlobalGroupPoint       int64  `jceId:"31"`
   469  		RichCardNameVer        byte   `jceId:"33"`
   470  		VipType                int64  `jceId:"34"`
   471  		VipLevel               int64  `jceId:"35"`
   472  		BigClubLevel           int64  `jceId:"36"`
   473  		BigClubFlag            int64  `jceId:"37"`
   474  		Nameplate              int64  `jceId:"38"`
   475  		GroupHonor             []byte `jceId:"39"`
   476  	}
   477  
   478  	ModifyGroupCardRequest struct {
   479  		Zero      int64        `jceId:"0"`
   480  		GroupCode int64        `jceId:"1"`
   481  		NewSeq    int64        `jceId:"2"`
   482  		UinInfo   []IJceStruct `jceId:"3"`
   483  	}
   484  
   485  	UinInfo struct {
   486  		IJceStruct
   487  		Uin    int64  `jceId:"0"`
   488  		Flag   int64  `jceId:"1"`
   489  		Name   string `jceId:"2"`
   490  		Gender byte   `jceId:"3"`
   491  		Phone  string `jceId:"4"`
   492  		Email  string `jceId:"5"`
   493  		Remark string `jceId:"6"`
   494  	}
   495  
   496  	SummaryCardReq struct {
   497  		Uin                int64 `jceId:"0"`
   498  		ComeFrom           int32 `jceId:"1"`
   499  		QzoneFeedTimestamp int64 `jceId:"2"`
   500  		IsFriend           byte  `jceId:"3"`
   501  		GroupCode          int64 `jceId:"4"`
   502  		GroupUin           int64 `jceId:"5"`
   503  		// Seed               []byte`jceId:"6"`
   504  		// SearchName         string`jceId:"7"`
   505  		GetControl       int64    `jceId:"8"`
   506  		AddFriendSource  int32    `jceId:"9"`
   507  		SecureSig        []byte   `jceId:"10"`
   508  		ReqServices      [][]byte `jceId:"14"`
   509  		TinyId           int64    `jceId:"15"`
   510  		LikeSource       int64    `jceId:"16"`
   511  		ReqMedalWallInfo byte     `jceId:"18"`
   512  		Req0x5ebFieldId  []int64  `jceId:"19"`
   513  		ReqNearbyGodInfo byte     `jceId:"20"`
   514  		ReqExtendCard    byte     `jceId:"22"`
   515  	}
   516  
   517  	SummaryCardReqSearch struct {
   518  		Keyword     string   `jceId:"0"`
   519  		CountryCode string   `jceId:"1"`
   520  		Version     int32    `jceId:"2"`
   521  		ReqServices [][]byte `jceId:"3"` // busi
   522  	}
   523  
   524  	DelFriendReq struct {
   525  		Uin     int64 `jceId:"0"`
   526  		DelUin  int64 `jceId:"1"`
   527  		DelType byte  `jceId:"2"`
   528  		Version int32 `jceId:"3"`
   529  	}
   530  
   531  	VipInfo struct {
   532  		Open  byte  `jceId:"0"` // 1 为开通
   533  		Type  int32 `jceId:"1"` // 1 为年费
   534  		Level int32 `jceId:"2"`
   535  	}
   536  )
   537  
   538  func (pkt *RequestPacket) ReadFrom(r *JceReader) {
   539  	pkt.IVersion = r.ReadInt16(1)
   540  	pkt.CPacketType = r.ReadByte(2)
   541  	pkt.IMessageType = r.ReadInt32(3)
   542  	pkt.IRequestId = r.ReadInt32(4)
   543  	pkt.SServantName = r.ReadString(5)
   544  	pkt.SFuncName = r.ReadString(6)
   545  	pkt.SBuffer = r.ReadBytes(7)
   546  	pkt.ITimeout = r.ReadInt32(8)
   547  	// r.ReadMap(pkt.Context, 9)
   548  	pkt.Context = r.ReadMapStrStr(9)
   549  	// r.ReadMap(pkt.Status, 10)
   550  	pkt.Status = r.ReadMapStrStr(10)
   551  }
   552  
   553  func (pkt *RequestDataVersion3) ReadFrom(r *JceReader) {
   554  	pkt.Map = r.ReadMapStrByte(0)
   555  }
   556  
   557  func (pkt *RequestDataVersion2) ReadFrom(r *JceReader) {
   558  	pkt.Map = r.ReadMapStrMapStrByte(0)
   559  }
   560  
   561  func (pkt *SsoServerInfo) ReadFrom(r *JceReader) {
   562  	pkt.Server = r.ReadString(1)
   563  	pkt.Port = r.ReadInt32(2)
   564  	pkt.Location = r.ReadString(8)
   565  }
   566  
   567  func (pkt *FileStoragePushFSSvcList) ReadFrom(r *JceReader) {
   568  	pkt.UploadList = r.ReadFileStorageServerInfos(0)
   569  	pkt.PicDownloadList = r.ReadFileStorageServerInfos(1)
   570  	pkt.GPicDownloadList = r.ReadFileStorageServerInfos(2)
   571  	pkt.QZoneProxyServiceList = r.ReadFileStorageServerInfos(3)
   572  	pkt.UrlEncodeServiceList = r.ReadFileStorageServerInfos(4)
   573  	pkt.BigDataChannel = &BigDataChannel{}
   574  	r.ReadJceStruct(pkt.BigDataChannel, 5)
   575  	pkt.VipEmotionList = r.ReadFileStorageServerInfos(6)
   576  	pkt.C2CPicDownList = r.ReadFileStorageServerInfos(7)
   577  	pkt.PttList = r.ReadBytes(10)
   578  }
   579  
   580  func (pkt *FileStorageServerInfo) ReadFrom(r *JceReader) {
   581  	pkt.Server = r.ReadString(1)
   582  	pkt.Port = r.ReadInt32(2)
   583  }
   584  
   585  func (pkt *BigDataChannel) ReadFrom(r *JceReader) {
   586  	pkt.IPLists = r.ReadBigDataIPLists(0)
   587  	pkt.SigSession = r.ReadBytes(1)
   588  	pkt.KeySession = r.ReadBytes(2)
   589  	pkt.SigUin = r.ReadInt64(3)
   590  	pkt.ConnectFlag = r.ReadInt32(4)
   591  	pkt.PbBuf = r.ReadBytes(5)
   592  }
   593  
   594  func (pkt *BigDataIPList) ReadFrom(r *JceReader) {
   595  	pkt.ServiceType = r.ReadInt64(0)
   596  	pkt.IPList = r.ReadBigDataIPInfos(1)
   597  	pkt.FragmentSize = r.ReadInt64(3)
   598  }
   599  
   600  func (pkt *BigDataIPInfo) ReadFrom(r *JceReader) {
   601  	pkt.Type = r.ReadInt64(0)
   602  	pkt.Server = r.ReadString(1)
   603  	pkt.Port = r.ReadInt64(2)
   604  }
   605  
   606  func (pkt *SvcRespRegister) ReadFrom(r *JceReader) {
   607  	pkt.Uin = r.ReadInt64(0)
   608  	pkt.Bid = r.ReadInt64(1)
   609  	pkt.ReplyCode = r.ReadByte(2)
   610  	pkt.Result = r.ReadString(3)
   611  	pkt.ServerTime = r.ReadInt64(4)
   612  	pkt.LogQQ = r.ReadByte(5)
   613  	pkt.NeedKik = r.ReadByte(6)
   614  	pkt.UpdateFlag = r.ReadByte(7)
   615  	pkt.Timestamp = r.ReadInt64(8)
   616  	pkt.CrashFlag = r.ReadByte(9)
   617  	pkt.ClientIp = r.ReadString(10)
   618  	pkt.ClientPort = r.ReadInt32(11)
   619  	pkt.HelloInterval = r.ReadInt32(12)
   620  	pkt.LargeSeq = r.ReadInt32(13)
   621  	pkt.LargeSeqUpdate = r.ReadByte(14)
   622  	pkt.D769RspBody = r.ReadBytes(15)
   623  	pkt.Status = r.ReadInt32(16)
   624  	pkt.ExtOnlineStatus = r.ReadInt64(17)
   625  }
   626  
   627  func (pkt *FriendInfo) ReadFrom(r *JceReader) {
   628  	pkt.FriendUin = r.ReadInt64(0)
   629  	pkt.GroupId = r.ReadByte(1)
   630  	pkt.FaceId = r.ReadInt16(2)
   631  	pkt.Remark = r.ReadString(3)
   632  	pkt.Status = r.ReadByte(5)
   633  	pkt.MemberLevel = r.ReadByte(6)
   634  	pkt.Nick = r.ReadString(14)
   635  	pkt.Network = r.ReadByte(20)
   636  	pkt.NetworkType = r.ReadInt32(24)
   637  	pkt.CardID = r.ReadBytes(41)
   638  }
   639  
   640  func (pkt *TroopNumber) ReadFrom(r *JceReader) {
   641  	pkt.GroupUin = r.ReadInt64(0)
   642  	pkt.GroupCode = r.ReadInt64(1)
   643  	pkt.GroupName = r.ReadString(4)
   644  	pkt.GroupMemo = r.ReadString(5)
   645  	pkt.MemberNum = r.ReadInt64(19)
   646  	pkt.GroupOwnerUin = r.ReadInt64(23)
   647  	pkt.MaxGroupMemberNum = r.ReadInt64(29)
   648  }
   649  
   650  func (pkt *TroopMemberInfo) ReadFrom(r *JceReader) {
   651  	pkt.MemberUin = r.ReadInt64(0)
   652  	pkt.FaceId = r.ReadInt16(1)
   653  	pkt.Gender = r.ReadByte(3)
   654  	pkt.Nick = r.ReadString(4)
   655  	pkt.ShowName = r.ReadString(6)
   656  	pkt.Name = r.ReadString(8)
   657  	pkt.AutoRemark = r.ReadString(13)
   658  	pkt.MemberLevel = r.ReadInt64(14)
   659  	pkt.JoinTime = r.ReadInt64(15)
   660  	pkt.LastSpeakTime = r.ReadInt64(16)
   661  	pkt.Flag = r.ReadInt64(18)
   662  	pkt.SpecialTitle = r.ReadString(23)
   663  	pkt.SpecialTitleExpireTime = r.ReadInt64(24)
   664  	pkt.ShutUpTimestap = r.ReadInt64(30)
   665  }
   666  
   667  func (pkt *PushMessageInfo) ReadFrom(r *JceReader) {
   668  	pkt.FromUin = r.ReadInt64(0)
   669  	pkt.MsgTime = r.ReadInt64(1)
   670  	pkt.MsgType = r.ReadInt16(2)
   671  	pkt.MsgSeq = r.ReadInt16(3)
   672  	pkt.Msg = r.ReadString(4)
   673  	pkt.VMsg = r.ReadBytes(6)
   674  	pkt.MsgCookies = r.ReadBytes(8)
   675  	pkt.MsgUid = r.ReadInt64(10)
   676  	pkt.FromMobile = r.ReadString(16)
   677  	pkt.FromName = r.ReadString(17)
   678  }
   679  
   680  func (pkt *SvcDevLoginInfo) ReadFrom(r *JceReader) {
   681  	pkt.AppId = r.ReadInt64(0)
   682  	pkt.Guid = r.ReadBytes(1)
   683  	pkt.LoginTime = r.ReadInt64(2)
   684  	pkt.LoginPlatform = r.ReadInt64(3)
   685  	pkt.LoginLocation = r.ReadString(4)
   686  	pkt.DeviceName = r.ReadString(5)
   687  	pkt.DeviceTypeInfo = r.ReadString(6)
   688  	pkt.TerType = r.ReadInt64(8)
   689  	pkt.ProductType = r.ReadInt64(9)
   690  	pkt.CanBeKicked = r.ReadInt64(10)
   691  }
   692  
   693  func (pkt *SvcRespParam) ReadFrom(r *JceReader) {
   694  	pkt.PCStat = r.ReadInt32(0)
   695  	pkt.IsSupportC2CRoamMsg = r.ReadInt32(1)
   696  	pkt.IsSupportDataLine = r.ReadInt32(2)
   697  	pkt.IsSupportPrintable = r.ReadInt32(3)
   698  	pkt.IsSupportViewPCFile = r.ReadInt32(4)
   699  	pkt.PcVersion = r.ReadInt32(5)
   700  	pkt.RoamFlag = r.ReadInt64(6)
   701  	pkt.OnlineInfos = r.ReadOnlineInfos(7)
   702  	pkt.PCClientType = r.ReadInt32(8)
   703  }
   704  
   705  func (pkt *RequestPushNotify) ReadFrom(r *JceReader) {
   706  	pkt.Uin = r.ReadInt64(0)
   707  	pkt.Type = r.ReadByte(1)
   708  	pkt.Service = r.ReadString(2)
   709  	pkt.Cmd = r.ReadString(3)
   710  	pkt.NotifyCookie = r.ReadBytes(4)
   711  	pkt.MsgType = r.ReadInt32(5)
   712  	pkt.UserActive = r.ReadInt32(6)
   713  	pkt.GeneralFlag = r.ReadInt32(7)
   714  	pkt.BindedUin = r.ReadInt64(8)
   715  }
   716  
   717  func (pkt *OnlineInfo) ReadFrom(r *JceReader) {
   718  	pkt.InstanceId = r.ReadInt32(0)
   719  	pkt.ClientType = r.ReadInt32(1)
   720  	pkt.OnlineStatus = r.ReadInt32(2)
   721  	pkt.PlatformId = r.ReadInt32(3)
   722  	pkt.SubPlatform = string(r.ReadBytes(4))
   723  	pkt.UClientType = r.ReadInt64(5)
   724  }
   725  
   726  func (pkt *SvcReqMSFLoginNotify) ReadFrom(r *JceReader) {
   727  	pkt.AppId = r.ReadInt64(0)
   728  	pkt.Status = r.ReadByte(1)
   729  	pkt.Tablet = r.ReadByte(2)
   730  	pkt.Platform = r.ReadInt64(3)
   731  	pkt.Title = r.ReadString(4)
   732  	pkt.Info = r.ReadString(5)
   733  	pkt.ProductType = r.ReadInt64(6)
   734  	pkt.ClientType = r.ReadInt64(7)
   735  	pkt.InstanceList = r.ReadInstanceInfos(8)
   736  }
   737  
   738  func (pkt *InstanceInfo) ReadFrom(r *JceReader) {
   739  	pkt.AppId = r.ReadInt32(0)
   740  	pkt.Tablet = r.ReadByte(1)
   741  	pkt.Platform = r.ReadInt64(2)
   742  	pkt.ProductType = r.ReadInt64(3)
   743  	pkt.ClientType = r.ReadInt64(4)
   744  }
   745  
   746  func (pkt *VipInfo) ReadFrom(r *JceReader) {
   747  	pkt.Open = r.ReadByte(0)
   748  	pkt.Type = r.ReadInt32(1)
   749  	pkt.Level = r.ReadInt32(2)
   750  }