302 lines
14 KiB
Go
302 lines
14 KiB
Go
|
/**
|
|||
|
* @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
|
|||
|
}
|
|||
|
)
|