/** * @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 )