NIMTeamNotificationContent.h 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. //
  2. // NIMTeamNotificationContent.h
  3. // NIMLib
  4. //
  5. // Created by Netease
  6. // Copyright (c) 2015 Netease. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import "NIMNotificationContent.h"
  10. NS_ASSUME_NONNULL_BEGIN
  11. /**
  12. * 群操作类型
  13. */
  14. typedef NS_ENUM(NSInteger, NIMTeamOperationType){
  15. /**
  16. * 邀请成员
  17. */
  18. NIMTeamOperationTypeInvite = 0,
  19. /**
  20. * 移除成员
  21. */
  22. NIMTeamOperationTypeKick = 1,
  23. /**
  24. * 离开群
  25. */
  26. NIMTeamOperationTypeLeave = 2,
  27. /**
  28. * 更新群信息
  29. */
  30. NIMTeamOperationTypeUpdate = 3,
  31. /**
  32. * 解散群
  33. */
  34. NIMTeamOperationTypeDismiss = 4,
  35. /**
  36. * 高级群申请加入成功
  37. */
  38. NIMTeamOperationTypeApplyPass = 5,
  39. /**
  40. * 高级群群主转移群主身份
  41. */
  42. NIMTeamOperationTypeTransferOwner = 6,
  43. /**
  44. * 添加管理员
  45. */
  46. NIMTeamOperationTypeAddManager = 7,
  47. /**
  48. * 移除管理员
  49. */
  50. NIMTeamOperationTypeRemoveManager = 8,
  51. /**
  52. * 高级群接受邀请进群
  53. */
  54. NIMTeamOperationTypeAcceptInvitation= 9,
  55. /**
  56. * 群内禁言/解禁
  57. */
  58. NIMTeamOperationTypeMute = 10,
  59. };
  60. /**
  61. * 群信息更新字段
  62. */
  63. typedef NS_ENUM(NSInteger, NIMTeamUpdateTag){
  64. /**
  65. * 群名
  66. */
  67. NIMTeamUpdateTagName = 3,
  68. /**
  69. * 群简介
  70. */
  71. NIMTeamUpdateTagIntro = 14,
  72. /**
  73. * 群公告
  74. */
  75. NIMTeamUpdateTagAnouncement = 15,
  76. /**
  77. * 群验证方式
  78. */
  79. NIMTeamUpdateTagJoinMode = 16,
  80. /**
  81. * 客户端自定义拓展字段
  82. */
  83. NIMTeamUpdateTagClientCustom = 18,
  84. /**
  85. * 服务器自定义拓展字段
  86. * @discussion SDK 无法直接修改这个字段, 请调用服务器接口
  87. */
  88. NIMTeamUpdateTagServerCustom = 19,
  89. /**
  90. * 头像
  91. */
  92. NIMTeamUpdateTagAvatar = 20,
  93. /**
  94. * 被邀请模式
  95. */
  96. NIMTeamUpdateTagBeInviteMode = 21,
  97. /**
  98. * 邀请权限,仅高级群有效
  99. */
  100. NIMTeamUpdateTagInviteMode = 22,
  101. /**
  102. * 更新群信息权限,仅高级群有效
  103. */
  104. NIMTeamUpdateTagUpdateInfoMode = 23,
  105. /**
  106. * 更新群客户端自定义拓展字段权限
  107. */
  108. NIMTeamUpdateTagUpdateClientCustomMode = 24,
  109. /**
  110. * 群全体禁言
  111. */
  112. NIMTeamUpdateTagMuteMode = 100
  113. };
  114. /**
  115. * 群通知内容
  116. */
  117. @interface NIMTeamNotificationContent : NIMNotificationContent
  118. /**
  119. * 操作发起者ID
  120. */
  121. @property (nullable,nonatomic,copy,readonly) NSString *sourceID;
  122. /**
  123. * 操作类型
  124. */
  125. @property (nonatomic,assign,readonly) NIMTeamOperationType operationType;
  126. /**
  127. * 被操作者ID列表
  128. */
  129. @property (nullable,nonatomic,copy,readonly) NSArray<NSString *> *targetIDs;
  130. /**
  131. * 群通知下发的自定义扩展信息
  132. */
  133. @property (nullable,nonatomic,readonly) NSString *notifyExt;
  134. /**
  135. * 额外信息
  136. * @discussion 群更新时 attachment 为 NIMUpdateTeamInfoAttachment,
  137. * 禁言时 attachment 为 NIMMuteTeamMemberAttachment
  138. */
  139. @property (nullable,nonatomic,strong,readonly) id attachment;
  140. @end
  141. /**
  142. * 更新群信息的额外信息
  143. */
  144. @interface NIMUpdateTeamInfoAttachment : NSObject
  145. /**
  146. * 群内修改的信息键值对
  147. * @discussion NSNumebr 取值范围为 NIMTeamUpdateTag 枚举类型
  148. */
  149. @property (nullable,nonatomic,copy,readonly) NSDictionary<NSNumber *,NSString *> *values;
  150. @end
  151. /**
  152. * 禁言通知的额外信息
  153. */
  154. @interface NIMMuteTeamMemberAttachment : NSObject
  155. /**
  156. * 是否被禁言
  157. * @discussion YES 为禁言,NO 为 解除禁言
  158. */
  159. @property (nonatomic,assign,readonly) BOOL flag;
  160. @end
  161. NS_ASSUME_NONNULL_END