NIMTeamDefs.h 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. //
  2. // NIMTeamDefs.h
  3. // NIMLib
  4. //
  5. // Created by Netease.
  6. // Copyright (c) 2015年 Netease. All rights reserved.
  7. //
  8. #ifndef NIMLib_NIMTeamDefs_h
  9. #define NIMLib_NIMTeamDefs_h
  10. @class NIMTeam;
  11. @class NIMTeamMember;
  12. /**
  13. * 群类型
  14. */
  15. typedef NS_ENUM(NSInteger, NIMTeamType){
  16. /**
  17. * 普通群
  18. */
  19. NIMTeamTypeNormal = 0,
  20. /**
  21. * 高级群
  22. */
  23. NIMTeamTypeAdvanced = 1,
  24. /**
  25. * 超大群
  26. */
  27. NIMTeamTypeSuper = 2,
  28. };
  29. /**
  30. * 群验证方式
  31. */
  32. typedef NS_ENUM(NSInteger, NIMTeamJoinMode) {
  33. /**
  34. * 允许所有人加入
  35. */
  36. NIMTeamJoinModeNoAuth = 0,
  37. /**
  38. * 需要验证
  39. */
  40. NIMTeamJoinModeNeedAuth = 1,
  41. /**
  42. * 不允许任何人加入
  43. */
  44. NIMTeamJoinModeRejectAll = 2,
  45. };
  46. /**
  47. * 邀请模式
  48. */
  49. typedef NS_ENUM(NSInteger, NIMTeamInviteMode) {
  50. /**
  51. * 只有管理员/群主可以邀请他人入群
  52. */
  53. NIMTeamInviteModeManager = 0,
  54. /**
  55. * 所有人可以邀请其他人入群
  56. */
  57. NIMTeamInviteModeAll = 1,
  58. };
  59. /**
  60. * 被邀请模式
  61. */
  62. typedef NS_ENUM(NSInteger, NIMTeamBeInviteMode) {
  63. /**
  64. * 需要被邀请方同意
  65. */
  66. NIMTeamBeInviteModeNeedAuth = 0,
  67. /**
  68. * 不需要被邀请方同意
  69. */
  70. NIMTeamBeInviteModeNoAuth = 1,
  71. };
  72. /**
  73. * 群信息修改权限
  74. */
  75. typedef NS_ENUM(NSInteger, NIMTeamUpdateInfoMode) {
  76. /**
  77. * 只有管理员/群主可以修改
  78. */
  79. NIMTeamUpdateInfoModeManager = 0,
  80. /**
  81. * 所有人可以修改
  82. */
  83. NIMTeamUpdateInfoModeAll = 1,
  84. };
  85. /**
  86. * 修改群客户端自定义字段权限
  87. */
  88. typedef NS_ENUM(NSInteger, NIMTeamUpdateClientCustomMode) {
  89. /**
  90. * 只有管理员/群主可以修改
  91. */
  92. NIMTeamUpdateClientCustomModeManager = 0,
  93. /**
  94. * 所有人可以修改
  95. */
  96. NIMTeamUpdateClientCustomModeAll = 1,
  97. };
  98. /**
  99. * 申请入群状态
  100. */
  101. typedef NS_ENUM(NSInteger, NIMTeamApplyStatus) {
  102. /**
  103. * 无效状态
  104. */
  105. NIMTeamApplyStatusInvalid,
  106. /**
  107. * 已经在群里
  108. */
  109. NIMTeamApplyStatusAlreadyInTeam,
  110. /**
  111. * 申请等待通过
  112. */
  113. NIMTeamApplyStatusWaitForPass,
  114. };
  115. /**
  116. * 群成员类型
  117. */
  118. typedef NS_ENUM(NSInteger, NIMTeamMemberType){
  119. /**
  120. * 普通群员
  121. */
  122. NIMTeamMemberTypeNormal = 0,
  123. /**
  124. * 群拥有者
  125. */
  126. NIMTeamMemberTypeOwner = 1,
  127. /**
  128. * 群管理员
  129. */
  130. NIMTeamMemberTypeManager = 2,
  131. /**
  132. * 申请加入用户
  133. */
  134. NIMTeamMemberTypeApply = 3,
  135. };
  136. /**
  137. * 群消息接受状态
  138. */
  139. typedef NS_ENUM(NSInteger, NIMTeamNotifyState) {
  140. /**
  141. * 接受任何群消息通知
  142. */
  143. NIMTeamNotifyStateAll = 0,
  144. /**
  145. * 不接受任何群消息通知
  146. */
  147. NIMTeamNotifyStateNone = 1,
  148. /**
  149. * 只接受管理员的群消息通知(仅高级群支持,超大群不支持)
  150. */
  151. NIMTeamNotifyStateOnlyManager = 2,
  152. };
  153. /**
  154. * 通用的群组操作block
  155. *
  156. * @param error 错误,如果成功则error为nil
  157. */
  158. typedef void(^NIMTeamHandler)(NSError * __nullable error);
  159. /**
  160. * 创建群组block
  161. *
  162. * @param error 错误,如果成功则error为nil
  163. * @param teamId 群组ID
  164. * @param failedUserIds 邀请失败的群成员ID
  165. */
  166. typedef void(^NIMTeamCreateHandler)(NSError * __nullable error, NSString * __nullable teamId, NSArray<NSString *> * __nullable failedUserIds);
  167. /**
  168. * 群查询 block
  169. *
  170. * @param error 错误,如果成功则error为nil
  171. * @param teams 查询的群信息
  172. */
  173. typedef void(^NIMTeamSearchHandler)(NSError * __nullable error, NSArray<NIMTeam *> * __nullable teams);
  174. /**
  175. * 群成员获取 block
  176. *
  177. * @param error 错误,如果成功则error为nil
  178. * @param members 成功的群成员列表,内部为NIMTeamMember
  179. */
  180. typedef void(^NIMTeamMemberHandler)(NSError * __nullable error, NSArray<NIMTeamMember *> * __nullable members);
  181. /**
  182. * 拉取群信息Block
  183. *
  184. * @param error 错误,如果成功则error为nil
  185. * @param team 群信息
  186. */
  187. typedef void(^NIMTeamFetchInfoHandler)(NSError * __nullable error, NIMTeam * __nullable team);
  188. /**
  189. * 群申请block
  190. *
  191. * @param error 错误,如果成功则error为nil
  192. * @param applyStatus 群申请状态
  193. */
  194. typedef void(^NIMTeamApplyHandler)(NSError * __nullable error, NIMTeamApplyStatus applyStatus);
  195. /**
  196. * 邀请人Accids
  197. *
  198. * @param error 错误,如果成功则error为nil
  199. * @param inviters 群成员与邀请人关系
  200. */
  201. typedef void(^NIMTeamFetchInviterAccidsHandler)(NSError * __nullable error, NSDictionary<NSString *, NSString *> * __nullable inviters);
  202. #endif