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

302 lines
14 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:34
* @Desc: 关系链管理数据类型
*/
package sns
import "git.echol.cn/loser/tencent-im/internal/types"
type (
// 添加的好友信息
addFriendItem struct {
UserId string `json:"To_Account"` // 必填好友的UserID
AddSource string `json:"AddSource"` // (必填)加好友来源
Remark string `json:"Remark,omitempty"` // (选填)加好友备注
GroupName string `json:"GroupName,omitempty"` // (选填)分组信息,添加好友时只允许设置一个分组,因此使用 String 类型即可
AddWording string `json:"AddWording,omitempty"` // (选填)好友关系时的附言信息
}
// 添加好友(请求)
addFriendsReq struct {
UserId string `json:"From_Account"` // 必填需要为该UserID添加好友
Friends []*addFriendItem `json:"AddFriendItem"` // (必填)好友结构体对象
AddType AddType `json:"AddType"` // 选填加好友方式默认双向加好友方式Add_Type_Single表示单向加好友Add_Type_Both表示双向加好友
ForceAddFlags ForceAddType `json:"ForceAddFlags"` // 选填管理员强制加好友标记1表示强制加好友0表示常规加好友方式
}
// 添加好友(响应)
addFriendsResp struct {
types.ActionBaseResp
Results []*Result `json:"ResultItem"` // 批量加好友的结果对象数组
}
// Result 添加结果
Result struct {
UserId string `json:"To_Account"` // 请求添加的好友的UserID
ResultCode int `json:"ResultCode"` // 处理结果0表示成功非0表示失败
ResultInfo string `json:"ResultInfo"` // 错误描述信息
}
// 导入好友(请求)
importFriendsReq struct {
UserId string `json:"From_Account"` // 需要为该UserID添加好友
Friends []*importFriendItem `json:"AddFriendItem"` // 好友结构体对象
}
// 导入好友(响应)
importFriendsResp struct {
types.ActionBaseResp
Results []*Result `json:"ResultItem"` // 结果对象数组
FailUserIds []string `json:"Fail_Account"` // 返回处理失败的用户列表,仅当存在失败用户时才返回该字段
}
// 导入好友
importFriendItem struct {
UserId string `json:"To_Account"` // 必填好友的UserID
AddSource string `json:"AddSource"` // (必填)加好友来源
Remark string `json:"Remark,omitempty"` // (选填)加好友备注
GroupName []string `json:"GroupName,omitempty"` // (选填)分组信息
AddWording string `json:"AddWording,omitempty"` // (选填)好友关系时的附言信息
AddTime int64 `json:"AddTime,omitempty"` // (选填)形成好友关系的时间
RemarkTime int64 `json:"RemarkTime,omitempty"` // (选填)好友备注时间
CustomData []*types.TagPair `json:"CustomItem,omitempty"` // (选填)自定义好友数据
}
// 更新好友(请求)
updateFriendsReq struct {
UserId string `json:"From_Account"` // 必填需要更新该UserID的关系链数据
Friends []*updateFriendItem `json:"UpdateItem"` // (必填)需要更新的好友对象数组
}
// 更新好友(响应)
updateFriendsResp struct {
types.ActionBaseResp
Results []*Result `json:"ResultItem"` // 结果对象数组
FailUserIds []string `json:"Fail_Account"` // 返回处理失败的用户列表,仅当存在失败用户时才返回该字段
}
// 更新好友
updateFriendItem struct {
UserId string `json:"To_Account"` // 必填好友的UserID
Attrs []*types.TagPair `json:"SnsItem"` // (必填)需要更新的关系链数据对象数组
}
// 删除好友(请求)
deleteFriendsReq struct {
UserId string `json:"From_Account"` // 必填需要删除该UserID的好友
DeletedUserIds []string `json:"To_Account"` // (必填)待删除的好友的 UserID 列表,单次请求的 To_Account 数不得超过1000
DeleteType DeleteType `json:"DeleteType"` // (选填)删除模式
}
// 删除好友(响应)
deleteFriendsResp struct {
types.ActionBaseResp
ErrorDisplay string `json:"ErrorDisplay"` // 详细的客户端展示信息
Results []*Result `json:"ResultItem"` // 返回处理失败的用户列表,仅当存在失败用户时才返回该字段
}
// 删除所有好友(请求)
deleteAllFriendsReq struct {
UserId string `json:"From_Account"` // 必填需要删除该UserID的好友
DeleteType DeleteType `json:"DeleteType"` // (选填)删除类型
}
// 校验好友(请求)
checkFriendsReq struct {
UserId string `json:"From_Account"` // (必填)需要校验该 UserID 的好友
CheckedUserIds []string `json:"To_Account"` // (必填)请求校验的好友的 UserID 列表,单次请求的 To_Account 数不得超过1000
CheckType CheckType `json:"CheckType"` // (必填)校验模式
}
// 校验好友(响应)
checkFriendsResp struct {
types.ActionBaseResp
Results []*CheckResult `json:"InfoItem"` // 结果对象数组
FailUserIds []string `json:"Fail_Account"` // 返回处理失败的用户列表,仅当存在失败用户时才返回该字段
}
// CheckResult 校验结果
CheckResult struct {
UserId string `json:"To_Account"` // 请求校验的用户的 UserID
Relation string `json:"Relation"` // 校验成功时 To_Account 与 From_Account 之间的好友关系
ResultCode int `json:"ResultCode"` // 处理结果0表示成功非0表示失败
ResultInfo string `json:"ResultInfo"` // 描述信息,成功时该字段为空
}
// 拉取指定好友(请求)
getFriendsReq struct {
UserId string `json:"From_Account"` // (必填)指定要拉取好友数据的用户的 UserID
FriendUserIds []string `json:"To_Account"` // (必填)好友的 UserID 列表建议每次请求的好友数不超过100避免因数据量太大导致回包失败
TagList []string `json:"TagList"` // (必填)指定要拉取的资料字段及好友字段
}
// 拉取指定好友(响应)
getFriendsResp struct {
types.ActionBaseResp
FailUserIds []string `json:"Fail_Account"` // 返回处理失败的用户列表,仅当存在失败用户时才返回该字段
Friends []friendData `json:"InfoItem"` // 好友对象数组
}
// 拉取好友(请求)
fetchFriendsReq struct {
UserId string `json:"From_Account"` // (必填)需要拉取该 UserID 的黑名单
StartIndex int `json:"StartIndex"` // (必填)拉取的起始位置
StandardSequence int `json:"StandardSequence"` // (选填)上次拉好友数据时返回的 StandardSequence如果 StandardSequence 字段的值与后台一致,后台不会返回标配好友数据
CustomSequence int `json:"CustomSequence"` // (选填)上次拉好友数据时返回的 CustomSequence如果 CustomSequence 字段的值与后台一致,后台不会返回自定义好友数据
}
// 拉取好友(响应)
fetchFriendsResp struct {
types.ActionBaseResp
Friends []friendData `json:"UserDataItem"` // 好友对象数组
StandardSequence int `json:"StandardSequence"` // 标配好友数据的 Sequence客户端可以保存该 Sequence下次请求时通过请求的 StandardSequence 字段返回给后台
CustomSequence int `json:"CustomSequence"` // 自定义好友数据的 Sequence客户端可以保存该 Sequence下次请求时通过请求的 CustomSequence 字段返回给后台
FriendNum int `json:"FriendNum"` // 好友总数
CompleteFlag int `json:"CompleteFlag"` // 分页的结束标识非0值表示已完成全量拉取
NextStartIndex int `json:"NextStartIndex"` // 分页接口下一页的起始位置
}
// 好友信息
friendData struct {
UserId string `json:"To_Account"` // 好友的 UserID
Values []types.TagPair `json:"ValueItem"` // 好友数据的数组
Profiles []types.TagPair `json:"SnsProfileItem"` // 好友数据的数组
ResultCode int `json:"ResultCode"` // 处理结果0表示成功非0表示失败
ResultInfo string `json:"ResultInfo"` // 错误描述信息
}
// FetchFriendsRet 好友列表
FetchFriendsRet struct {
StandardSequence int // 标准排序
CustomSequence int // 自定义排序
StartIndex int // 分页接口下一页的起始位置
Total int // 好友总数
HasMore bool // 是否还有更多数据
List []*Friend // 好友列表
}
// 添加黑名单(请求)
addBlacklistReq struct {
UserId string `json:"From_Account"` // (必填)请求为该 UserID 添加黑名单
BlackedUserIds []string `json:"To_Account"` // (必填)待添加为黑名单的用户 UserID 列表,单次请求的 To_Account 数不得超过1000
}
// 添加黑名单(响应)
addBlacklistResp struct {
types.ActionBaseResp
FailUserIds []string `json:"Fail_Account"` // 返回处理失败的用户列表,仅当存在失败用户时才返回该字段
Results []*Result `json:"ResultItem"` // 批量添加黑名单的结果对象数组
}
// 删除黑名单(请求)
deleteBlacklistReq struct {
UserId string `json:"From_Account"` // (必填)需要删除该 UserID 的黑名单
DeletedUserIds []string `json:"To_Account"` // (必填)待删除的黑名单的 UserID 列表,单次请求的 To_Account 数不得超过1000
}
// 删除黑名单(响应)
deleteBlacklistResp struct {
types.ActionBaseResp
FailUserIds []string `json:"Fail_Account"` // 返回处理失败的用户列表,仅当存在失败用户时才返回该字段
Results []*Result `json:"ResultItem"` // 批量添加黑名单的结果对象数组
}
// 拉取黑名单(请求)
fetchBlacklistReq struct {
UserId string `json:"From_Account"` // (必填)需要拉取该 UserID 的黑名单
StartIndex int `json:"StartIndex"` // (必填)拉取的起始位置
MaxLimited int `json:"MaxLimited"` // (必填)每页最多拉取的黑名单数
LastSequence int `json:"LastSequence"` // (必填)上一次拉黑名单时后台返回给客户端的 Seq初次拉取时为0
}
// 拉取黑名单(响应)
fetchBlacklistResp struct {
types.ActionBaseResp
ErrorDisplay string `json:"ErrorDisplay"` // 详细的客户端展示信息
StartIndex int `json:"StartIndex"` // 下页拉取的起始位置0表示已拉完
CurrentSequence int `json:"CurrentSequence"` // 黑名单最新的 Seq
Blacklists []*Blacklist `json:"BlackListItem"` // 黑名单对象数组
}
// FetchBlacklistRet 拉取黑名单结果
FetchBlacklistRet struct {
StandardSequence int // 标准排序
StartIndex int // 分页接口下一页的起始位置
HasMore bool // 是否还有数据
List []*Blacklist // 黑名单列表
}
// Blacklist 黑名单
Blacklist struct {
UserId string `json:"To_Account"` // 黑名单的 UserID
Time int `json:"AddBlackTimeStamp"` // 添加黑名单的时间
}
// 校验黑名单(请求)
checkBlacklistReq struct {
UserId string `json:"From_Account"` // (必填)需要校验该 UserID 的黑名单
CheckedUserIds []string `json:"To_Account"` // (必填)待校验的黑名单的 UserID 列表,单次请求的 To_Account 数不得超过1000
CheckType BlacklistCheckType `json:"CheckType"` // (必填)校验模式
}
// 校验黑名单(响应)
checkBlacklistResp struct {
types.ActionBaseResp
FailUserIds []string `json:"Fail_Account"` // 返回处理失败的用户列表,仅当存在失败用户时才返回该字段
Results []*CheckResult `json:"BlackListCheckItem"` // 校验结果对象数组
}
// 添加分组(请求)
addGroupsReq struct {
UserId string `json:"From_Account"` // (必填)需要为该 UserID 添加新分组
GroupNames []string `json:"GroupName"` // (必填)新增分组列表
JoinedUserIds []string `json:"To_Account"` // (必填)需要加入新增分组的好友的 UserID 列表
}
// 添加分组(响应)
addGroupsResp struct {
types.ActionBaseResp
ErrorDisplay string `json:"ErrorDisplay"` // 详细的客户端展示信息
FailUserIds []string `json:"Fail_Account"` // 返回处理失败的用户列表,仅当存在失败用户时才返回该字段
CurrentSequence int `json:"CurrentSequence"` // 返回最新的分组 Sequence
Results []*Result `json:"ResultItem"` // 好友加入新增分组的结果对象数组
}
// 删除分组(请求)
deleteGroupsReq struct {
UserId string `json:"From_Account"` // (必填)需要删除该 UserID 的分组
GroupNames []string `json:"GroupName"` // (必填)要删除的分组列表
}
// 删除分组(响应)
deleteGroupsResp struct {
types.ActionBaseResp
CurrentSequence int `json:"CurrentSequence"` // 返回最新的分组 Sequence
}
// 拉取分组(请求)
getGroupsReq struct {
UserId string `json:"From_Account"` // (必填)指定要拉取分组的用户的 UserID
LastSequence int `json:"LastSequence"` // (必填)上一次拉取分组时后台返回给客户端的 Seq初次拉取时为0只有 GroupName 为空时有效
NeedFriend NeedFriendType `json:"NeedFriend"` // (选填)是否需要拉取分组下的 User 列表
GroupNames []string `json:"GroupName"` // (选填)要拉取的分组名称
}
// 拉取分组(响应)
getGroupsResp struct {
types.ActionBaseResp
CurrentSequence int `json:"CurrentSequence"` // 返回最新的分组 Sequence
Results []*GroupResult `json:"ResultItem"` // 拉取分组的结果对象数组
}
// GroupResult 分组结果
GroupResult struct {
GroupName string `json:"GroupName"` // 分组名
FriendNumber int `json:"FriendNumber"` // 该分组下的好友数量
UserIds []string `json:"To_Account"` // 该分组下的好友的 UserID
}
)