219 lines
7.4 KiB
Go
219 lines
7.4 KiB
Go
package docker
|
||
|
||
import "gitee.ltd/lxh/wechat-robot/internal/types"
|
||
|
||
// BaseResponse API响应结构
|
||
type BaseResponse[T any] struct {
|
||
Success bool `json:"Success"`
|
||
Code int `json:"Code"`
|
||
Message string `json:"Message"`
|
||
Data T `json:"Data"`
|
||
}
|
||
|
||
// QRCodeResponse 获取二维码响应
|
||
type QRCodeResponse struct {
|
||
UUID string `json:"Uuid"`
|
||
ExpiredTime string `json:"ExpiredTime"`
|
||
QRCodeBase64 string `json:"QRCodeBase64"`
|
||
QRCodeURL string `json:"QRCodeURL"`
|
||
}
|
||
|
||
// CheckUuidResponse 检查二维码状态响应
|
||
type CheckUuidResponse struct {
|
||
Uuid string `json:"uuid"`
|
||
Status int `json:"status"` // 状态
|
||
PushLoginUrlExpiredTime int `json:"pushLoginUrlexpiredTime"` // 推送登录url过期时间
|
||
ExpiredTime int `json:"expiredTime"` // 过期时间(秒)
|
||
HeadImgUrl string `json:"headImgUrl"` // 头像
|
||
NickName string `json:"nickName"` // 昵称
|
||
AcctSectResp map[string]any `json:"acctSectResp"` // 账号信息-登录成功之后才有
|
||
}
|
||
|
||
// AwakenLoginResponse 唤醒登录响应
|
||
type AwakenLoginResponse struct {
|
||
QrCodeResponse struct {
|
||
BaseResponse any `json:"BaseResponse"`
|
||
BlueToothBroadCastContent any `json:"BlueToothBroadCastContent"`
|
||
BlueToothBroadCastUuid string `json:"BlueToothBroadCastUuid"`
|
||
CheckTime int `json:"CheckTime"`
|
||
ExpiredTime int `json:"ExpiredTime"`
|
||
NotifyKey any `json:"NotifyKey"`
|
||
Uuid string `json:"Uuid"`
|
||
} `json:"QrCodeResponse"`
|
||
}
|
||
|
||
// AutoHeartbeatResponse 心跳响应
|
||
type AutoHeartbeatResponse struct {
|
||
Success bool `json:"success"`
|
||
Message string `json:"message"`
|
||
Data struct{}
|
||
}
|
||
|
||
// AutoHeartbeatStatusResponse 心跳状态响应
|
||
type AutoHeartbeatStatusResponse struct {
|
||
Success bool `json:"success"`
|
||
Message string `json:"message"`
|
||
Running bool `json:"running"`
|
||
}
|
||
|
||
// Sync
|
||
// @description: 同步微信消息返回值
|
||
type Sync struct {
|
||
ModUserInfos any `json:"ModUserInfos"`
|
||
ModContacts any `json:"ModContacts"`
|
||
DelContacts any `json:"DelContacts"`
|
||
ModUserImgs any `json:"ModUserImgs"`
|
||
FunctionSwitchs any `json:"FunctionSwitchs"`
|
||
UserInfoExts any `json:"UserInfoExts"`
|
||
AddMsgs []Message `json:"AddMsgs"`
|
||
ContinueFlag int `json:"ContinueFlag"`
|
||
KeyBuf struct {
|
||
ILen int `json:"iLen"`
|
||
Buffer string `json:"buffer"`
|
||
} `json:"KeyBuf"`
|
||
Status int `json:"Status"`
|
||
Continue int `json:"Continue"`
|
||
Time int `json:"Time"`
|
||
UnknownCmdId string `json:"UnknownCmdId"`
|
||
Remarks string `json:"Remarks"`
|
||
}
|
||
|
||
// Message
|
||
// @description: 微信消息
|
||
type Message struct {
|
||
MsgId int `json:"MsgId"`
|
||
FromUserName struct {
|
||
String string `json:"string"`
|
||
} `json:"FromUserName"`
|
||
ToWxid struct {
|
||
String string `json:"string"`
|
||
} `json:"ToWxid"`
|
||
MsgType types.MessageType `json:"MsgType"`
|
||
Content struct {
|
||
String string `json:"string"`
|
||
} `json:"Content"`
|
||
Status int `json:"Status"`
|
||
ImgStatus int `json:"ImgStatus"`
|
||
ImgBuf struct {
|
||
ILen int `json:"iLen"`
|
||
} `json:"ImgBuf"`
|
||
CreateTime int `json:"CreateTime"`
|
||
MsgSource string `json:"MsgSource"`
|
||
NewMsgId int64 `json:"NewMsgId"`
|
||
MsgSeq int `json:"MsgSeq"`
|
||
PushContent string `json:"PushContent,omitempty"`
|
||
}
|
||
|
||
// ===================================================================
|
||
|
||
type ContactListResponse struct {
|
||
BaseResponse struct {
|
||
Ret int `json:"ret"`
|
||
ErrMsg struct {
|
||
String string `json:"string"`
|
||
} `json:"errMsg"`
|
||
} `json:"BaseResponse"`
|
||
CurrentWxcontactSeq int `json:"CurrentWxcontactSeq"`
|
||
CurrentChatRoomContactSeq int `json:"CurrentChatRoomContactSeq"`
|
||
CountinueFlag int `json:"CountinueFlag"`
|
||
ContactUsernameList []string `json:"ContactUsernameList"` // 联系人微信Id列表
|
||
}
|
||
|
||
// ContactDetailInfo
|
||
// @description: 联系人详情
|
||
type ContactDetailInfoResponse struct {
|
||
BaseResponse struct {
|
||
Ret int `json:"ret"`
|
||
ErrMsg struct {
|
||
} `json:"errMsg"`
|
||
} `json:"BaseResponse"`
|
||
ContactCount int `json:"ContactCount"`
|
||
ContactList []ContactDetailInfoItem `json:"ContactList"`
|
||
Ret []int `json:"Ret"`
|
||
Ticket []struct {
|
||
} `json:"Ticket"`
|
||
}
|
||
|
||
// ContactDetailInfoItem
|
||
// @description: 详情
|
||
type ContactDetailInfoItem struct {
|
||
UserName struct {
|
||
String string `json:"string"`
|
||
} `json:"UserName"` // 微信Id
|
||
NickName struct {
|
||
String string `json:"string"`
|
||
} `json:"NickName"` // 昵称
|
||
Pyinitial struct {
|
||
String string `json:"string"`
|
||
} `json:"Pyinitial"` // 昵称拼音首字母大写
|
||
QuanPin struct {
|
||
String string `json:"string"`
|
||
} `json:"QuanPin"` // 昵称拼音全拼小写
|
||
Sex int `json:"Sex"` // 性别 0:未知 1:男 2:女
|
||
ImgBuf struct {
|
||
ILen int `json:"iLen"`
|
||
} `json:"ImgBuf"`
|
||
BitMask int64 `json:"BitMask"`
|
||
BitVal int `json:"BitVal"`
|
||
ImgFlag int `json:"ImgFlag"`
|
||
Remark struct {
|
||
} `json:"Remark"`
|
||
RemarkPyinitial struct {
|
||
} `json:"RemarkPyinitial"`
|
||
RemarkQuanPin struct {
|
||
} `json:"RemarkQuanPin"`
|
||
ContactType int `json:"ContactType"`
|
||
RoomInfoCount int `json:"RoomInfoCount"`
|
||
DomainList struct {
|
||
} `json:"DomainList"`
|
||
ChatRoomNotify int `json:"ChatRoomNotify"`
|
||
AddContactScene int `json:"AddContactScene"`
|
||
Province string `json:"Province"` // 省份
|
||
City string `json:"City"` // 城市
|
||
Signature string `json:"Signature"` // 个性签名
|
||
PersonalCard int `json:"PersonalCard"`
|
||
HasWeiXinHdHeadImg int `json:"HasWeiXinHdHeadImg"`
|
||
VerifyFlag int `json:"VerifyFlag"`
|
||
Level int `json:"Level"`
|
||
Source int `json:"Source"`
|
||
Alias string `json:"Alias"` // 微信号
|
||
WeiboFlag int `json:"WeiboFlag"`
|
||
AlbumStyle int `json:"AlbumStyle"`
|
||
AlbumFlag int `json:"AlbumFlag"`
|
||
SnsUserInfo struct {
|
||
SnsFlag int `json:"SnsFlag"`
|
||
SnsBgimgId string `json:"SnsBgimgId"` // 朋友圈背景图
|
||
SnsBgobjectId float64 `json:"SnsBgobjectId"`
|
||
SnsFlagEx int `json:"SnsFlagEx"`
|
||
} `json:"SnsUserInfo"`
|
||
Country string `json:"Country"` // 国家
|
||
BigHeadImgUrl string `json:"BigHeadImgUrl"` // 大头像地址
|
||
SmallHeadImgUrl string `json:"SmallHeadImgUrl"` // 小头像地址
|
||
MyBrandList string `json:"MyBrandList"`
|
||
CustomizedInfo struct {
|
||
BrandFlag int `json:"BrandFlag"`
|
||
} `json:"CustomizedInfo"`
|
||
HeadImgMd5 string `json:"HeadImgMd5"`
|
||
EncryptUserName string `json:"EncryptUserName"`
|
||
AdditionalContactList struct {
|
||
LinkedinContactItem struct {
|
||
} `json:"LinkedinContactItem"`
|
||
} `json:"AdditionalContactList"`
|
||
ChatroomVersion int `json:"ChatroomVersion"`
|
||
ChatroomMaxCount int `json:"ChatroomMaxCount"`
|
||
ChatroomAccessType int `json:"ChatroomAccessType"`
|
||
NewChatroomData struct {
|
||
MemberCount int `json:"MemberCount"`
|
||
InfoMask int `json:"InfoMask"`
|
||
} `json:"NewChatroomData"`
|
||
DeleteFlag int `json:"DeleteFlag"`
|
||
LabelIdlist string `json:"LabelIdlist"`
|
||
PhoneNumListInfo struct {
|
||
Count int `json:"Count"`
|
||
} `json:"PhoneNumListInfo"`
|
||
ChatroomInfoVersion int `json:"ChatroomInfoVersion"`
|
||
DeleteContactScene int `json:"DeleteContactScene"`
|
||
ChatroomStatus int `json:"ChatroomStatus"`
|
||
ExtFlag int `json:"ExtFlag"`
|
||
}
|