txim/callback/message.go

68 lines
6.9 KiB
Go
Raw Permalink 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 callback
// MessageCallbackData 单聊消息回调数据
type MessageCallbackData struct {
MsgBody []MessageCallbackMsgBody `json:"MsgBody"` // 消息体
CallbackCommand string `json:"CallbackCommand"` // 回调命令
FromAccount string `json:"From_Account"` // 发送者帐号
ToAccount string `json:"To_Account"` // 接收者帐号
MsgRandom int `json:"MsgRandom"` // 消息随机数
MsgSeq int `json:"MsgSeq"` // 消息序列号
MsgTime int `json:"MsgTime"` // 消息的发送时间戳,单位为秒
MsgKey string `json:"MsgKey"` //消息的唯一标识,可用于 REST API 撤回单聊消息
OnlineOnlyFlag int `json:"OnlineOnlyFlag"` //在线消息为1否则为0
SendMsgResult int `json:"SendMsgResult"` // 消息发送之后独有
ErrorInfo string `json:"ErrorInfo"` // 消息发送之后独有
UnreadMsgNum int `json:"UnreadMsgNum"` // 消息发送之后独有
}
// MessageCallbackMsgBody 消息体
type MessageCallbackMsgBody struct {
MsgType string `json:"MsgType"` // 消息元素类别目前支持的消息对象包括TIMTextElem(文本消息)TIMLocationElem(位置消息)TIMFaceElem(表情消息)TIMCustomElem(自定义消息)TIMSoundElem(语音消息)TIMImageElem(图像消息)TIMFileElem(文件消息)TIMVideoFileElem(视频消息)
MsgContent MessageCallbackMsgContent `json:"MsgContent"` // 消息元素的内容,不同的 MsgType 有不同的 MsgContent 格式
}
// MessageCallbackMsgContent 消息结构体
// https://cloud.tencent.com/document/product/269/2720
type MessageCallbackMsgContent struct {
Text string `json:"Text"` // [TIMTextElem]消息内容
Desc string `json:"Desc"` // [TIMLocationElem]地理位置描述信息。 | [TIMCustomElem]自定义消息描述信息。
Latitude float64 `json:"Latitude"` // [TIMLocationElem]纬度
Longitude float64 `json:"Longitude"` // [TIMLocationElem]经度
Index int `json:"Index"` // [TIMFaceElem]表情索引,用户自定义
Data string `json:"Data"` // [TIMFaceElem]额外数据 | [TIMCustomElem]自定义消息数据。
Ext string `json:"Ext"` // [TIMCustomElem]扩展字段
Sound string `json:"Sound"` // [TIMCustomElem]自定义 APNs 推送铃音
URL string `json:"Url"` // [TIMSoundElem]语音下载地址,可通过该 URL 地址直接下载相应语音 | [TIMFileElem]文件下载标记
UUID string `json:"UUID"` // [TIMSoundElem]语音的唯一标识,客户端用于索引语音的键值 | [TIMImageElem]图片的唯一标识 | [TIMFileElem]文件的唯一标识
Size int `json:"Size"` // [TIMSoundElem]语音数据大小,单位:字节。
Second int `json:"Second"` // [TIMSoundElem]语音时长,单位:秒。
DownloadFlag int `json:"Download_Flag"` // [TIMSoundElem]语音下载方式标记。目前 Download_Flag 取值只能为2表示可通过Url字段值的 URL 地址直接下载语音。 | [TIMFileElem]文件下载方式标记
ImageFormat int `json:"ImageFormat"` // [TIMImageElem]图片格式。JPG = 1GIF = 2PNG = 3BMP = 4其他 = 255
ImageInfoArray []MessageCallbackMsgImageInfoArray `json:"ImageInfoArray"` // [TIMImageElem]原图、缩略图或者大图下载信息
FileSize int `json:"FileSize"` // [TIMFileElem]文件数据大小,单位:字节
FileName string `json:"FileName"` // [TIMFileElem]文件名称
VideoURL string `json:"VideoUrl"` // [TIMVideoFileElem]视频下载地址。可通过该 URL 地址直接下载相应视频
VideoUUID string `json:"VideoUUID"` // [TIMVideoFileElem]视频的唯一标识,客户端用于索引视频的键值
VideoSize int `json:"VideoSize"` // [TIMVideoFileElem]视频数据大小,单位:字节
VideoSecond int `json:"VideoSecond"` // [TIMVideoFileElem]视频时长,单位:秒
VideoFormat string `json:"VideoFormat"` // [TIMVideoFileElem]视频格式,例如 mp4
VideoDownloadFlag int `json:"VideoDownloadFlag"` // [TIMVideoFileElem]视频下载方式标记。目前 VideoDownloadFlag 取值只能为2表示可通过VideoUrl字段值的 URL 地址直接下载视频
ThumbURL string `json:"ThumbUrl"` // [TIMVideoFileElem]视频缩略图下载地址。可通过该 URL 地址直接下载相应视频缩略图
ThumbUUID string `json:"ThumbUUID"` // [TIMVideoFileElem]视频缩略图的唯一标识,客户端用于索引视频缩略图的键值
ThumbSize int `json:"ThumbSize"` // [TIMVideoFileElem]缩略图大小,单位:字节
ThumbWidth int `json:"ThumbWidth"` // [TIMVideoFileElem]缩略图宽度,单位为像素
ThumbHeight int `json:"ThumbHeight"` // [TIMVideoFileElem]缩略图高度,单位为像素
ThumbFormat string `json:"ThumbFormat"` // [TIMVideoFileElem]缩略图格式,例如 JPG、BMP 等
ThumbDownloadFlag int `json:"ThumbDownloadFlag"` // [TIMVideoFileElem]视频缩略图下载方式标记。目前 ThumbDownloadFlag 取值只能为2表示可通过ThumbUrl字段值的 URL 地址直接下载视频缩略图
}
// MessageCallbackMsgImageInfoArray 图片消息数组
type MessageCallbackMsgImageInfoArray struct {
Type int `json:"Type"` // 图片类型: 1-原图2-大图3-缩略图
Size int `json:"Size"` // 图片数据大小,单位:字节
Width int `json:"Width"` // 图片宽度,单位为像素
Height int `json:"Height"` // 图片高度,单位为像素
URL string `json:"URL"` // 图片下载地址
}