tencent-im/internal/types/types.go
2022-09-27 11:31:23 +08:00

172 lines
11 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.

/**
* @Author: Echo
* @Author:1711788888@qq.com
* @Date: 2021/5/28 19:24
* @Desc: TODO
*/
package types
type (
BaseResp struct {
ErrorCode int `json:"ErrorCode"`
ErrorInfo string `json:"ErrorInfo"`
ErrorDisplay string `json:"ErrorDisplay,omitempty"`
}
ActionBaseResp struct {
BaseResp
ActionStatus string `json:"ActionStatus"`
}
// AndroidInfo Android离线推送消息
AndroidInfo struct {
Sound string `json:"Sound,omitempty"` // 选填Android 离线推送声音文件路径。
HuaWeiChannelID string `json:"HuaWeiChannelID,omitempty"` // (选填)华为手机 EMUI 10.0 及以上的通知渠道字段。该字段不为空时,会覆盖控制台配置的 ChannelID 值;该字段为空时,不会覆盖控制台配置的 ChannelID 值。
XiaoMiChannelID string `json:"XiaoMiChannelID,omitempty"` // (选填)小米手机 MIUI 10 及以上的通知类别Channel适配字段。该字段不为空时会覆盖控制台配置的 ChannelID 值;该字段为空时,不会覆盖控制台配置的 ChannelID 值。
OPPOChannelID string `json:"OPPOChannelID,omitempty"` // 选填OPPO 手机 Android 8.0 及以上的 NotificationChannel 通知适配字段。该字段不为空时,会覆盖控制台配置的 ChannelID 值;该字段为空时,不会覆盖控制台配置的 ChannelID 值。
GoogleChannelID string `json:"GoogleChannelID,omitempty"` // 选填Google 手机 Android 8.0 及以上的通知渠道字段。Google 推送新接口(上传证书文件)支持 channel id旧接口填写服务器密钥不支持。
VIVOClassification int `json:"VIVOClassification,omitempty"` // 选填VIVO 手机推送消息分类“0”代表运营消息“1”代表系统消息不填默认为1。
HuaWeiImportance string `json:"HuaWeiImportance,omitempty"` // (选填)华为推送通知消息分类,取值为 LOW、NORMAL不填默认为 NORMAL。
ExtAsHuaweiIntentParam int `json:"ExtAsHuaweiIntentParam,omitempty"` // 选填在控制台配置华为推送为“打开应用内指定页面”的前提下传“1”表示将透传内容 Ext 作为 Intent 的参数“0”表示将透传内容 Ext 作为 Action 参数。不填默认为0。两种传参区别可参见 华为推送文档。
}
// ApnsInfo IOS离线推送消息
ApnsInfo struct {
BadgeMode int `json:"BadgeMode,omitempty"` // 选填这个字段缺省或者为0表示需要计数为1表示本条消息不需要计数即右上角图标数字不增加。
Title string `json:"Title,omitempty"` // (选填)该字段用于标识 APNs 推送的标题,若填写则会覆盖最上层 Title。
SubTitle string `json:"SubTitle,omitempty"` // (选填)该字段用于标识 APNs 推送的子标题。
Image string `json:"Image,omitempty"` // (选填)该字段用于标识 APNs 携带的图片地址,当客户端拿到该字段时,可以通过下载图片资源的方式将图片展示在弹窗上。
MutableContent int `json:"MutableContent,omitempty"` // 选填为1表示开启 iOS 10 的推送扩展默认为0。
}
// OfflinePushInfo 离线推送消息
OfflinePushInfo struct {
PushFlag int `json:"PushFlag,omitempty"` // 选填推送标识。0表示推送1表示不离线推送。
Title string `json:"Title,omitempty"` // (选填)离线推送标题。该字段为 iOS 和 Android 共用。
Desc string `json:"Desc,omitempty"` // (选填)离线推送内容。该字段会覆盖上面各种消息元素 TIMMsgElement 的离线推送展示文本。若发送的消息只有一个 TIMCustomElem 自定义消息元素,该 Desc 字段会覆盖 TIMCustomElem 中的 Desc 字段。如果两个 Desc 字段都不填,将收不到该自定义消息的离线推送。
Ext string `json:"Ext,omitempty"` // (选填)离线推送透传内容。由于国内各 Android 手机厂商的推送平台要求各不一样,请保证此字段为 JSON 格式,否则可能会导致收不到某些厂商的离线推送。
AndroidInfo *AndroidInfo `json:"AndroidInfo,omitempty"` // 选填Android 离线推送消息
ApnsInfo *ApnsInfo `json:"ApnsInfo,omitempty"` // 选填IOS离线推送消息
}
// MsgBody 消息内容
MsgBody struct {
MsgType string `json:"MsgType"`
MsgContent interface{} `json:"MsgContent"`
}
// TagPair 标签对
TagPair struct {
Tag string `json:"Tag"` // 标签
Value interface{} `json:"Value"` // 标签值
}
// MsgTextContent 文本消息内容
MsgTextContent struct {
Text string `json:"Text"` // (必填)消息内容。当接收方为 iOS 或 Android 后台在线时,作为离线推送的文本展示。
}
// MsgLocationContent 地理位置消息元素
MsgLocationContent struct {
Desc string `json:"Desc"` // (必填)地理位置描述信息
Latitude float64 `json:"Latitude"` // (必填)纬度
Longitude float64 `json:"Longitude"` // (必填)经度
}
// MsgFaceContent 表情消息元素
MsgFaceContent struct {
Index int `json:"Index"` // (必填)表情索引,用户自定义
Data string `json:"Data"` // (选填)额外数据
}
// MsgCustomContent 自定义消息元素
MsgCustomContent struct {
Desc string `json:"Desc"` // (选填)自定义消息描述信息。当接收方为 iOS 或 Android 后台在线时,做离线推送文本展示。 若发送自定义消息的同时设置了 OfflinePushInfo.Desc 字段,此字段会被覆盖,请优先填 OfflinePushInfo.Desc 字段。
Data string `json:"Data"` // (必填)自定义消息数据。 不作为 APNs 的 payload 字段下发,故从 payload 中无法获取 Data 字段
Ext string `json:"Ext"` // (选填)扩展字段。当接收方为 iOS 系统且应用处在后台时,此字段作为 APNs 请求包 Payloads 中的 Ext 键值下发Ext 的协议格式由业务方确定APNs 只做透传。
Sound string `json:"Sound"` // (选填)自定义 APNs 推送铃音。
}
// MsgSoundContent 语音消息元素
MsgSoundContent struct {
UUID string `json:"UUID"` // (必填)语音的唯一标识,类型为 String。客户端用于索引语音的键值。无法通过该字段下载相应的语音。若需要获取该语音请升级 IM SDK 版本至4.X。
Url string `json:"Url"` // (必填)语音下载地址,可通过该 URL 地址直接下载相应语音
Size int `json:"Size"` // (必填)语音数据大小,单位:字节。
Second int `json:"Second"` // (必填)语音时长,单位:秒。
DownloadFlag int `json:"Download_Flag"` // (必填)语音下载方式标记。目前 Download_Flag 取值只能为2表示可通过Url字段值的 URL 地址直接下载语音。
}
// MsgImageContent 图像消息元素
MsgImageContent struct {
UUID string `json:"UUID"` // (必填)图片序列号。后台用于索引图片的键值。
ImageFormat int `json:"ImageFormat"` // 必填图片格式。JPG = 1GIF = 2PNG = 3BMP = 4其他 = 255。
ImageInfos []*ImageInfo `json:"ImageInfoArray"` // (必填)原图、缩略图或者大图下载信息。
}
// MsgFileContent 文件消息元素
MsgFileContent struct {
Url string `json:"Url"` // (必填)文件下载地址,可通过该 URL 地址直接下载相应文件
UUID string `json:"UUID"` // (必填)文件的唯一标识,客户端用于索引文件的键值。
FileSize int `json:"FileSize"` // (必填)文件数据大小,单位:字节
FileName string `json:"FileName"` // (必填)文件名称
DownloadFlag int `json:"Download_Flag"` // (必填)文件下载方式标记。目前 Download_Flag 取值只能为2表示可通过Url字段值的 URL 地址直接下载文件。
}
// MsgVideoContent 视频消息元素
MsgVideoContent struct {
VideoUUID string `json:"VideoUUID"` // (必填)视频的唯一标识,客户端用于索引视频的键值。
VideoUrl string `json:"VideoUrl"` // (必填)视频下载地址。可通过该 URL 地址直接下载相应视频
VideoSize int `json:"VideoSize"` // (必填)视频数据大小,单位:字节
VideoSecond int `json:"VideoSecond"` // (必填)视频时长,单位:秒
VideoFormat string `json:"VideoFormat"` // (必填)视频格式,例如 mp4
VideoDownloadFlag int `json:"VideoDownloadFlag"` // (必填)视频下载方式标记。目前 VideoDownloadFlag 取值只能为2表示可通过VideoUrl字段值的 URL 地址直接下载视频。
ThumbUrl string `json:"ThumbUrl"` // (必填)视频缩略图下载地址。可通过该 URL 地址直接下载相应视频缩略图。
ThumbUUID string `json:"ThumbUUID"` // (必填)视频缩略图的唯一标识,客户端用于索引视频缩略图的键值。
ThumbSize int `json:"ThumbSize"` // (必填)缩略图大小,单位:字节
ThumbWidth int `json:"ThumbWidth"` // (必填)缩略图宽度
ThumbHeight int `json:"ThumbHeight"` // (必填)缩略图高度
ThumbFormat string `json:"ThumbFormat"` // (必填)缩略图格式,例如 JPG、BMP 等
ThumbDownloadFlag int `json:"ThumbDownloadFlag"` // (必填)视频缩略图下载方式标记。目前 ThumbDownloadFlag 取值只能为2表示可通过ThumbUrl字段值的 URL 地址直接下载视频缩略图。
}
// ImageInfo 图片下载信息
ImageInfo struct {
Type int `json:"Type"` // (必填)图片类型: 1-原图2-大图3-缩略图。
Size int `json:"Size"` // (必填)图片数据大小,单位:字节。
Width int `json:"Width"` // (必填)图片宽度。
Height int `json:"Height"` // (必填)图片高度。
Url string `json:"URL"` // (必填)图片下载地址。
}
// GenderType 性别类型
GenderType string
// AllowType 加好友验证方式
AllowType string
// AdminForbidType 管理员禁止加好友标识类型
AdminForbidType string
// SyncOtherMachine 同步至其他设备
SyncOtherMachine int
// PushFlag 推送标识
PushFlag int
// HuaWeiImportance 华为推送通知消息分类
HuaWeiImportance string
// HuaweiIntentParam 华为推送为“打开应用内指定页面”的前提下透传参数行为
HuaweiIntentParam int
// VivoClassification VIVO手机推送消息分类
VivoClassification int
// BadgeMode IOS徽章计数模式
BadgeMode int
// MutableContent IOS10的推送扩展开关
MutableContent int
)