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

127 lines
4.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.

/**
* @Author: Echo
* @Author:1711788888@qq.com
* @Date: 2021/5/29 17:39
* @Desc: Push Api Request And Response Type Definition.
*/
package push
import "git.echol.cn/loser/tencent-im/internal/types"
type (
// 推送条件
condition struct {
TagsAnd []string `json:"TagsAnd"` // 选填标签条件的交集。标签是一个不超过50字节的字符串。注意属性推送和标签推送不可同时作为推送条件。TagsAnd 条件中的标签个数不能超过10个
TagsOr []string `json:"TagsOr"` // 选填标签条件的并集。标签是一个不超过50字节的字符串。注意属性推送和标签推送不可同时作为推送条件。TagsOr 条件中的标签个数不能超过10个
AttrsAnd map[string]interface{} `json:"AttrsAnd"` // (选填)属性条件的交集。注意属性推送和标签推送不可同时作为推送条件
AttrsOr map[string]interface{} `json:"AttrsOr"` // (选填)属性条件的并集。注意属性推送和标签推送不可同时作为推送条件
}
// 推送(请求)
pushMessageReq struct {
FromUserId string `json:"From_Account,omitempty"` // (选填)消息推送方帐号
Condition *condition `json:"Condition,omitempty"` // (选填)推送条件
MsgRandom uint32 `json:"MsgRandom"` // (必填)消息随机数,由随机函数产生
MsgBody []*types.MsgBody `json:"MsgBody"` // (必填)消息内容
MsgLifeTime int `json:"MsgLifeTime,omitempty"` // 选填消息离线存储时间单位秒最多保存7天604800秒。默认为0表示不离线存储
OfflinePushInfo *types.OfflinePushInfo `json:"OfflinePushInfo,omitempty"` // (选填)离线推送信息配置
}
// 推送(响应)
pushMessageResp struct {
types.ActionBaseResp
TaskId string `json:"TaskId"` // 推送任务ID
}
// 设置应用属性名称(请求)
setAttrNamesReq struct {
AttrNames map[string]string `json:"AttrNames"` // (必填)属性名
}
// 获取应用属性名称(请求)
getAttrNamesReq struct {
}
// 获取应用属性名称(响应)
getAttrNamesResp struct {
types.ActionBaseResp
AttrNames map[string]string `json:"AttrNames"` // 属性名
}
// 获取用户属性(请求)
getUserAttrsReq struct {
UserIds []string `json:"To_Account"` // (必填)目标用户帐号列表
}
// 获取用户属性(响应)
getUserAttrsResp struct {
types.ActionBaseResp
Attrs []*userAttrItem `json:"Attrs"`
}
// 用户属性
userAttrItem struct {
UserId string `json:"To_Account"` // 用户UserId
Attrs map[string]interface{} `json:"Attrs"` // 用户属性
}
// 设置用户属性(请求)
setUserAttrsReq struct {
Attrs []*userAttrItem `json:"Attrs"` // (必填)用户属性
}
// 删除用户属性(请求)
deleteUserAttrsReq struct {
Attrs []deleteUserAttr `json:"Attrs"` // (必填)用户属性
}
// 删除的用户属性
deleteUserAttr struct {
UserId string `json:"To_Account"` // 用户UserId
Attrs []string `json:"Attrs"` // 用户属性
}
// 获取用户标签(请求)
getUserTagsReq struct {
UserIds []string `json:"To_Account"` // (必填)目标用户帐号列表
}
// 获取用户标签(响应)
getUserTagsResp struct {
types.ActionBaseResp
Tags []userTag `json:"Tags"` // 用户标签内容列表
}
// 用户标签
userTag struct {
UserId string `json:"To_Account"`
Tags []string `json:"Tags"`
}
// 添加用户标签(请求)
addUserTagsReq struct {
Tags []*userTag `json:"Tags"` // (必填)用户标签内容列表
}
// 删除用户标签(请求)
deleteUserTagsReq struct {
Tags []*userTag `json:"Tags"` // (必填)用户标签内容列表
}
// 删除用户所有标签(请求)
deleteUserAllTagsReq struct {
UserIds []string `json:"To_Account"`
}
ImageInfo = types.ImageInfo
MsgTextContent = types.MsgTextContent
MsgFaceContent = types.MsgFaceContent
MsgFileContent = types.MsgFileContent
MsgImageContent = types.MsgImageContent
MsgSoundContent = types.MsgSoundContent
MsgVideoContent = types.MsgVideoContent
MsgCustomContent = types.MsgCustomContent
MsgLocationContent = types.MsgLocationContent
)