wechat-robot/internal/docker/robot_model.go
2025-04-09 16:15:16 +08:00

219 lines
7.4 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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"`
}