TIMFriendshipManager+Ext.h 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340
  1. //
  2. // TIMFriendshipManager+Ext.h
  3. // IMFriendshipExt
  4. //
  5. // Created by tomzhu on 2017/1/19.
  6. //
  7. //
  8. #ifndef TIMFriendshipManager_Ext_h
  9. #define TIMFriendshipManager_Ext_h
  10. #import <ImSDK/ImSDK.h>
  11. #import "TIMComm+FriendshipExt.h"
  12. @interface TIMFriendshipManager (Ext)
  13. /**
  14. * 设置好友备注
  15. *
  16. * @param identifier 用户标识
  17. * @param remark 备注
  18. * @param succ 成功回调
  19. * @param fail 失败回调
  20. *
  21. * @return 0 发送请求成功
  22. */
  23. - (int)setFriendRemark:(NSString*)identifier remark:(NSString*)remark succ:(TIMSucc)succ fail:(TIMFail)fail;
  24. /**
  25. * 设置好友自定义属性
  26. *
  27. * @param identifier 用户标识
  28. * @param custom 自定义属性(NSString*,NSData*)
  29. * @param succ 成功回调
  30. * @param fail 失败回调
  31. *
  32. * @return 0 发送请求成功
  33. */
  34. - (int)setFriendCustom:(NSString*)identifier custom:(NSDictionary*)custom succ:(TIMSucc)succ fail:(TIMFail)fail;
  35. /**
  36. * 添加好友
  37. *
  38. * @param users 要添加的用户列表 TIMAddFriendRequest* 列表
  39. * @param succ 成功回调,返回 TIMFriendResult* 列表
  40. * @param fail 失败回调
  41. *
  42. * @return 0 发送请求成功
  43. */
  44. - (int)addFriend:(NSArray*)users succ:(TIMFriendSucc)succ fail:(TIMFail)fail;
  45. /**
  46. * 删除好友
  47. *
  48. * @param delType 删除类型(单向好友、双向好友)
  49. * @param users 要删除的用户列表 NSString* 列表
  50. * @param succ 成功回调,返回 TIMFriendResult* 列表
  51. * @param fail 失败回调
  52. *
  53. * @return 0 发送请求成功
  54. */
  55. - (int)delFriend:(TIMDelFriendType)delType users:(NSArray*)users succ:(TIMFriendSucc)succ fail:(TIMFail)fail;
  56. /**
  57. * 获取好友列表
  58. *
  59. * @param succ 成功回调,返回好友列表,TIMUserProfile* 列表,只包含identifier,nickname,remark 三个字段
  60. * @param fail 失败回调
  61. *
  62. * @return 0 发送请求成功
  63. */
  64. - (int)getFriendList:(TIMFriendSucc)succ fail:(TIMFail)fail;
  65. /**
  66. * 获取好友列表(可增量、分页、自定义拉取字段)
  67. *
  68. * @param flags 设置需要拉取的字段
  69. * @param custom 自定义字段(目前还不支持)
  70. * @param meta 好友元信息(详见TIMFriendMetaInfo说明)
  71. * @param succ 成功回调
  72. * @param fail 失败回调
  73. *
  74. * @return 0 发送请求成功
  75. */
  76. - (int)getFriendListByPage:(TIMProfileFlag)flags custom:(NSArray*)custom meta:(TIMFriendMetaInfo*)meta succ:(TIMGetFriendListByPageSucc)succ fail:(TIMFail)fail;
  77. /**
  78. * 获取指定好友资料
  79. *
  80. * @param users 要获取的好友列表 NSString* 列表
  81. * @param succ 成功回调,返回 TIMUserProfile* 列表
  82. * @param fail 失败回调
  83. *
  84. * @return 0 发送请求成功
  85. */
  86. - (int)getFriendsProfile:(NSArray*)users succ:(TIMFriendSucc)succ fail:(TIMFail)fail;
  87. /**
  88. * 响应对方好友邀请
  89. *
  90. * @param users 响应的用户列表,TIMFriendResponse列表
  91. * @param succ 成功回调,返回 TIMFriendResult* 列表
  92. * @param fail 失败回调
  93. *
  94. * @return 0 发送请求成功
  95. */
  96. - (int)doResponse:(NSArray*)users succ:(TIMFriendSucc)succ fail:(TIMFail)fail;
  97. /**
  98. * 添加用户到黑名单
  99. *
  100. * @param users 用户列表
  101. * @param succ 成功回调,返回 TIMFriendResult* 列表
  102. * @param fail 失败回调
  103. *
  104. * @return 0 发送请求成功
  105. */
  106. - (int)addBlackList:(NSArray*)users succ:(TIMFriendSucc)succ fail:(TIMFail)fail;
  107. /**
  108. * 把用户从黑名单中删除
  109. *
  110. * @param users 用户列表
  111. * @param succ 成功回调,返回 TIMFriendResult* 列表
  112. * @param fail 失败回调
  113. *
  114. * @return 0 发送请求成功
  115. */
  116. - (int)delBlackList:(NSArray*)users succ:(TIMFriendSucc)succ fail:(TIMFail)fail;
  117. /**
  118. * 获取黑名单列表
  119. *
  120. * @param succ 成功回调,返回NSString*列表
  121. * @param fail 失败回调
  122. *
  123. * @return 0 发送请求成功
  124. */
  125. - (int)getBlackList:(TIMFriendSucc)succ fail:(TIMFail)fail;
  126. /**
  127. * 通过网络获取未决请求列表
  128. *
  129. * @param meta 请求信息,详细参考TIMFriendPendencyMeta
  130. * @param type 拉取类型(参考TIMPendencyGetType)
  131. * @param succ 成功回调
  132. * @param fail 失败回调
  133. *
  134. * @return 0 发送请求成功
  135. */
  136. - (int)getPendencyFromServer:(TIMFriendPendencyMeta*)meta type:(TIMPendencyGetType)type succ:(TIMGetFriendPendencyListSucc)succ fail:(TIMFail)fail;
  137. /**
  138. * 未决删除
  139. *
  140. * @param type 未决好友类型
  141. * @param users 要删除的未决列表
  142. * @param succ 成功回调,返回 TIMFriendResult* 列表
  143. * @param fail 失败回调
  144. *
  145. * @return 0 发送请求成功
  146. */
  147. - (int)deletePendency:(TIMPendencyGetType)type users:(NSArray*)users succ:(TIMFriendSucc)succ fail:(TIMFail)fail;
  148. /**
  149. * 未决请求已读上报
  150. *
  151. * @param timestamp 已读时间戳,此时间戳以前的消息都将置为已读
  152. * @param succ 成功回调
  153. * @param fail 失败回调
  154. *
  155. * @return 0 发送请求成功
  156. */
  157. - (int)pendencyReport:(uint64_t)timestamp succ:(TIMSucc)succ fail:(TIMFail)fail;
  158. /**
  159. * 推荐好友已读上报
  160. *
  161. * @param timestamp 已读时间戳,此时间戳以前的消息都将置为已读
  162. * @param succ 成功回调
  163. * @param fail 失败回调
  164. *
  165. * @return 0 发送请求成功
  166. */
  167. - (int)recommendReport:(uint64_t)timestamp succ:(TIMSucc)succ fail:(TIMFail)fail;
  168. /**
  169. * 推荐好友删除
  170. *
  171. * @param users 要删除的推荐好友列表
  172. * @param succ 成功回调,返回 TIMFriendResult* 列表
  173. * @param fail 失败回调
  174. *
  175. * @return 0 发送请求成功
  176. */
  177. - (int)deleteRecommend:(NSArray*)users succ:(TIMFriendSucc)succ fail:(TIMFail)fail;
  178. /**
  179. * 已决删除
  180. *
  181. * @param users 要删除的已决列表
  182. * @param succ 成功回调,返回 TIMFriendResult* 列表
  183. * @param fail 失败回调
  184. *
  185. * @return 0 发送请求成功
  186. */
  187. - (int)deleteDecide:(NSArray*)users succ:(TIMFriendSucc)succ fail:(TIMFail)fail;
  188. /**
  189. * 未决请求和好友推荐拉取
  190. *
  191. * @param flags 获取的资料标识
  192. * @param futureFlag 获取的类型,按位设置
  193. * @param custom 自定义字段,(尚未实现,填nil)
  194. * @param meta 请求信息,参见TIMFriendFutureMeta
  195. * @param succ 成功回调
  196. * @param fail 失败回调
  197. *
  198. * @return 0 发送请求成功
  199. */
  200. - (int)getFutureFriends:(TIMProfileFlag)flags futureFlag:(TIMFutureFriendType)futureFlag custom:(NSArray*)custom meta:(TIMFriendFutureMeta*)meta succ:(TIMGetFriendFutureListSucc)succ fail:(TIMFail)fail;
  201. /**
  202. * 按昵称信息搜索用户资料
  203. *
  204. * @param nickName 用户名称内容
  205. * @param pageIndex 分页号
  206. * @param pageSize 每页用户数目
  207. * @param succ 成功回调,返回 TIMUserProfile* 列表
  208. * @param fail 失败回调
  209. *
  210. * @return 0 发送请求成功
  211. */
  212. - (int)searchUser:(NSString*)nickName pageIndex:(uint64_t)pageIndex pageSize:(uint64_t)pageSize succ:(TIMUserSearchSucc)succ fail:(TIMFail)fail DEPRECATED_ATTRIBUTE;
  213. /**
  214. * 新建好友分组
  215. *
  216. * @param groupNames 分组名称列表,必须是当前不存在的分组
  217. * @param users 要添加到分组中的好友列表
  218. * @param succ 成功回调,返回 TIMFriendResult* 列表
  219. * @param fail 失败回调
  220. *
  221. * @return 0 发送请求成功
  222. */
  223. - (int)createFriendGroup:(NSArray*)groupNames users:(NSArray*)users succ:(TIMFriendSucc)succ fail:(TIMFail)fail;
  224. /**
  225. * 删除好友分组
  226. *
  227. * @param groupNames 要删除的好友分组名称列表
  228. * @param succ 成功回调
  229. * @param fail 失败回调
  230. *
  231. * @return 0 发送请求成功
  232. */
  233. - (int)deleteFriendGroup:(NSArray*)groupNames succ:(TIMSucc)succ fail:(TIMFail)fail;
  234. /**
  235. * 添加好友到一个好友分组
  236. *
  237. * @param groupName 好友分组名称
  238. * @param users 要添加到分组中的好友列表
  239. * @param succ 成功回调,返回 TIMFriendResult* 列表
  240. * @param fail 失败回调
  241. *
  242. * @return 0 发送请求成功
  243. */
  244. - (int)addFriendsToFriendGroup:(NSString*)groupName users:(NSArray*)users succ:(TIMFriendSucc)succ fail:(TIMFail)fail;
  245. /**
  246. * 从好友分组中删除好友
  247. *
  248. * @param groupName 好友分组名称
  249. * @param users 要移出分组的好友列表
  250. * @param succ 成功回调,返回 TIMFriendResult* 列表
  251. * @param fail 失败回调
  252. *
  253. * @return 0 发送请求成功
  254. */
  255. - (int)delFriendsFromFriendGroup:(NSString*)groupName users:(NSArray*)users succ:(TIMFriendSucc)succ fail:(TIMFail)fail;
  256. /**
  257. * 修改好友分组的名称
  258. *
  259. * @param oldName 原来的分组名称
  260. * @param newName 新的分组名称
  261. * @param succ 成功回调
  262. * @param fail 失败回调
  263. *
  264. * @return 0 发送请求成功
  265. */
  266. - (int)renameFriendGroup:(NSString*)oldName newName:(NSString*)newName succ:(TIMSucc)succ fail:(TIMFail)fail;
  267. /**
  268. * 获取指定的好友分组信息
  269. *
  270. * @param groupNames 要获取信息的好友分组名称列表,传入nil获得所有分组信息
  271. * @param succ 成功回调,返回 TIMFriendGroup* 列表
  272. * @param fail 失败回调
  273. *
  274. * @return 0 发送请求成功
  275. */
  276. - (int)getFriendGroups:(NSArray*)groupNames succ:(TIMFriendGroupSucc)succ fail:(TIMFail)fail;
  277. /**
  278. * 检查指定用户的好友关系
  279. *
  280. * @param checkInfo 好友检查信息
  281. * @param succ 成功回调,返回检查结果
  282. * @param fail 失败回调
  283. *
  284. * @return 0 发送成功
  285. */
  286. - (int)checkFriends:(TIMFriendCheckInfo*)checkInfo succ:(TIMFriendCheckSucc)succ fail:(TIMFail)fail;
  287. #pragma mark - 开启本地缓存后有效
  288. /**
  289. * 获取指定好友资料
  290. *
  291. * @param users 好友id(NSString*)列表,nil时返回全部
  292. *
  293. * @return 好友资料(TIMUserProfile*)列表,proxy未同步时返回nil
  294. */
  295. - (NSArray*)getFriendsProfile:(NSArray*)users;
  296. /**
  297. * 获取指定好友分组
  298. *
  299. * @param groups 好友分组名称(NSString*)列表,nil时返回全部
  300. *
  301. * @return 好友分组(TIMFriendGroupWithProfiles*)列表,proxy未同步时返回nil
  302. */
  303. - (NSArray*)getFriendGroup:(NSArray*)groups;
  304. @end
  305. #endif /* TIMFriendshipManager_Ext_h */