Showing
10 changed files
with
4528 additions
and
0 deletions
Too many changes to show.
To preserve performance only 10 of 10+ files are displayed.
ImSDK.framework/Headers/ImSDK.h
0 → 100644
1 | +// | ||
2 | +// ImSDK.h | ||
3 | +// ImSDK | ||
4 | +// | ||
5 | +// Created by bodeng on 24/3/15. | ||
6 | +// Copyright (c) 2015 tencent. All rights reserved. | ||
7 | +// | ||
8 | + | ||
9 | +#ifndef ImSDK_ImSDK_h | ||
10 | +#define ImSDK_ImSDK_h | ||
11 | + | ||
12 | +#import "TIMComm.h" | ||
13 | +#import "TIMManager.h" | ||
14 | +#import "TIMMessage.h" | ||
15 | +#import "TIMConversation.h" | ||
16 | +#import "TIMGroupManager.h" | ||
17 | +#import "TIMCallback.h" | ||
18 | +#import "TIMFriendshipManager.h" | ||
19 | +#import "TIMErrorCode.h" | ||
20 | +#import "TIMConversation+MsgExt.h" | ||
21 | +#import "TIMManager+MsgExt.h" | ||
22 | +#endif |
ImSDK.framework/Headers/TIMCallback.h
0 → 100644
1 | +// | ||
2 | +// TIMCallback.h | ||
3 | +// ImSDK | ||
4 | +// | ||
5 | +// Created by bodeng on 30/3/15. | ||
6 | +// Copyright (c) 2015 tencent. All rights reserved. | ||
7 | +// | ||
8 | + | ||
9 | +#ifndef ImSDK_TIMCallback_h | ||
10 | +#define ImSDK_TIMCallback_h | ||
11 | + | ||
12 | +#import "TIMComm.h" | ||
13 | + | ||
14 | +@class TIMMessage; | ||
15 | +@class TIMGroupTipsElem; | ||
16 | +@class TIMGroupInfo; | ||
17 | +@class TIMSNSChangeInfo; | ||
18 | +@class TIMFriendPendencyInfo; | ||
19 | + | ||
20 | +/** | ||
21 | + * 连接通知回调 | ||
22 | + */ | ||
23 | +@protocol TIMConnListener <NSObject> | ||
24 | +@optional | ||
25 | + | ||
26 | +/** | ||
27 | + * 网络连接成功 | ||
28 | + */ | ||
29 | +- (void)onConnSucc; | ||
30 | + | ||
31 | +/** | ||
32 | + * 网络连接失败 | ||
33 | + * | ||
34 | + * @param code 错误码 | ||
35 | + * @param err 错误描述 | ||
36 | + */ | ||
37 | +- (void)onConnFailed:(int)code err:(NSString*)err; | ||
38 | + | ||
39 | +/** | ||
40 | + * 网络连接断开(断线只是通知用户,不需要重新登录,重连以后会自动上线) | ||
41 | + * | ||
42 | + * @param code 错误码 | ||
43 | + * @param err 错误描述 | ||
44 | + */ | ||
45 | +- (void)onDisconnect:(int)code err:(NSString*)err; | ||
46 | + | ||
47 | + | ||
48 | +/** | ||
49 | + * 连接中 | ||
50 | + */ | ||
51 | +- (void)onConnecting; | ||
52 | + | ||
53 | +@end | ||
54 | + | ||
55 | + | ||
56 | +/** | ||
57 | + * 用户在线状态通知 | ||
58 | + */ | ||
59 | +@protocol TIMUserStatusListener <NSObject> | ||
60 | +@optional | ||
61 | +/** | ||
62 | + * 踢下线通知 | ||
63 | + */ | ||
64 | +- (void)onForceOffline; | ||
65 | + | ||
66 | +/** | ||
67 | + * 断线重连失败 | ||
68 | + */ | ||
69 | +- (void)onReConnFailed:(int)code err:(NSString*)err; | ||
70 | + | ||
71 | +/** | ||
72 | + * 用户登录的userSig过期(用户需要重新获取userSig后登录) | ||
73 | + */ | ||
74 | +- (void)onUserSigExpired; | ||
75 | +@end | ||
76 | + | ||
77 | +/** | ||
78 | + * 页面刷新接口(如有需要未读计数刷新,会话列表刷新等) | ||
79 | + */ | ||
80 | +@protocol TIMRefreshListener <NSObject> | ||
81 | +@optional | ||
82 | +/** | ||
83 | + * 刷新会话 | ||
84 | + */ | ||
85 | +- (void)onRefresh; | ||
86 | + | ||
87 | +/** | ||
88 | + * 刷新部分会话 | ||
89 | + * | ||
90 | + * @param conversations 会话(TIMConversation*)列表 | ||
91 | + */ | ||
92 | +- (void)onRefreshConversations:(NSArray<TIMConversation *>*)conversations; | ||
93 | +@end | ||
94 | + | ||
95 | +/** | ||
96 | + * 消息回调 | ||
97 | + */ | ||
98 | +@protocol TIMMessageListener <NSObject> | ||
99 | +@optional | ||
100 | +/** | ||
101 | + * 新消息回调通知 | ||
102 | + * | ||
103 | + * @param msgs 新消息列表,TIMMessage 类型数组 | ||
104 | + */ | ||
105 | +- (void)onNewMessage:(NSArray*)msgs; | ||
106 | +@end | ||
107 | + | ||
108 | +@protocol TIMMessageReceiptListener <NSObject> | ||
109 | +@optional | ||
110 | +/** | ||
111 | + * 收到了已读回执 | ||
112 | + * | ||
113 | + * @param receipts 已读回执(TIMMessageReceipt*)列表 | ||
114 | + */ | ||
115 | +- (void) onRecvMessageReceipts:(NSArray*)receipts; | ||
116 | +@end | ||
117 | + | ||
118 | +/** | ||
119 | + * 消息修改回调 | ||
120 | + */ | ||
121 | +@protocol TIMMessageUpdateListener <NSObject> | ||
122 | +@optional | ||
123 | +/** | ||
124 | + * 消息修改通知 | ||
125 | + * | ||
126 | + * @param msgs 修改的消息列表,TIMMessage 类型数组 | ||
127 | + */ | ||
128 | +- (void)onMessageUpdate:(NSArray*) msgs; | ||
129 | +@end | ||
130 | + | ||
131 | + | ||
132 | +@protocol TIMMessageRevokeListener <NSObject> | ||
133 | +@optional | ||
134 | +/** | ||
135 | + * 消息撤回通知 | ||
136 | + * | ||
137 | + * @param locator 被撤回消息的标识 | ||
138 | + */ | ||
139 | +- (void)onRevokeMessage:(TIMMessageLocator*)locator; | ||
140 | + | ||
141 | +@end | ||
142 | + | ||
143 | +/** | ||
144 | + * 上传进度回调 | ||
145 | + */ | ||
146 | +@protocol TIMUploadProgressListener <NSObject> | ||
147 | +@optional | ||
148 | +/** | ||
149 | + * 上传进度回调 | ||
150 | + * | ||
151 | + * @param msg 正在上传的消息 | ||
152 | + * @param elemidx 正在上传的elem的索引 | ||
153 | + * @param taskid 任务id | ||
154 | + * @param progress 上传进度 | ||
155 | + */ | ||
156 | +- (void)onUploadProgressCallback:(TIMMessage*)msg elemidx:(uint32_t)elemidx taskid:(uint32_t)taskid progress:(uint32_t)progress; | ||
157 | +@end | ||
158 | + | ||
159 | +/** | ||
160 | + * 群事件通知回调 | ||
161 | + */ | ||
162 | +@protocol TIMGroupEventListener <NSObject> | ||
163 | +@optional | ||
164 | +/** | ||
165 | + * 群tips回调 | ||
166 | + * | ||
167 | + * @param elem 群tips消息 | ||
168 | + */ | ||
169 | +- (void)onGroupTipsEvent:(TIMGroupTipsElem*)elem; | ||
170 | +@end | ||
171 | + | ||
172 | +/** | ||
173 | + * 好友代理事件回调 | ||
174 | + */ | ||
175 | +@protocol TIMFriendshipListener <NSObject> | ||
176 | +@optional | ||
177 | + | ||
178 | +/** | ||
179 | + * 添加好友通知 | ||
180 | + * | ||
181 | + * @param users 好友列表(NSString*) | ||
182 | + */ | ||
183 | +- (void)onAddFriends:(NSArray*)users; | ||
184 | + | ||
185 | +/** | ||
186 | + * 删除好友通知 | ||
187 | + * | ||
188 | + * @param identifiers 用户id列表(NSString*) | ||
189 | + */ | ||
190 | +- (void)onDelFriends:(NSArray*)identifiers; | ||
191 | + | ||
192 | +/** | ||
193 | + * 好友资料更新通知 | ||
194 | + * | ||
195 | + * @param profiles 资料列表(TIMSNSChangeInfo *) | ||
196 | + */ | ||
197 | +- (void)onFriendProfileUpdate:(NSArray<TIMSNSChangeInfo *> *)profiles; | ||
198 | + | ||
199 | +/** | ||
200 | + * 好友申请通知 | ||
201 | + * | ||
202 | + * @param reqs 好友申请者id列表(TIMFriendPendencyInfo *) | ||
203 | + */ | ||
204 | +- (void)onAddFriendReqs:(NSArray<TIMFriendPendencyInfo *> *)reqs; | ||
205 | + | ||
206 | +@end | ||
207 | + | ||
208 | +#endif |
ImSDK.framework/Headers/TIMComm.h
0 → 100644
1 | +// | ||
2 | +// TIMComm.h | ||
3 | +// ImSDK | ||
4 | +// | ||
5 | +// Created by bodeng on 29/1/15. | ||
6 | +// Copyright (c) 2015 tencent. All rights reserved. | ||
7 | +// | ||
8 | + | ||
9 | +#ifndef ImSDK_TIMComm_h | ||
10 | +#define ImSDK_TIMComm_h | ||
11 | + | ||
12 | +#import <Foundation/Foundation.h> | ||
13 | + | ||
14 | +#define ERR_IMSDK_KICKED_BY_OTHERS 6208 | ||
15 | + | ||
16 | +@protocol TIMConnListener; | ||
17 | +@protocol TIMUserStatusListener; | ||
18 | +@protocol TIMRefreshListener; | ||
19 | +@protocol TIMMessageReceiptListener; | ||
20 | +@protocol TIMMessageUpdateListener; | ||
21 | +@protocol TIMMessageRevokeListener; | ||
22 | +@protocol TIMUploadProgressListener; | ||
23 | +@protocol TIMGroupEventListener; | ||
24 | +@protocol TIMFriendshipListener; | ||
25 | +//@protocol TIMGroupListener; | ||
26 | +@class TIMMessage; | ||
27 | +@class TIMImageElem; | ||
28 | +@class TIMConversation; | ||
29 | +@class TIMAPNSConfig; | ||
30 | +@class TIMUserProfile; | ||
31 | +@class TIMFriend; | ||
32 | +@class TIMGroupInfoOption; | ||
33 | +@class TIMGroupMemberInfoOption; | ||
34 | +@class TIMFriendProfileOption; | ||
35 | +@class TIMFriendResult; | ||
36 | +@class TIMCheckFriendResult; | ||
37 | +@class TIMGroupPendencyMeta; | ||
38 | +@class TIMCreateGroupMemberInfo; | ||
39 | +@class TIMSendToUsersDetailInfo; | ||
40 | +@class TIMGroupInfo; | ||
41 | +@class TIMGroupInfoResult; | ||
42 | +@class TIMGroupMemberInfo; | ||
43 | +@class TIMGroupPendencyItem; | ||
44 | + | ||
45 | +#pragma mark - 枚举类型 | ||
46 | + | ||
47 | +/** | ||
48 | + * 网络连接状态 | ||
49 | + */ | ||
50 | +typedef NS_ENUM(NSInteger, TIMNetworkStatus) { | ||
51 | + /** | ||
52 | + * 已连接 | ||
53 | + */ | ||
54 | + TIM_NETWORK_STATUS_CONNECTED = 1, | ||
55 | + /** | ||
56 | + * 链接断开 | ||
57 | + */ | ||
58 | + TIM_NETWORK_STATUS_DISCONNECTED = 2, | ||
59 | +}; | ||
60 | + | ||
61 | + | ||
62 | +/** | ||
63 | + * 日志级别 | ||
64 | + */ | ||
65 | +typedef NS_ENUM(NSInteger, TIMLogLevel) { | ||
66 | + /** | ||
67 | + * 不输出任何 sdk log | ||
68 | + */ | ||
69 | + TIM_LOG_NONE = 0, | ||
70 | + /** | ||
71 | + * 输出 DEBUG,INFO,WARNING,ERROR 级别的 log | ||
72 | + */ | ||
73 | + TIM_LOG_DEBUG = 3, | ||
74 | + /** | ||
75 | + * 输出 INFO,WARNING,ERROR 级别的 log | ||
76 | + */ | ||
77 | + TIM_LOG_INFO = 4, | ||
78 | + /** | ||
79 | + * 输出 WARNING,ERROR 级别的 log | ||
80 | + */ | ||
81 | + TIM_LOG_WARN = 5, | ||
82 | + /** | ||
83 | + * 输出 ERROR 级别的 log | ||
84 | + */ | ||
85 | + TIM_LOG_ERROR = 6, | ||
86 | +}; | ||
87 | + | ||
88 | +/** | ||
89 | + * 会话类型: | ||
90 | + * C2C 双人聊天 | ||
91 | + * GROUP 群聊 | ||
92 | + */ | ||
93 | +typedef NS_ENUM(NSInteger, TIMConversationType) { | ||
94 | + /** | ||
95 | + * C2C 类型 | ||
96 | + */ | ||
97 | + TIM_C2C = 1, | ||
98 | + | ||
99 | + /** | ||
100 | + * 群聊 类型 | ||
101 | + */ | ||
102 | + TIM_GROUP = 2, | ||
103 | + | ||
104 | + /** | ||
105 | + * 系统消息 | ||
106 | + */ | ||
107 | + TIM_SYSTEM = 3, | ||
108 | +}; | ||
109 | + | ||
110 | +/** | ||
111 | + * 消息状态 | ||
112 | + */ | ||
113 | +typedef NS_ENUM(NSInteger, TIMMessageStatus){ | ||
114 | + /** | ||
115 | + * 消息发送中 | ||
116 | + */ | ||
117 | + TIM_MSG_STATUS_SENDING = 1, | ||
118 | + /** | ||
119 | + * 消息发送成功 | ||
120 | + */ | ||
121 | + TIM_MSG_STATUS_SEND_SUCC = 2, | ||
122 | + /** | ||
123 | + * 消息发送失败 | ||
124 | + */ | ||
125 | + TIM_MSG_STATUS_SEND_FAIL = 3, | ||
126 | + /** | ||
127 | + * 消息被删除 | ||
128 | + */ | ||
129 | + TIM_MSG_STATUS_HAS_DELETED = 4, | ||
130 | + /** | ||
131 | + * 导入到本地的消息 | ||
132 | + */ | ||
133 | + TIM_MSG_STATUS_LOCAL_STORED = 5, | ||
134 | + /** | ||
135 | + * 被撤销的消息 | ||
136 | + */ | ||
137 | + TIM_MSG_STATUS_LOCAL_REVOKED = 6, | ||
138 | +}; | ||
139 | + | ||
140 | +/** | ||
141 | + * 消息优先级标识 | ||
142 | + */ | ||
143 | +typedef NS_ENUM(NSInteger, TIMMessagePriority) { | ||
144 | + /** | ||
145 | + * 高优先级,一般为红包或者礼物消息 | ||
146 | + */ | ||
147 | + TIM_MSG_PRIORITY_HIGH = 1, | ||
148 | + /** | ||
149 | + * 普通优先级,普通消息 | ||
150 | + */ | ||
151 | + TIM_MSG_PRIORITY_NORMAL = 2, | ||
152 | + /** | ||
153 | + * 低优先级,一般为点赞消息 | ||
154 | + */ | ||
155 | + TIM_MSG_PRIORITY_LOW = 3, | ||
156 | + /** | ||
157 | + * 最低优先级,一般为后台下发的成员进退群通知 | ||
158 | + */ | ||
159 | + TIM_MSG_PRIORITY_LOWEST = 4, | ||
160 | +}; | ||
161 | + | ||
162 | +/** | ||
163 | + * 图片压缩选项 | ||
164 | + */ | ||
165 | +typedef NS_ENUM(NSInteger, TIM_IMAGE_COMPRESS_TYPE){ | ||
166 | + /** | ||
167 | + * 原图(不压缩) | ||
168 | + */ | ||
169 | + TIM_IMAGE_COMPRESS_ORIGIN = 0x00, | ||
170 | + /** | ||
171 | + * 高压缩率:图片较小,默认值 | ||
172 | + */ | ||
173 | + TIM_IMAGE_COMPRESS_HIGH = 0x01, | ||
174 | + /** | ||
175 | + * 低压缩:高清图发送(图片较大) | ||
176 | + */ | ||
177 | + TIM_IMAGE_COMPRESS_LOW = 0x02, | ||
178 | +}; | ||
179 | + | ||
180 | +/** | ||
181 | + * 图片类型 | ||
182 | + */ | ||
183 | +typedef NS_ENUM(NSInteger, TIM_IMAGE_TYPE){ | ||
184 | + /** | ||
185 | + * 原图 | ||
186 | + */ | ||
187 | + TIM_IMAGE_TYPE_ORIGIN = 0x01, | ||
188 | + /** | ||
189 | + * 缩略图 | ||
190 | + */ | ||
191 | + TIM_IMAGE_TYPE_THUMB = 0x02, | ||
192 | + /** | ||
193 | + * 大图 | ||
194 | + */ | ||
195 | + TIM_IMAGE_TYPE_LARGE = 0x04, | ||
196 | +}; | ||
197 | + | ||
198 | +/** | ||
199 | + * 图片格式 | ||
200 | + */ | ||
201 | +typedef NS_ENUM(NSInteger, TIM_IMAGE_FORMAT){ | ||
202 | + /** | ||
203 | + * JPG 格式 | ||
204 | + */ | ||
205 | + TIM_IMAGE_FORMAT_JPG = 0x1, | ||
206 | + /** | ||
207 | + * GIF 格式 | ||
208 | + */ | ||
209 | + TIM_IMAGE_FORMAT_GIF = 0x2, | ||
210 | + /** | ||
211 | + * PNG 格式 | ||
212 | + */ | ||
213 | + TIM_IMAGE_FORMAT_PNG = 0x3, | ||
214 | + /** | ||
215 | + * BMP 格式 | ||
216 | + */ | ||
217 | + TIM_IMAGE_FORMAT_BMP = 0x4, | ||
218 | + /** | ||
219 | + * 未知格式 | ||
220 | + */ | ||
221 | + TIM_IMAGE_FORMAT_UNKNOWN = 0xff, | ||
222 | +}; | ||
223 | + | ||
224 | +/** | ||
225 | + * 登录状态 | ||
226 | + */ | ||
227 | +typedef NS_ENUM(NSInteger, TIMLoginStatus) { | ||
228 | + /** | ||
229 | + * 已登录 | ||
230 | + */ | ||
231 | + TIM_STATUS_LOGINED = 1, | ||
232 | + | ||
233 | + /** | ||
234 | + * 登录中 | ||
235 | + */ | ||
236 | + TIM_STATUS_LOGINING = 2, | ||
237 | + | ||
238 | + /** | ||
239 | + * 无登录 | ||
240 | + */ | ||
241 | + TIM_STATUS_LOGOUT = 3, | ||
242 | +}; | ||
243 | + | ||
244 | +/** | ||
245 | + * 推送规则 | ||
246 | + */ | ||
247 | +typedef NS_ENUM(NSInteger, TIMOfflinePushFlag) { | ||
248 | + /** | ||
249 | + * 按照默认规则进行推送 | ||
250 | + */ | ||
251 | + TIM_OFFLINE_PUSH_DEFAULT = 0, | ||
252 | + /** | ||
253 | + * 不进行推送 | ||
254 | + */ | ||
255 | + TIM_OFFLINE_PUSH_NO_PUSH = 1, | ||
256 | +}; | ||
257 | + | ||
258 | +/** | ||
259 | + * 安卓离线推送模式 | ||
260 | + */ | ||
261 | +typedef NS_ENUM(NSInteger, TIMAndroidOfflinePushNotifyMode) { | ||
262 | + /** | ||
263 | + * 通知栏消息 | ||
264 | + */ | ||
265 | + TIM_ANDROID_OFFLINE_PUSH_NOTIFY_MODE_NOTIFICATION = 0x00, | ||
266 | + /** | ||
267 | + * 不弹窗,由应用自行处理 | ||
268 | + */ | ||
269 | + TIM_ANDROID_OFFLINE_PUSH_NOTIFY_MODE_CUSTOM = 0x01, | ||
270 | +}; | ||
271 | + | ||
272 | +/** | ||
273 | + * 群组成员是否可见 | ||
274 | + */ | ||
275 | +typedef NS_ENUM(NSInteger, TIMGroupMemberVisibleType) { | ||
276 | + /** | ||
277 | + * 未知 | ||
278 | + */ | ||
279 | + TIM_GROUP_MEMBER_VISIBLE_UNKNOWN = 0x00, | ||
280 | + /** | ||
281 | + * 群组成员不可见 | ||
282 | + */ | ||
283 | + TIM_GROUP_MEMBER_VISIBLE_NO = 0x01, | ||
284 | + /** | ||
285 | + * 群组成员可见 | ||
286 | + */ | ||
287 | + TIM_GROUP_MEMBER_VISIBLE_YES = 0x02, | ||
288 | +}; | ||
289 | + | ||
290 | +/** | ||
291 | + * 群组是否能被搜到 | ||
292 | + */ | ||
293 | +typedef NS_ENUM(NSInteger, TIMGroupSearchableType) { | ||
294 | + /** | ||
295 | + * 未知 | ||
296 | + */ | ||
297 | + TIM_GROUP_SEARCHABLE_UNKNOWN = 0x00, | ||
298 | + /** | ||
299 | + * 群组不能被搜到 | ||
300 | + */ | ||
301 | + TIM_GROUP_SEARCHABLE_NO = 0x01, | ||
302 | + /** | ||
303 | + * 群组能被搜到 | ||
304 | + */ | ||
305 | + TIM_GROUP_SEARCHABLE_YES = 0x02, | ||
306 | +}; | ||
307 | + | ||
308 | +/** | ||
309 | + * 加群选项 | ||
310 | + */ | ||
311 | +typedef NS_ENUM(NSInteger, TIMGroupAddOpt) { | ||
312 | + /** | ||
313 | + * 禁止加群 | ||
314 | + */ | ||
315 | + TIM_GROUP_ADD_FORBID = 0, | ||
316 | + | ||
317 | + /** | ||
318 | + * 需要管理员审批 | ||
319 | + */ | ||
320 | + TIM_GROUP_ADD_AUTH = 1, | ||
321 | + | ||
322 | + /** | ||
323 | + * 任何人可以加入 | ||
324 | + */ | ||
325 | + TIM_GROUP_ADD_ANY = 2, | ||
326 | +}; | ||
327 | + | ||
328 | +/** | ||
329 | + * 群组提示类型 | ||
330 | + */ | ||
331 | +typedef NS_ENUM(NSInteger, TIMGroupTipsType){ | ||
332 | + /** | ||
333 | + * 成员加入 | ||
334 | + */ | ||
335 | + TIM_GROUP_TIPS_JOIN = 1, | ||
336 | + /** | ||
337 | + * 成员离开 | ||
338 | + */ | ||
339 | + TIM_GROUP_TIPS_QUIT = 2, | ||
340 | + /** | ||
341 | + * 成员被踢 | ||
342 | + */ | ||
343 | + TIM_GROUP_TIPS_KICK = 3, | ||
344 | + /** | ||
345 | + * 成员设置管理员 | ||
346 | + */ | ||
347 | + TIM_GROUP_TIPS_SET_ADMIN = 4, | ||
348 | + /** | ||
349 | + * 成员取消管理员 | ||
350 | + */ | ||
351 | + TIM_GROUP_TIPS_CANCEL_ADMIN = 5, | ||
352 | +}; | ||
353 | + | ||
354 | +/** | ||
355 | + * 群消息接受选项 | ||
356 | + */ | ||
357 | +typedef NS_ENUM(NSInteger, TIMGroupReceiveMessageOpt) { | ||
358 | + /** | ||
359 | + * 接收消息 | ||
360 | + */ | ||
361 | + TIM_GROUP_RECEIVE_MESSAGE = 0, | ||
362 | + /** | ||
363 | + * 不接收消息,服务器不进行转发 | ||
364 | + */ | ||
365 | + TIM_GROUP_NOT_RECEIVE_MESSAGE = 1, | ||
366 | + /** | ||
367 | + * 接受消息,不进行 iOS APNs 推送 | ||
368 | + */ | ||
369 | + TIM_GROUP_RECEIVE_NOT_NOTIFY_MESSAGE = 2, | ||
370 | +}; | ||
371 | + | ||
372 | +/** | ||
373 | + * 群 Tips 类型 | ||
374 | + */ | ||
375 | +typedef NS_ENUM(NSInteger, TIM_GROUP_TIPS_TYPE){ | ||
376 | + /** | ||
377 | + * 邀请加入群 (opUser & groupName & userList) | ||
378 | + */ | ||
379 | + TIM_GROUP_TIPS_TYPE_INVITE = 0x01, | ||
380 | + /** | ||
381 | + * 退出群 (opUser & groupName & userList) | ||
382 | + */ | ||
383 | + TIM_GROUP_TIPS_TYPE_QUIT_GRP = 0x02, | ||
384 | + /** | ||
385 | + * 踢出群 (opUser & groupName & userList) | ||
386 | + */ | ||
387 | + TIM_GROUP_TIPS_TYPE_KICKED = 0x03, | ||
388 | + /** | ||
389 | + * 设置管理员 (opUser & groupName & userList) | ||
390 | + */ | ||
391 | + TIM_GROUP_TIPS_TYPE_SET_ADMIN = 0x04, | ||
392 | + /** | ||
393 | + * 取消管理员 (opUser & groupName & userList) | ||
394 | + */ | ||
395 | + TIM_GROUP_TIPS_TYPE_CANCEL_ADMIN = 0x05, | ||
396 | + /** | ||
397 | + * 群资料变更 (opUser & groupName & introduction & notification & faceUrl & owner) | ||
398 | + */ | ||
399 | + TIM_GROUP_TIPS_TYPE_INFO_CHANGE = 0x06, | ||
400 | + /** | ||
401 | + * 群成员资料变更 (opUser & groupName & memberInfoList) | ||
402 | + */ | ||
403 | + TIM_GROUP_TIPS_TYPE_MEMBER_INFO_CHANGE = 0x07, | ||
404 | +}; | ||
405 | + | ||
406 | +/** | ||
407 | + * 群变更信息 Tips 类型 | ||
408 | + */ | ||
409 | +typedef NS_ENUM(NSInteger, TIM_GROUP_INFO_CHANGE_TYPE){ | ||
410 | + /** | ||
411 | + * 群名修改 | ||
412 | + */ | ||
413 | + TIM_GROUP_INFO_CHANGE_GROUP_NAME = 0x01, | ||
414 | + /** | ||
415 | + * 群简介修改 | ||
416 | + */ | ||
417 | + TIM_GROUP_INFO_CHANGE_GROUP_INTRODUCTION = 0x02, | ||
418 | + /** | ||
419 | + * 群公告修改 | ||
420 | + */ | ||
421 | + TIM_GROUP_INFO_CHANGE_GROUP_NOTIFICATION = 0x03, | ||
422 | + /** | ||
423 | + * 群头像修改 | ||
424 | + */ | ||
425 | + TIM_GROUP_INFO_CHANGE_GROUP_FACE = 0x04, | ||
426 | + /** | ||
427 | + * 群主变更 | ||
428 | + */ | ||
429 | + TIM_GROUP_INFO_CHANGE_GROUP_OWNER = 0x05, | ||
430 | + /** | ||
431 | + * 群自定义字段变更 | ||
432 | + */ | ||
433 | + TIM_GROUP_INFO_CHANGE_GROUP_CUSTOM = 0x06, | ||
434 | +}; | ||
435 | + | ||
436 | +/** | ||
437 | + * 群系统消息类型 | ||
438 | + */ | ||
439 | +typedef NS_ENUM(NSInteger, TIM_GROUP_SYSTEM_TYPE){ | ||
440 | + /** | ||
441 | + * 申请加群请求(只有管理员会收到) | ||
442 | + */ | ||
443 | + TIM_GROUP_SYSTEM_ADD_GROUP_REQUEST_TYPE = 0x01, | ||
444 | + /** | ||
445 | + * 申请加群被同意(只有申请人能够收到) | ||
446 | + */ | ||
447 | + TIM_GROUP_SYSTEM_ADD_GROUP_ACCEPT_TYPE = 0x02, | ||
448 | + /** | ||
449 | + * 申请加群被拒绝(只有申请人能够收到) | ||
450 | + */ | ||
451 | + TIM_GROUP_SYSTEM_ADD_GROUP_REFUSE_TYPE = 0x03, | ||
452 | + /** | ||
453 | + * 被管理员踢出群(只有被踢的人能够收到) | ||
454 | + */ | ||
455 | + TIM_GROUP_SYSTEM_KICK_OFF_FROM_GROUP_TYPE = 0x04, | ||
456 | + /** | ||
457 | + * 群被解散(全员能够收到) | ||
458 | + */ | ||
459 | + TIM_GROUP_SYSTEM_DELETE_GROUP_TYPE = 0x05, | ||
460 | + /** | ||
461 | + * 创建群消息(创建者能够收到) | ||
462 | + */ | ||
463 | + TIM_GROUP_SYSTEM_CREATE_GROUP_TYPE = 0x06, | ||
464 | + /** | ||
465 | + * 邀请入群通知(被邀请者能够收到) | ||
466 | + */ | ||
467 | + TIM_GROUP_SYSTEM_INVITED_TO_GROUP_TYPE = 0x07, | ||
468 | + /** | ||
469 | + * 主动退群(主动退群者能够收到) | ||
470 | + */ | ||
471 | + TIM_GROUP_SYSTEM_QUIT_GROUP_TYPE = 0x08, | ||
472 | + /** | ||
473 | + * 设置管理员(被设置者接收) | ||
474 | + */ | ||
475 | + TIM_GROUP_SYSTEM_GRANT_ADMIN_TYPE = 0x09, | ||
476 | + /** | ||
477 | + * 取消管理员(被取消者接收) | ||
478 | + */ | ||
479 | + TIM_GROUP_SYSTEM_CANCEL_ADMIN_TYPE = 0x0a, | ||
480 | + /** | ||
481 | + * 群已被回收(全员接收) | ||
482 | + */ | ||
483 | + TIM_GROUP_SYSTEM_REVOKE_GROUP_TYPE = 0x0b, | ||
484 | + /** | ||
485 | + * 邀请入群请求(被邀请者接收) | ||
486 | + */ | ||
487 | + TIM_GROUP_SYSTEM_INVITE_TO_GROUP_REQUEST_TYPE = 0x0c, | ||
488 | + /** | ||
489 | + * 邀请加群被同意(只有发出邀请者会接收到) | ||
490 | + */ | ||
491 | + TIM_GROUP_SYSTEM_INVITE_TO_GROUP_ACCEPT_TYPE = 0x0d, | ||
492 | + /** | ||
493 | + * 邀请加群被拒绝(只有发出邀请者会接收到) | ||
494 | + */ | ||
495 | + TIM_GROUP_SYSTEM_INVITE_TO_GROUP_REFUSE_TYPE = 0x0e, | ||
496 | + /** | ||
497 | + * 用户自定义通知(默认全员接收) | ||
498 | + */ | ||
499 | + TIM_GROUP_SYSTEM_CUSTOM_INFO = 0xff, | ||
500 | +}; | ||
501 | + | ||
502 | +/** | ||
503 | + * 群成员角色 | ||
504 | + */ | ||
505 | +typedef NS_ENUM(NSInteger, TIMGroupMemberRole) { | ||
506 | + /** | ||
507 | + * 未定义(没有获取该字段) | ||
508 | + */ | ||
509 | + TIM_GROUP_MEMBER_UNDEFINED = 0, | ||
510 | + | ||
511 | + /** | ||
512 | + * 群成员 | ||
513 | + */ | ||
514 | + TIM_GROUP_MEMBER_ROLE_MEMBER = 200, | ||
515 | + | ||
516 | + /** | ||
517 | + * 群管理员 | ||
518 | + */ | ||
519 | + TIM_GROUP_MEMBER_ROLE_ADMIN = 300, | ||
520 | + | ||
521 | + /** | ||
522 | + * 群主 | ||
523 | + */ | ||
524 | + TIM_GROUP_MEMBER_ROLE_SUPER = 400, | ||
525 | +}; | ||
526 | + | ||
527 | +/** | ||
528 | + * 群基本获取资料标志 | ||
529 | + */ | ||
530 | +typedef NS_ENUM(NSInteger, TIMGetGroupBaseInfoFlag) { | ||
531 | + /** | ||
532 | + * 不获取群组资料 | ||
533 | + */ | ||
534 | + TIM_GET_GROUP_BASE_INFO_FLAG_NONE = 0x00, | ||
535 | + /** | ||
536 | + * 获取群组名 | ||
537 | + */ | ||
538 | + TIM_GET_GROUP_BASE_INFO_FLAG_NAME = 0x01, | ||
539 | + /** | ||
540 | + * 获取创建时间 | ||
541 | + */ | ||
542 | + TIM_GET_GROUP_BASE_INFO_FLAG_CREATE_TIME = 0x01 << 1, | ||
543 | + /** | ||
544 | + * 获取群主id | ||
545 | + */ | ||
546 | + TIM_GET_GROUP_BASE_INFO_FLAG_OWNER_UIN = 0x01 << 2, | ||
547 | + /** | ||
548 | + * (不可用) | ||
549 | + */ | ||
550 | + TIM_GET_GROUP_BASE_INFO_FLAG_SEQ = 0x01 << 3, | ||
551 | + /** | ||
552 | + * 获取最近一次修改群信息时间 | ||
553 | + */ | ||
554 | + TIM_GET_GROUP_BASE_INFO_FLAG_TIME = 0x01 << 4, | ||
555 | + /** | ||
556 | + * (不可用) | ||
557 | + */ | ||
558 | + TIM_GET_GROUP_BASE_INFO_FLAG_NEXT_MSG_SEQ = 0x01 << 5, | ||
559 | + /** | ||
560 | + * 获取最近一次发消息时间 | ||
561 | + */ | ||
562 | + TIM_GET_GROUP_BASE_INFO_FLAG_LAST_MSG_TIME = 0x01 << 6, | ||
563 | + /** | ||
564 | + * (不可用) | ||
565 | + */ | ||
566 | + TIM_GET_GROUP_BASE_INFO_FLAG_APP_ID = 0x01 << 7, | ||
567 | + /** | ||
568 | + * 获取群成员数量 | ||
569 | + */ | ||
570 | + TIM_GET_GROUP_BASE_INFO_FLAG_MEMBER_NUM = 0x01 << 8, | ||
571 | + /** | ||
572 | + * 获取最大群成员数量 | ||
573 | + */ | ||
574 | + TIM_GET_GROUP_BASE_INFO_FLAG_MAX_MEMBER_NUM = 0x01 << 9, | ||
575 | + /** | ||
576 | + * 获取群公告 | ||
577 | + */ | ||
578 | + TIM_GET_GROUP_BASE_INFO_FLAG_NOTIFICATION = 0x01 << 10, | ||
579 | + /** | ||
580 | + * 获取群简介 | ||
581 | + */ | ||
582 | + TIM_GET_GROUP_BASE_INFO_FLAG_INTRODUCTION = 0x01 << 11, | ||
583 | + /** | ||
584 | + * 获取群头像 | ||
585 | + */ | ||
586 | + TIM_GET_GROUP_BASE_INFO_FLAG_FACE_URL = 0x01 << 12, | ||
587 | + /** | ||
588 | + * 获取入群类型 | ||
589 | + */ | ||
590 | + TIM_GET_GROUP_BASE_INFO_FLAG_ADD_OPTION = 0x01 << 13, | ||
591 | + /** | ||
592 | + * 获取群组类型 | ||
593 | + */ | ||
594 | + TIM_GET_GROUP_BASE_INFO_FLAG_GROUP_TYPE = 0x01 << 14, | ||
595 | + /** | ||
596 | + * 获取最后一条群消息 | ||
597 | + */ | ||
598 | + TIM_GET_GROUP_BASE_INFO_FLAG_LAST_MSG = 0x01 << 15, | ||
599 | + /** | ||
600 | + * 获取在线人数 | ||
601 | + */ | ||
602 | + TIM_GET_GROUP_BASE_INFO_FLAG_ONLINE_NUM = 0x01 << 16, | ||
603 | + /** | ||
604 | + * 获取群成员是否可见标志 | ||
605 | + */ | ||
606 | + TIM_GET_GROUP_BASE_INFO_VISIBLE = 0x01 << 17, | ||
607 | + /** | ||
608 | + * 获取群是否能被搜到标志 | ||
609 | + */ | ||
610 | + TIM_GET_GROUP_BASE_INFO_SEARCHABLE = 0x01 << 18, | ||
611 | + /** | ||
612 | + * 获取群全员禁言时间 | ||
613 | + */ | ||
614 | + TIM_GET_GROUP_BASE_INFO_ALL_SHUTUP = 0x01 << 19 | ||
615 | +}; | ||
616 | + | ||
617 | +/** | ||
618 | + * 群成员角色过滤方式 | ||
619 | + */ | ||
620 | +typedef NS_ENUM(NSInteger, TIMGroupMemberFilter) { | ||
621 | + /** | ||
622 | + * 全部成员 | ||
623 | + */ | ||
624 | + TIM_GROUP_MEMBER_FILTER_ALL = 0x00, | ||
625 | + /** | ||
626 | + * 群主 | ||
627 | + */ | ||
628 | + TIM_GROUP_MEMBER_FILTER_SUPER = 0x01, | ||
629 | + /** | ||
630 | + * 管理员 | ||
631 | + */ | ||
632 | + TIM_GROUP_MEMBER_FILTER_ADMIN = 0x02, | ||
633 | + /** | ||
634 | + * 普通成员 | ||
635 | + */ | ||
636 | + TIM_GROUP_MEMBER_FILTER_COMMON = 0x04, | ||
637 | +}; | ||
638 | + | ||
639 | +/** | ||
640 | + * 群成员获取资料标志 | ||
641 | + */ | ||
642 | +typedef NS_ENUM(NSInteger, TIMGetGroupMemInfoFlag) { | ||
643 | + | ||
644 | + /** | ||
645 | + * 入群时间 | ||
646 | + */ | ||
647 | + TIM_GET_GROUP_MEM_INFO_FLAG_JOIN_TIME = 0x01, | ||
648 | + /** | ||
649 | + * 消息标志 | ||
650 | + */ | ||
651 | + TIM_GET_GROUP_MEM_INFO_FLAG_MSG_FLAG = 0x01 << 1, | ||
652 | + /** | ||
653 | + * 角色 | ||
654 | + */ | ||
655 | + TIM_GET_GROUP_MEM_INFO_FLAG_ROLE_INFO = 0x01 << 3, | ||
656 | + /** | ||
657 | + * 禁言时间 | ||
658 | + */ | ||
659 | + TIM_GET_GROUP_MEM_INFO_FLAG_SHUTUP_TIME = 0x01 << 4, | ||
660 | + /** | ||
661 | + * 群名片 | ||
662 | + */ | ||
663 | + TIM_GET_GROUP_MEM_INFO_FLAG_NAME_CARD = 0x01 << 5, | ||
664 | +}; | ||
665 | + | ||
666 | +/** | ||
667 | + * 群组操作结果 | ||
668 | + */ | ||
669 | +typedef NS_ENUM(NSInteger, TIMGroupMemberStatus) { | ||
670 | + /** | ||
671 | + * 操作失败 | ||
672 | + */ | ||
673 | + TIM_GROUP_MEMBER_STATUS_FAIL = 0, | ||
674 | + | ||
675 | + /** | ||
676 | + * 操作成功 | ||
677 | + */ | ||
678 | + TIM_GROUP_MEMBER_STATUS_SUCC = 1, | ||
679 | + | ||
680 | + /** | ||
681 | + * 无效操作,加群时已经是群成员,移除群组时不在群内 | ||
682 | + */ | ||
683 | + TIM_GROUP_MEMBER_STATUS_INVALID = 2, | ||
684 | + | ||
685 | + /** | ||
686 | + * 等待处理,邀请入群时等待对方处理 | ||
687 | + */ | ||
688 | + TIM_GROUP_MEMBER_STATUS_PENDING = 3, | ||
689 | +}; | ||
690 | + | ||
691 | +/** | ||
692 | + * 群组未决请求类型 | ||
693 | + */ | ||
694 | +typedef NS_ENUM(NSInteger, TIMGroupPendencyGetType) { | ||
695 | + /** | ||
696 | + * 申请入群 | ||
697 | + */ | ||
698 | + TIM_GROUP_PENDENCY_GET_TYPE_JOIN = 0x0, | ||
699 | + /** | ||
700 | + * 邀请入群 | ||
701 | + */ | ||
702 | + TIM_GROUP_PENDENCY_GET_TYPE_INVITE = 0x1, | ||
703 | +}; | ||
704 | + | ||
705 | +/** | ||
706 | + * 群组已决标志 | ||
707 | + */ | ||
708 | +typedef NS_ENUM(NSInteger, TIMGroupPendencyHandleStatus) { | ||
709 | + /** | ||
710 | + * 未处理 | ||
711 | + */ | ||
712 | + TIM_GROUP_PENDENCY_HANDLE_STATUS_UNHANDLED = 0, | ||
713 | + /** | ||
714 | + * 被他人处理 | ||
715 | + */ | ||
716 | + TIM_GROUP_PENDENCY_HANDLE_STATUS_OTHER_HANDLED = 1, | ||
717 | + /** | ||
718 | + * 被用户处理 | ||
719 | + */ | ||
720 | + TIM_GROUP_PENDENCY_HANDLE_STATUS_OPERATOR_HANDLED = 2, | ||
721 | +}; | ||
722 | + | ||
723 | +/** | ||
724 | + * 群组已决结果 | ||
725 | + */ | ||
726 | +typedef NS_ENUM(NSInteger, TIMGroupPendencyHandleResult) { | ||
727 | + /** | ||
728 | + * 拒绝申请 | ||
729 | + */ | ||
730 | + TIM_GROUP_PENDENCY_HANDLE_RESULT_REFUSE = 0, | ||
731 | + /** | ||
732 | + * 同意申请 | ||
733 | + */ | ||
734 | + TIM_GROUP_PENDENCY_HANDLE_RESULT_AGREE = 1, | ||
735 | +}; | ||
736 | + | ||
737 | +/** | ||
738 | + * 好友验证方式 | ||
739 | + */ | ||
740 | +typedef NS_ENUM(NSInteger, TIMFriendAllowType) { | ||
741 | + /** | ||
742 | + * 同意任何用户加好友 | ||
743 | + */ | ||
744 | + TIM_FRIEND_ALLOW_ANY = 0, | ||
745 | + | ||
746 | + /** | ||
747 | + * 需要验证 | ||
748 | + */ | ||
749 | + TIM_FRIEND_NEED_CONFIRM = 1, | ||
750 | + | ||
751 | + /** | ||
752 | + * 拒绝任何人加好友 | ||
753 | + */ | ||
754 | + TIM_FRIEND_DENY_ANY = 2, | ||
755 | +}; | ||
756 | + | ||
757 | +/** | ||
758 | + * 性别 | ||
759 | + */ | ||
760 | +typedef NS_ENUM(NSInteger, TIMGender) { | ||
761 | + /** | ||
762 | + * 未知性别 | ||
763 | + */ | ||
764 | + TIM_GENDER_UNKNOWN = 0, | ||
765 | + /** | ||
766 | + * 男性 | ||
767 | + */ | ||
768 | + TIM_GENDER_MALE = 1, | ||
769 | + /** | ||
770 | + * 女性 | ||
771 | + */ | ||
772 | + TIM_GENDER_FEMALE = 2, | ||
773 | + | ||
774 | +}; | ||
775 | + | ||
776 | +/** | ||
777 | + * 操作类型 | ||
778 | + */ | ||
779 | +typedef NS_ENUM(NSInteger, TIM_SNS_SYSTEM_TYPE){ | ||
780 | + /** | ||
781 | + * 增加好友消息 | ||
782 | + */ | ||
783 | + TIM_SNS_SYSTEM_ADD_FRIEND = 0x01, | ||
784 | + /** | ||
785 | + * 删除好友消息 | ||
786 | + */ | ||
787 | + TIM_SNS_SYSTEM_DEL_FRIEND = 0x02, | ||
788 | + /** | ||
789 | + * 增加好友申请 | ||
790 | + */ | ||
791 | + TIM_SNS_SYSTEM_ADD_FRIEND_REQ = 0x03, | ||
792 | + /** | ||
793 | + * 删除未决申请 | ||
794 | + */ | ||
795 | + TIM_SNS_SYSTEM_DEL_FRIEND_REQ = 0x04, | ||
796 | + /** | ||
797 | + * 黑名单添加 | ||
798 | + */ | ||
799 | + TIM_SNS_SYSTEM_ADD_BLACKLIST = 0x05, | ||
800 | + /** | ||
801 | + * 黑名单删除 | ||
802 | + */ | ||
803 | + TIM_SNS_SYSTEM_DEL_BLACKLIST = 0x06, | ||
804 | + /** | ||
805 | + * 未决已读上报 | ||
806 | + */ | ||
807 | + TIM_SNS_SYSTEM_PENDENCY_REPORT = 0x07, | ||
808 | + /** | ||
809 | + * 关系链资料变更 | ||
810 | + */ | ||
811 | + TIM_SNS_SYSTEM_SNS_PROFILE_CHANGE = 0x08, | ||
812 | +}; | ||
813 | + | ||
814 | +/** | ||
815 | + * 资料变更 | ||
816 | + */ | ||
817 | +typedef NS_ENUM(NSInteger, TIM_PROFILE_SYSTEM_TYPE){ | ||
818 | + /** | ||
819 | + 好友资料变更 | ||
820 | + */ | ||
821 | + TIM_PROFILE_SYSTEM_FRIEND_PROFILE_CHANGE = 0x01, | ||
822 | +}; | ||
823 | + | ||
824 | +#pragma mark - block 回调 | ||
825 | + | ||
826 | +/** | ||
827 | + * 获取消息回调 | ||
828 | + * | ||
829 | + * @param msgs 消息列表 | ||
830 | + */ | ||
831 | +typedef void (^TIMGetMsgSucc)(NSArray * msgs); | ||
832 | + | ||
833 | +/** | ||
834 | + * 一般操作成功回调 | ||
835 | + */ | ||
836 | +typedef void (^TIMSucc)(void); | ||
837 | + | ||
838 | +/** | ||
839 | + * 操作失败回调 | ||
840 | + * | ||
841 | + * @param code 错误码 | ||
842 | + * @param msg 错误描述,配合错误码使用,如果问题建议打印信息定位 | ||
843 | + */ | ||
844 | +typedef void (^TIMFail)(int code, NSString * msg); | ||
845 | + | ||
846 | +/** | ||
847 | + * 进度毁掉 | ||
848 | + * | ||
849 | + * @param curSize 已下载大小 | ||
850 | + * @param totalSize 总大小 | ||
851 | + */ | ||
852 | +typedef void (^TIMProgress)(NSInteger curSize, NSInteger totalSize); | ||
853 | + | ||
854 | +/** | ||
855 | + * 登录成功回调 | ||
856 | + */ | ||
857 | +typedef void (^TIMLoginSucc)(void); | ||
858 | + | ||
859 | +/** | ||
860 | + * 获取资源 | ||
861 | + * | ||
862 | + * @param data 资源二进制 | ||
863 | + */ | ||
864 | +typedef void (^TIMGetResourceSucc)(NSData * data); | ||
865 | + | ||
866 | +/** | ||
867 | + * 日志回调 | ||
868 | + * | ||
869 | + * @param lvl 输出的日志级别 | ||
870 | + * @param msg 日志内容 | ||
871 | + */ | ||
872 | +typedef void (^TIMLogFunc)(TIMLogLevel lvl, NSString * msg); | ||
873 | + | ||
874 | +/** | ||
875 | + * 上传图片成功回调 | ||
876 | + * | ||
877 | + * @param elem 上传图片成功后 elem | ||
878 | + */ | ||
879 | +typedef void (^TIMUploadImageSucc)(TIMImageElem * elem); | ||
880 | + | ||
881 | +/** | ||
882 | + * APNs 推送配置更新成功回调 | ||
883 | + * | ||
884 | + * @param config 配置 | ||
885 | + */ | ||
886 | +typedef void (^TIMAPNSConfigSucc)(TIMAPNSConfig* config); | ||
887 | + | ||
888 | +/** | ||
889 | + * 群创建成功 | ||
890 | + * | ||
891 | + * @param groupId 群组 Id | ||
892 | + */ | ||
893 | +typedef void (^TIMCreateGroupSucc)(NSString * groupId); | ||
894 | + | ||
895 | +/** | ||
896 | + * 好友列表 | ||
897 | + * | ||
898 | + * @param friends 好友列表 | ||
899 | + */ | ||
900 | +typedef void (^TIMFriendArraySucc)(NSArray<TIMFriend *> *friends); | ||
901 | + | ||
902 | +/** | ||
903 | + * 获取资料回调 | ||
904 | + * | ||
905 | + * @param profile 资料 | ||
906 | + */ | ||
907 | +typedef void (^TIMGetProfileSucc)(TIMUserProfile * profile); | ||
908 | + | ||
909 | +/** | ||
910 | + * 获取资料回调 | ||
911 | + * | ||
912 | + * @param profiles 资料 | ||
913 | + */ | ||
914 | +typedef void (^TIMUserProfileArraySucc)(NSArray<TIMUserProfile *> *profiles); | ||
915 | + | ||
916 | +/** | ||
917 | + * 好友操作回调 | ||
918 | + * | ||
919 | + * @param result 资料 | ||
920 | + */ | ||
921 | +typedef void (^TIMFriendResultSucc)(TIMFriendResult *result); | ||
922 | + | ||
923 | +/** | ||
924 | + * 好友操作回调 | ||
925 | + * | ||
926 | + * @param results 资料 | ||
927 | + */ | ||
928 | +typedef void (^TIMFriendResultArraySucc)(NSArray<TIMFriendResult *> *results); | ||
929 | + | ||
930 | +/** | ||
931 | + * 检查好友操作回调 | ||
932 | + * | ||
933 | + * @param results 检查结果 | ||
934 | + */ | ||
935 | +typedef void (^TIMCheckFriendResultArraySucc)(NSArray<TIMCheckFriendResult *> *results); | ||
936 | + | ||
937 | + | ||
938 | +/** | ||
939 | + * 群成员列表回调 | ||
940 | + * | ||
941 | + * @param members 群成员列表 | ||
942 | + */ | ||
943 | +typedef void (^TIMGroupMemberSucc)(NSArray * members); | ||
944 | + | ||
945 | +/** | ||
946 | + * 群列表结果回调 | ||
947 | + * | ||
948 | + * @param groupList 群列表结果 | ||
949 | + */ | ||
950 | +typedef void (^TIMGroupListSucc)(NSArray* groupList); | ||
951 | + | ||
952 | +/** | ||
953 | + * 本人群组内成员信息回调 | ||
954 | + * | ||
955 | + * @param selfInfo 本人成员信息 | ||
956 | + */ | ||
957 | +typedef void (^TIMGroupSelfSucc)(TIMGroupMemberInfo * selfInfo); | ||
958 | + | ||
959 | +/** | ||
960 | + * 群接受消息选项回调 | ||
961 | + * | ||
962 | + * @param opt 群接受消息选项 | ||
963 | + */ | ||
964 | +typedef void (^TIMGroupReciveMessageOptSucc)(TIMGroupReceiveMessageOpt opt); | ||
965 | + | ||
966 | +/** | ||
967 | + * 群成员列表回调(分页使用) | ||
968 | + * | ||
969 | + * @param members 群成员(TIMGroupMemberInfo*)列表 | ||
970 | + */ | ||
971 | +typedef void (^TIMGroupMemberSuccV2)(uint64_t nextSeq, NSArray * members); | ||
972 | + | ||
973 | +/** | ||
974 | + * 群搜索回调 | ||
975 | + * | ||
976 | + * @param totalNum 搜索结果的总数 | ||
977 | + * @param groups 请求的群列表片段 | ||
978 | + */ | ||
979 | +typedef void (^TIMGroupSearchSucc)(uint64_t totalNum, NSArray * groups); | ||
980 | + | ||
981 | +/** | ||
982 | + * 获取群组未决请求列表成功 | ||
983 | + * | ||
984 | + * @param meta 未决请求元信息 | ||
985 | + * @param pendencies 未决请求列表(TIMGroupPendencyItem)数组 | ||
986 | + */ | ||
987 | +typedef void (^TIMGetGroupPendencyListSucc)(TIMGroupPendencyMeta * meta, NSArray<TIMGroupPendencyItem *> * pendencies); | ||
988 | + | ||
989 | +/** | ||
990 | + * 发送消息给多个用户失败 | ||
991 | + * | ||
992 | + * @param code 错误码 | ||
993 | + * @param err 错误信息 | ||
994 | + * @param detailInfo 错误详情 | ||
995 | + */ | ||
996 | +typedef void (^TIMSendToUsersFail)(int code, NSString *err, TIMSendToUsersDetailInfo *detailInfo); | ||
997 | + | ||
998 | +#pragma mark - 基本类型 | ||
999 | + | ||
1000 | +/// 实现 NSCoding 协议 | ||
1001 | +@interface TIMCodingModel : NSObject <NSCoding> | ||
1002 | + | ||
1003 | +///读取实例变量,并把这些数据写到 coder 中去,序列化数据 | ||
1004 | +- (void)encodeWithCoder:(NSCoder *)encoder; | ||
1005 | + | ||
1006 | +///从 coder 中读取数据,保存到相应的变量中,即反序列化数据 | ||
1007 | +- (id)initWithCoder:(NSCoder *)decoder; | ||
1008 | + | ||
1009 | +@end | ||
1010 | + | ||
1011 | +/// 初始化 SDK 配置信息 | ||
1012 | +@interface TIMSdkConfig : NSObject | ||
1013 | + | ||
1014 | +///用户标识接入 SDK 的应用 ID,必填 | ||
1015 | +@property(nonatomic,assign) int sdkAppId; | ||
1016 | + | ||
1017 | +///用户的账号类型,新版本不需要再填写 | ||
1018 | +//@property(nonatomic,strong) NSString * accountType; | ||
1019 | + | ||
1020 | +///禁止在控制台打印 log | ||
1021 | +@property(nonatomic,assign) BOOL disableLogPrint; | ||
1022 | + | ||
1023 | +///本地写 log 文件的等级,默认 DEBUG 等级 | ||
1024 | +@property(nonatomic,assign) TIMLogLevel logLevel; | ||
1025 | + | ||
1026 | +///log 文件路径,不设置时为默认路径,可以通过 TIMManager -> getLogPath 获取 log 路径 | ||
1027 | +@property(nonatomic,strong) NSString * logPath; | ||
1028 | + | ||
1029 | +///回调给 logFunc 函数的 log 等级,默认 DEBUG 等级 | ||
1030 | +@property(nonatomic,assign) TIMLogLevel logFuncLevel; | ||
1031 | + | ||
1032 | +///log 监听函数 | ||
1033 | +@property(nonatomic,copy) TIMLogFunc logFunc; | ||
1034 | + | ||
1035 | +///消息数据库路径,不设置时为默认路径 | ||
1036 | +@property(nonatomic,strong) NSString * dbPath; | ||
1037 | + | ||
1038 | +///网络监听器,监听网络连接成功失败的状态 | ||
1039 | +@property(nonatomic,weak) id<TIMConnListener> connListener; | ||
1040 | + | ||
1041 | +@end | ||
1042 | + | ||
1043 | +/// 设置用户配置信息 | ||
1044 | +@interface TIMUserConfig : NSObject | ||
1045 | + | ||
1046 | +///禁用本地存储(AVChatRoom,BChatRoom 消息数量很大,出于程序性能的考虑,默认不存本地) | ||
1047 | +@property(nonatomic,assign) BOOL disableStorage; | ||
1048 | + | ||
1049 | +///默认情况下,出于性能考虑,当用户在终端 A 收到未读消息后,Server 默认会删除未读消息,但如果用户切换到终端 B 后,IM SDK 无法再同步到未读消息,未读计数也不会增加,如果需要在终端 B 下也有未读,请设置 disableAutoReport 为 YES,这个时候 Server 不会再主动删除未读消息。注意一旦这这样设置,开发者需要主动调用 TIMConversation.h -> setReadMessage ,否则未读消息会一直存在 Server,IM SDK 每次登录或则断网重连都会再次同步到未读消息,详情请参考官方文档 [自动已读上报](https://cloud.tencent.com/document/product/269/9151)。 | ||
1050 | +@property(nonatomic,assign) BOOL disableAutoReport; | ||
1051 | + | ||
1052 | +///已读回执是自己发出去的消息,对方设置为已读后,自己能收到已读的回调,只针对单聊(C2C)会话生效,默认是关闭的,如果需要开启,请设置 enableReadReceipt 为 YES,收到消息的用户需要显式调用 TIMConversation.h -> setReadMessage,发消息的用户才能通过 TIMMessageReceiptListener 监听到消息的已读回执。 | ||
1053 | +@property(nonatomic,assign) BOOL enableReadReceipt; | ||
1054 | + | ||
1055 | +///设置默认拉取的群组资料,如果想要拉取自定义字段,要通过 [IM 控制台](https://console.cloud.tencent.com/avc) -> 功能配置 -> 群维度自定义字段配置对应的 "自定义字段" 和用户操作权限,控制台配置之后 5 分钟后才会生效。 | ||
1056 | +@property(nonatomic,strong) TIMGroupInfoOption * groupInfoOpt; | ||
1057 | + | ||
1058 | +///设置默认拉取的群成员资料,如果想要拉取自定义字段,要通过 [IM 控制台](https://console.cloud.tencent.com/avc) -> 功能配置 -> 群成员维度自定义字段配置对应的 "自定义字段" 和用户操作权限,控制台配置之后 5 分钟后才会生效。 | ||
1059 | +@property(nonatomic,strong) TIMGroupMemberInfoOption * groupMemberInfoOpt; | ||
1060 | + | ||
1061 | +///关系链参数 | ||
1062 | +@property(nonatomic,strong) TIMFriendProfileOption * friendProfileOpt; | ||
1063 | + | ||
1064 | +///用户登录状态监听器,用于监听用户被踢,断网重连失败,userSig 过期的通知 | ||
1065 | +@property(nonatomic,weak) id<TIMUserStatusListener> userStatusListener; | ||
1066 | + | ||
1067 | +///会话刷新监听器,用于监听会话的刷新 | ||
1068 | +@property(nonatomic,weak) id<TIMRefreshListener> refreshListener; | ||
1069 | + | ||
1070 | +///消息已读回执监听器,用于监听消息已读回执,enableReadReceipt 字段需要设置为 YES | ||
1071 | +@property(nonatomic,weak) id<TIMMessageReceiptListener> messageReceiptListener; | ||
1072 | + | ||
1073 | +///消息修改监听器,用于监听消息状态的变化 | ||
1074 | +@property(nonatomic,weak) id<TIMMessageUpdateListener> messageUpdateListener; | ||
1075 | + | ||
1076 | +///消息撤回监听器,用于监听会话中的消息撤回通知 | ||
1077 | +@property(nonatomic,weak) id<TIMMessageRevokeListener> messageRevokeListener; | ||
1078 | + | ||
1079 | +///文件上传进度监听器,发送语音,图片,视频,文件消息的时候需要先上传对应文件到服务器,这里可以监听上传进度 | ||
1080 | +@property(nonatomic,weak) id<TIMUploadProgressListener> uploadProgressListener; | ||
1081 | + | ||
1082 | +///群组事件通知监听器 | ||
1083 | +@property(nonatomic,weak) id<TIMGroupEventListener> groupEventListener; | ||
1084 | + | ||
1085 | +///关系链数据本地缓存监听器 | ||
1086 | +@property(nonatomic,weak) id<TIMFriendshipListener> friendshipListener; | ||
1087 | + | ||
1088 | +@end | ||
1089 | + | ||
1090 | +/// 登录参数 | ||
1091 | +@interface TIMLoginParam : NSObject | ||
1092 | + | ||
1093 | +///用户名 | ||
1094 | +@property(nonatomic,strong) NSString* identifier; | ||
1095 | + | ||
1096 | +///鉴权 Token | ||
1097 | +@property(nonatomic,strong) NSString* userSig; | ||
1098 | + | ||
1099 | +///App 用户使用 OAuth 授权体系分配的 Appid | ||
1100 | +@property(nonatomic,strong) NSString* appidAt3rd; | ||
1101 | + | ||
1102 | + | ||
1103 | +@end | ||
1104 | + | ||
1105 | +/// APNs 配置 | ||
1106 | +@interface TIMAPNSConfig : NSObject | ||
1107 | + | ||
1108 | +///是否开启推送:0-不进行设置 1-开启推送 2-关闭推送 | ||
1109 | +@property(nonatomic,assign) uint32_t openPush; | ||
1110 | + | ||
1111 | +///C2C 消息声音,不设置传入 nil | ||
1112 | +@property(nonatomic,strong) NSString * c2cSound; | ||
1113 | + | ||
1114 | +///Group 消息声音,不设置传入 nil | ||
1115 | +@property(nonatomic,strong) NSString * groupSound; | ||
1116 | + | ||
1117 | +///Video 音视频邀请声音,不设置传入 nil (暂不支持) | ||
1118 | +@property(nonatomic,strong) NSString * videoSound; | ||
1119 | + | ||
1120 | +@end | ||
1121 | + | ||
1122 | +/// SetToken 参数 | ||
1123 | +@interface TIMTokenParam : NSObject | ||
1124 | + | ||
1125 | +///token 是苹果后台对客户端的唯一标识,需要主动调用系统 API 向苹果请求获取 | ||
1126 | +@property(nonatomic,strong) NSData* token; | ||
1127 | + | ||
1128 | +///业务 ID,传递证书时分配 | ||
1129 | +@property(nonatomic,assign) uint32_t busiId; | ||
1130 | + | ||
1131 | +@end | ||
1132 | + | ||
1133 | +/// 切后台参数 | ||
1134 | +@interface TIMBackgroundParam : NSObject | ||
1135 | + | ||
1136 | +///C2C 未读计数 | ||
1137 | +@property(nonatomic,assign) int c2cUnread; | ||
1138 | + | ||
1139 | +///群未读计数 | ||
1140 | +@property(nonatomic,assign) int groupUnread; | ||
1141 | + | ||
1142 | +@end | ||
1143 | + | ||
1144 | +/// 消息定位 | ||
1145 | +@interface TIMMessageLocator : NSObject | ||
1146 | + | ||
1147 | +///所属会话的 id | ||
1148 | +@property(nonatomic,strong) NSString * sessId; | ||
1149 | + | ||
1150 | +///所属会话的类型 | ||
1151 | +@property(nonatomic,assign) TIMConversationType sessType; | ||
1152 | + | ||
1153 | +///消息序列号 | ||
1154 | +@property(nonatomic,assign) uint64_t seq; | ||
1155 | + | ||
1156 | +///消息随机码 | ||
1157 | +@property(nonatomic,assign) uint64_t rand; | ||
1158 | + | ||
1159 | +///消息时间戳 | ||
1160 | +@property(nonatomic,assign) time_t time; | ||
1161 | + | ||
1162 | +///是否本人消息 | ||
1163 | +@property(nonatomic,assign) BOOL isSelf; | ||
1164 | + | ||
1165 | +///是否来自撤销通知 | ||
1166 | +@property(nonatomic,assign) BOOL isFromRevokeNotify; | ||
1167 | + | ||
1168 | +@end | ||
1169 | + | ||
1170 | +/// 已读回执 | ||
1171 | +@interface TIMMessageReceipt : NSObject | ||
1172 | + | ||
1173 | +///已读回执对应的会话(目前只支持 C2C 会话) | ||
1174 | +@property(nonatomic,strong) TIMConversation * conversation; | ||
1175 | + | ||
1176 | +///收到已读回执时,这个时间戳之前的消息都已读 | ||
1177 | +@property(nonatomic,assign) time_t timestamp; | ||
1178 | +@end | ||
1179 | + | ||
1180 | +/// Android 离线推送配置 | ||
1181 | +@interface TIMAndroidOfflinePushConfig : NSObject | ||
1182 | + | ||
1183 | +///离线 Push 展示标题 | ||
1184 | +@property(nonatomic,strong) NSString * title; | ||
1185 | + | ||
1186 | +///离线 Push 展示自定义文本 | ||
1187 | +@property(nonatomic,strong) NSString * desc; | ||
1188 | + | ||
1189 | +///离线 Push 时声音字段信息 | ||
1190 | +@property(nonatomic,strong) NSString * sound; | ||
1191 | + | ||
1192 | +///为了保证在 Android 8.0 系统以上的 OPPO 手机上能收到离线推送消息,需要 app 在该手机上创建 channelID,并且设置该参数。 | ||
1193 | +@property(nonatomic,strong) NSString * OPPOChannelID; | ||
1194 | + | ||
1195 | +///离线 Push 通知形式 | ||
1196 | +@property(nonatomic,assign) TIMAndroidOfflinePushNotifyMode notifyMode; | ||
1197 | + | ||
1198 | +@end | ||
1199 | + | ||
1200 | +/// iOS 离线推送配置 | ||
1201 | +@interface TIMIOSOfflinePushConfig : NSObject | ||
1202 | + | ||
1203 | +///离线 Push 展示标题 | ||
1204 | +@property(nonatomic,strong) NSString * title; | ||
1205 | + | ||
1206 | +///离线 Push 展示自定义文本 | ||
1207 | +@property(nonatomic,strong) NSString * desc; | ||
1208 | + | ||
1209 | +///离线 Push 时声音字段信息 | ||
1210 | +@property(nonatomic,strong) NSString * sound; | ||
1211 | + | ||
1212 | +///忽略 badge 计数,如果设置为 YES,在 iOS 接收端,这条消息不会使 APP 的应用图标未读计数增加 | ||
1213 | +@property(nonatomic,assign) BOOL ignoreBadge; | ||
1214 | + | ||
1215 | +@end | ||
1216 | + | ||
1217 | +/// 填入 sound 字段表示接收时不会播放声音 | ||
1218 | +extern NSString * const kIOSOfflinePushNoSound; | ||
1219 | + | ||
1220 | +/// 自定义消息 push | ||
1221 | +@interface TIMOfflinePushInfo : NSObject | ||
1222 | + | ||
1223 | +///离线 Push 展示标题,针对 iOS 和 Android 平台都生效,如果您需要分平台单独设置,请设置 iosConfig -> title 和 androidConfig -> title | ||
1224 | +@property(nonatomic,strong) NSString * title; | ||
1225 | + | ||
1226 | +///离线 Push 展示自定义文本,针对 iOS 和 Android 平台都生效,如果您需要分平台单独设置,请设置 iosConfig -> desc 和 androidConfig -> desc | ||
1227 | +@property(nonatomic,strong) NSString * desc; | ||
1228 | + | ||
1229 | +///离线 Push 时扩展字段信息 | ||
1230 | +@property(nonatomic,strong) NSString * ext; | ||
1231 | + | ||
1232 | +///推送规则标志 | ||
1233 | +@property(nonatomic,assign) TIMOfflinePushFlag pushFlag; | ||
1234 | + | ||
1235 | +///iOS离线推送配置 | ||
1236 | +@property(nonatomic,strong) TIMIOSOfflinePushConfig * iosConfig; | ||
1237 | + | ||
1238 | +///Android离线推送配置 | ||
1239 | +@property(nonatomic,strong) TIMAndroidOfflinePushConfig * androidConfig; | ||
1240 | +@end | ||
1241 | + | ||
1242 | +/// 群组内的本人信息 | ||
1243 | +@interface TIMGroupSelfInfo : NSObject | ||
1244 | + | ||
1245 | +///加入群组时间 | ||
1246 | +@property(nonatomic,assign) uint32_t joinTime; | ||
1247 | + | ||
1248 | +///群组中的角色 | ||
1249 | +@property(nonatomic,assign) TIMGroupMemberRole role; | ||
1250 | + | ||
1251 | +///群组消息接收选项 | ||
1252 | +@property(nonatomic,assign) TIMGroupReceiveMessageOpt recvOpt; | ||
1253 | + | ||
1254 | +///群组中的未读消息数 | ||
1255 | +@property(nonatomic,assign) uint32_t unReadMessageNum; | ||
1256 | + | ||
1257 | +@end | ||
1258 | + | ||
1259 | +/// 群资料信息 | ||
1260 | +@interface TIMGroupInfo : TIMCodingModel | ||
1261 | + | ||
1262 | +///群组 Id | ||
1263 | +@property(nonatomic,strong) NSString* group; | ||
1264 | + | ||
1265 | +///群名 | ||
1266 | +@property(nonatomic,strong) NSString* groupName; | ||
1267 | + | ||
1268 | +///群创建人/管理员 | ||
1269 | +@property(nonatomic,strong) NSString * owner; | ||
1270 | + | ||
1271 | +///群类型:Private,Public,ChatRoom | ||
1272 | +@property(nonatomic,strong) NSString* groupType; | ||
1273 | + | ||
1274 | +///群创建时间 | ||
1275 | +@property(nonatomic,assign) uint32_t createTime; | ||
1276 | + | ||
1277 | +///最近一次群资料修改时间 | ||
1278 | +@property(nonatomic,assign) uint32_t lastInfoTime; | ||
1279 | + | ||
1280 | +///最近一次发消息时间 | ||
1281 | +@property(nonatomic,assign) uint32_t lastMsgTime; | ||
1282 | + | ||
1283 | +///最大成员数 | ||
1284 | +@property(nonatomic,assign) uint32_t maxMemberNum; | ||
1285 | + | ||
1286 | +///群成员数量 | ||
1287 | +@property(nonatomic,assign) uint32_t memberNum; | ||
1288 | + | ||
1289 | +///入群类型 | ||
1290 | +@property(nonatomic,assign) TIMGroupAddOpt addOpt; | ||
1291 | + | ||
1292 | +///群公告 | ||
1293 | +@property(nonatomic,strong) NSString* notification; | ||
1294 | + | ||
1295 | +///群简介 | ||
1296 | +@property(nonatomic,strong) NSString* introduction; | ||
1297 | + | ||
1298 | +///群头像 | ||
1299 | +@property(nonatomic,strong) NSString* faceURL; | ||
1300 | + | ||
1301 | +///最后一条消息 | ||
1302 | +@property(nonatomic,strong) TIMMessage* lastMsg; | ||
1303 | + | ||
1304 | +///在线成员数量 | ||
1305 | +@property(nonatomic,assign) uint32_t onlineMemberNum; | ||
1306 | + | ||
1307 | +///群组是否被搜索类型 | ||
1308 | +@property(nonatomic,assign) TIMGroupSearchableType isSearchable; | ||
1309 | + | ||
1310 | +///群组成员可见类型 | ||
1311 | +@property(nonatomic,assign) TIMGroupMemberVisibleType isMemberVisible; | ||
1312 | + | ||
1313 | +///是否全员禁言 | ||
1314 | +@property(nonatomic,assign) BOOL allShutup; | ||
1315 | + | ||
1316 | +///群组中的本人信息 | ||
1317 | +@property(nonatomic,strong) TIMGroupSelfInfo* selfInfo; | ||
1318 | + | ||
1319 | +///自定义字段集合,key 是 NSString* 类型,value 是 NSData* 类型 | ||
1320 | +@property(nonatomic,strong) NSDictionary<NSString *,NSData *>* customInfo; | ||
1321 | + | ||
1322 | +@end | ||
1323 | + | ||
1324 | +@interface TIMModifyGroupInfo : TIMCodingModel | ||
1325 | +///群组 ID | ||
1326 | +@property(nonatomic,strong) NSString *groupID; | ||
1327 | + | ||
1328 | +///群名称 | ||
1329 | +@property(nonatomic,strong) NSString *groupName; | ||
1330 | + | ||
1331 | +///群公告 | ||
1332 | +@property(nonatomic,strong) NSString *notification; | ||
1333 | + | ||
1334 | +///群简介 | ||
1335 | +@property(nonatomic,strong) NSString *introduction; | ||
1336 | + | ||
1337 | +///群头像 | ||
1338 | +@property(nonatomic,strong) NSString *faceUrl; | ||
1339 | + | ||
1340 | +///入群类型 | ||
1341 | +@property(nonatomic,assign) TIMGroupAddOpt addOption; | ||
1342 | + | ||
1343 | +///最大成员数 | ||
1344 | +@property(nonatomic,assign) uint32_t maxMemberNum; | ||
1345 | + | ||
1346 | +///群组成员可见类型 | ||
1347 | +@property(nonatomic,assign) TIMGroupMemberVisibleType isMemberVisible; | ||
1348 | + | ||
1349 | +///群组是否被搜索类型 | ||
1350 | +@property(nonatomic,assign) TIMGroupSearchableType isSearchable; | ||
1351 | + | ||
1352 | +///是否全员禁言 | ||
1353 | +@property(nonatomic,assign) BOOL allShutup; | ||
1354 | + | ||
1355 | +///群自定义字段集合 | ||
1356 | +@property(nonatomic,strong) NSDictionary<NSString *,NSData *> *customInfo; | ||
1357 | + | ||
1358 | +@end | ||
1359 | + | ||
1360 | +/// 获取群组信息结果 | ||
1361 | +@interface TIMGroupInfoResult : TIMGroupInfo | ||
1362 | + | ||
1363 | +/// 结果 0:成功;非0:失败 | ||
1364 | +@property(nonatomic,assign) int resultCode; | ||
1365 | + | ||
1366 | +/// 结果信息 | ||
1367 | +@property(nonatomic,strong) NSString *resultInfo; | ||
1368 | +@end | ||
1369 | + | ||
1370 | +/// 事件上报信息 | ||
1371 | +@interface TIMEventReportItem : NSObject | ||
1372 | + | ||
1373 | +///事件 id | ||
1374 | +@property(nonatomic,assign) uint32_t event; | ||
1375 | + | ||
1376 | +///错误码 | ||
1377 | +@property(nonatomic,assign) uint32_t code; | ||
1378 | + | ||
1379 | +///错误描述 | ||
1380 | +@property(nonatomic,strong) NSString * desc; | ||
1381 | + | ||
1382 | +///事件延迟(单位 ms) | ||
1383 | +@property(nonatomic,assign) uint32_t delay; | ||
1384 | + | ||
1385 | +@end | ||
1386 | + | ||
1387 | +/// 获取某个群组资料 | ||
1388 | +@interface TIMGroupInfoOption : NSObject | ||
1389 | + | ||
1390 | +///需要获取的群组信息标志(TIMGetGroupBaseInfoFlag),默认为0xffffff | ||
1391 | +@property(nonatomic,assign) uint64_t groupFlags; | ||
1392 | + | ||
1393 | +///需要获取群组资料的自定义信息(NSString*)列表 (接口已废弃,控制台配置群组自定义字段后,SDK 会根据权限自动拉取) | ||
1394 | +@property(nonatomic,strong) NSArray * groupCustom DEPRECATED_ATTRIBUTE; | ||
1395 | + | ||
1396 | +@end | ||
1397 | + | ||
1398 | +/// 需要某个群成员资料 | ||
1399 | +@interface TIMGroupMemberInfoOption : NSObject | ||
1400 | + | ||
1401 | +///需要获取的群成员标志(TIMGetGroupMemInfoFlag),默认为0xffffff | ||
1402 | +@property(nonatomic,assign) uint64_t memberFlags ; | ||
1403 | + | ||
1404 | +///需要获取群成员资料的自定义信息(NSString*)列表 (接口已废弃,控制台配置群成员自定义字段后,SDK 会根据权限自动拉取) | ||
1405 | +@property(nonatomic,strong) NSArray * memberCustom DEPRECATED_ATTRIBUTE; | ||
1406 | + | ||
1407 | +@end | ||
1408 | + | ||
1409 | +/// 群成员资料 | ||
1410 | +@interface TIMGroupMemberInfo : TIMCodingModel | ||
1411 | + | ||
1412 | +///成员 | ||
1413 | +@property(nonatomic,strong) NSString* member; | ||
1414 | + | ||
1415 | +///群名片 | ||
1416 | +@property(nonatomic,strong) NSString* nameCard; | ||
1417 | + | ||
1418 | +///加入群组时间 | ||
1419 | +@property(nonatomic,assign) time_t joinTime; | ||
1420 | + | ||
1421 | +///成员类型 | ||
1422 | +@property(nonatomic,assign) TIMGroupMemberRole role; | ||
1423 | + | ||
1424 | +///禁言结束时间(时间戳) | ||
1425 | +@property(nonatomic,assign) uint32_t silentUntil; | ||
1426 | + | ||
1427 | +///自定义字段集合,key 是 NSString*类型,value 是 NSData*类型 | ||
1428 | +@property(nonatomic,strong) NSDictionary* customInfo; | ||
1429 | + | ||
1430 | +///如果是自己,可以获取自己的群接收选项 | ||
1431 | +@property(nonatomic,assign) TIMGroupReceiveMessageOpt receiveMessageOpt; | ||
1432 | + | ||
1433 | +@end | ||
1434 | + | ||
1435 | +/// 修改群成员资料 | ||
1436 | +@interface TIMModifyMemberInfo : TIMCodingModel | ||
1437 | +///需要修改群成员资料的 ID | ||
1438 | +@property(nonatomic,strong) NSString* memberID; | ||
1439 | + | ||
1440 | +///群接收选项,只有本人可以设置 | ||
1441 | +@property(nonatomic,assign) TIMGroupReceiveMessageOpt receiveMessageOpt; | ||
1442 | + | ||
1443 | +///群名片,只有本人、群主、管理员可以设置 | ||
1444 | +@property(nonatomic,strong) NSString* nameCard; | ||
1445 | + | ||
1446 | +///群成员自定义字段,只有本人、群主、管理员可以设置 | ||
1447 | +@property(nonatomic,strong) NSDictionary* customInfo; | ||
1448 | + | ||
1449 | +///群成员角色,只有群主、管理员可以设置,直播大群不支持设置 | ||
1450 | +@property(nonatomic,assign) TIMGroupMemberRole role; | ||
1451 | + | ||
1452 | +///群成员禁言时间(s),只有群主、管理员可以设置 | ||
1453 | +@property(nonatomic,assign) uint32_t silence; | ||
1454 | + | ||
1455 | +@end | ||
1456 | + | ||
1457 | +///资料与关系链 | ||
1458 | +@interface TIMFriendProfileOption : NSObject | ||
1459 | + | ||
1460 | +///关系链最大缓存时间(默认缓存一天;获取资料和关系链超过缓存时间,将自动向服务器发起请求) | ||
1461 | +@property NSInteger expiredSeconds; | ||
1462 | + | ||
1463 | +@end | ||
1464 | + | ||
1465 | +///用户资料 | ||
1466 | +@interface TIMUserProfile : TIMCodingModel | ||
1467 | + | ||
1468 | +/** | ||
1469 | + * 用户 identifier | ||
1470 | + */ | ||
1471 | +@property(nonatomic,strong) NSString* identifier; | ||
1472 | + | ||
1473 | +/** | ||
1474 | + * 用户昵称 | ||
1475 | + */ | ||
1476 | +@property(nonatomic,strong) NSString* nickname; | ||
1477 | + | ||
1478 | +/** | ||
1479 | + * 好友验证方式 | ||
1480 | + */ | ||
1481 | +@property(nonatomic,assign) TIMFriendAllowType allowType; | ||
1482 | + | ||
1483 | +/** | ||
1484 | + * 用户头像 | ||
1485 | + */ | ||
1486 | +@property(nonatomic,strong) NSString* faceURL; | ||
1487 | + | ||
1488 | +/** | ||
1489 | + * 用户签名 | ||
1490 | + */ | ||
1491 | +@property(nonatomic,strong) NSData* selfSignature; | ||
1492 | + | ||
1493 | +/** | ||
1494 | + * 用户性别 | ||
1495 | + */ | ||
1496 | +@property(nonatomic,assign) TIMGender gender; | ||
1497 | + | ||
1498 | +/** | ||
1499 | + * 用户生日 | ||
1500 | + */ | ||
1501 | +@property(nonatomic,assign) uint32_t birthday; | ||
1502 | + | ||
1503 | +/** | ||
1504 | + * 用户区域 | ||
1505 | + */ | ||
1506 | +@property(nonatomic,strong) NSData* location; | ||
1507 | + | ||
1508 | +/** | ||
1509 | + * 用户语言 | ||
1510 | + */ | ||
1511 | +@property(nonatomic,assign) uint32_t language; | ||
1512 | + | ||
1513 | +/** | ||
1514 | + * 等级 | ||
1515 | + */ | ||
1516 | +@property(nonatomic,assign) uint32_t level; | ||
1517 | + | ||
1518 | +/** | ||
1519 | + * 角色 | ||
1520 | + */ | ||
1521 | +@property(nonatomic,assign) uint32_t role; | ||
1522 | + | ||
1523 | +/** | ||
1524 | + * 自定义字段集合,key是NSString类型,value是NSData类型或者NSNumber类型 | ||
1525 | + * key值按照后台配置的字符串传入,不包括 TIMProfileTypeKey_Custom_Prefix 前缀 | ||
1526 | + */ | ||
1527 | +@property(nonatomic,strong) NSDictionary* customInfo; | ||
1528 | + | ||
1529 | +@end | ||
1530 | + | ||
1531 | +typedef void(^ProfileCallBack) (TIMUserProfile * profile); | ||
1532 | + | ||
1533 | +/** | ||
1534 | + * 好友 | ||
1535 | + */ | ||
1536 | +@interface TIMFriend : TIMCodingModel | ||
1537 | + | ||
1538 | +/** | ||
1539 | + * 好友identifier | ||
1540 | + */ | ||
1541 | +@property(nonatomic,strong) NSString *identifier; | ||
1542 | + | ||
1543 | +/** | ||
1544 | + * 好友备注(最大96字节,获取自己资料时,该字段为空) | ||
1545 | + */ | ||
1546 | +@property(nonatomic,strong) NSString *remark; | ||
1547 | + | ||
1548 | +/** | ||
1549 | + * 分组名称 NSString* 列表 | ||
1550 | + */ | ||
1551 | +@property(nonatomic,strong) NSArray *groups; | ||
1552 | + | ||
1553 | +/** | ||
1554 | + * 申请时的添加理由 | ||
1555 | + */ | ||
1556 | +@property(nonatomic,strong) NSString *addWording; | ||
1557 | + | ||
1558 | +/** | ||
1559 | + * 申请时的添加来源 | ||
1560 | + */ | ||
1561 | +@property(nonatomic,strong) NSString *addSource; | ||
1562 | + | ||
1563 | +/** | ||
1564 | + * 添加时间 | ||
1565 | + */ | ||
1566 | +@property(nonatomic,assign) uint64_t addTime; | ||
1567 | + | ||
1568 | +/** | ||
1569 | + * 自定义字段集合,key是NSString类型,value是NSData类型或者NSNumber类型 | ||
1570 | + * key值按照后台配置的字符串传入,不包括 TIMFriendTypeKey_Custom_Prefix 前缀 | ||
1571 | + */ | ||
1572 | +@property(nonatomic,strong) NSDictionary* customInfo; | ||
1573 | + | ||
1574 | +/** | ||
1575 | + * 好友资料 | ||
1576 | + */ | ||
1577 | +@property(nonatomic,strong) TIMUserProfile *profile; | ||
1578 | + | ||
1579 | +@end | ||
1580 | + | ||
1581 | +/** | ||
1582 | + * 创建群参数 | ||
1583 | + */ | ||
1584 | +@interface TIMCreateGroupInfo : TIMCodingModel | ||
1585 | + | ||
1586 | +/** | ||
1587 | + * 群组Id,nil则使用系统默认Id | ||
1588 | + */ | ||
1589 | +@property(nonatomic,strong) NSString* group; | ||
1590 | + | ||
1591 | +/** | ||
1592 | + * 群名 | ||
1593 | + */ | ||
1594 | +@property(nonatomic,strong) NSString* groupName; | ||
1595 | + | ||
1596 | +/** | ||
1597 | + * 群类型:Private,Public,ChatRoom,AVChatRoom,BChatRoom | ||
1598 | + */ | ||
1599 | +@property(nonatomic,strong) NSString* groupType; | ||
1600 | + | ||
1601 | +/** | ||
1602 | + * 是否设置入群选项,Private类型群组请设置为false | ||
1603 | + */ | ||
1604 | +@property(nonatomic,assign) BOOL setAddOpt; | ||
1605 | + | ||
1606 | +/** | ||
1607 | + * 入群选项 | ||
1608 | + */ | ||
1609 | +@property(nonatomic,assign) TIMGroupAddOpt addOpt; | ||
1610 | + | ||
1611 | +/** | ||
1612 | + * 最大成员数,填0则系统使用默认值 | ||
1613 | + */ | ||
1614 | +@property(nonatomic,assign) uint32_t maxMemberNum; | ||
1615 | + | ||
1616 | +/** | ||
1617 | + * 群公告 | ||
1618 | + */ | ||
1619 | +@property(nonatomic,strong) NSString* notification; | ||
1620 | + | ||
1621 | +/** | ||
1622 | + * 群简介 | ||
1623 | + */ | ||
1624 | +@property(nonatomic,strong) NSString* introduction; | ||
1625 | + | ||
1626 | +/** | ||
1627 | + * 群头像 | ||
1628 | + */ | ||
1629 | +@property(nonatomic,strong) NSString* faceURL; | ||
1630 | + | ||
1631 | +/** | ||
1632 | + * 自定义字段集合,key是NSString*类型,value是NSData*类型 | ||
1633 | + */ | ||
1634 | +@property(nonatomic,strong) NSDictionary* customInfo; | ||
1635 | + | ||
1636 | +/** | ||
1637 | + * 创建成员(TIMCreateGroupMemberInfo*)列表 | ||
1638 | + */ | ||
1639 | +@property(nonatomic,strong) NSArray <TIMCreateGroupMemberInfo *>* membersInfo; | ||
1640 | + | ||
1641 | +@end | ||
1642 | + | ||
1643 | +/** | ||
1644 | + * 未决请求选项 | ||
1645 | + */ | ||
1646 | +@interface TIMGroupPendencyOption : TIMCodingModel | ||
1647 | + | ||
1648 | +/** | ||
1649 | + * 拉取的起始时间 0:拉取最新的 | ||
1650 | + */ | ||
1651 | +@property(nonatomic,assign) uint64_t timestamp; | ||
1652 | + | ||
1653 | +/** | ||
1654 | + * 每页的数量,最大值为 10,设置超过 10,也最多只能拉回 10 条未决 | ||
1655 | + */ | ||
1656 | +@property(nonatomic,assign) uint32_t numPerPage; | ||
1657 | +@end | ||
1658 | + | ||
1659 | +/** | ||
1660 | + * 未决请求元信息 | ||
1661 | + */ | ||
1662 | +@interface TIMGroupPendencyMeta : TIMCodingModel | ||
1663 | + | ||
1664 | +/** | ||
1665 | + * 下一次拉取的起始时间戳 | ||
1666 | + */ | ||
1667 | +@property(nonatomic,assign) uint64_t nextStartTime; | ||
1668 | + | ||
1669 | +/** | ||
1670 | + * 已读时间戳大小 | ||
1671 | + */ | ||
1672 | +@property(nonatomic,assign) uint64_t readTimeSeq; | ||
1673 | + | ||
1674 | +/** | ||
1675 | + * 未决未读数 | ||
1676 | + */ | ||
1677 | +@property(nonatomic,assign) uint32_t unReadCnt; | ||
1678 | + | ||
1679 | +@end | ||
1680 | + | ||
1681 | +/** | ||
1682 | + * 创建群组时的成员信息 | ||
1683 | + */ | ||
1684 | +@interface TIMCreateGroupMemberInfo : TIMCodingModel | ||
1685 | + | ||
1686 | +/** | ||
1687 | + * 被操作成员 | ||
1688 | + */ | ||
1689 | +@property(nonatomic,strong) NSString* member; | ||
1690 | + | ||
1691 | +/** | ||
1692 | + * 成员类型 | ||
1693 | + */ | ||
1694 | +@property(nonatomic,assign) TIMGroupMemberRole role; | ||
1695 | + | ||
1696 | +/** | ||
1697 | + * 自定义字段集合,key是NSString*类型,value是NSData*类型 | ||
1698 | + */ | ||
1699 | +@property(nonatomic,strong) NSDictionary* customInfo; | ||
1700 | + | ||
1701 | +@end | ||
1702 | + | ||
1703 | +/** | ||
1704 | + * 成员操作返回值 | ||
1705 | + */ | ||
1706 | +@interface TIMGroupMemberResult : NSObject | ||
1707 | + | ||
1708 | +/** | ||
1709 | + * 被操作成员 | ||
1710 | + */ | ||
1711 | +@property(nonatomic,strong) NSString* member; | ||
1712 | +/** | ||
1713 | + * 返回状态 | ||
1714 | + */ | ||
1715 | +@property(nonatomic,assign) TIMGroupMemberStatus status; | ||
1716 | + | ||
1717 | +@end | ||
1718 | + | ||
1719 | +/** | ||
1720 | + * 未决申请 | ||
1721 | + */ | ||
1722 | +@interface TIMGroupPendencyItem : TIMCodingModel | ||
1723 | + | ||
1724 | +/** | ||
1725 | + * 相关群组id | ||
1726 | + */ | ||
1727 | +@property(nonatomic,strong) NSString* groupId; | ||
1728 | + | ||
1729 | +/** | ||
1730 | + * 请求者id,请求加群:请求者,邀请加群:邀请人 | ||
1731 | + */ | ||
1732 | +@property(nonatomic,strong) NSString* fromUser; | ||
1733 | + | ||
1734 | +/** | ||
1735 | + * 判决者id,请求加群:0,邀请加群:被邀请人 | ||
1736 | + */ | ||
1737 | +@property(nonatomic,strong) NSString* toUser; | ||
1738 | + | ||
1739 | +/** | ||
1740 | + * 未决添加时间 | ||
1741 | + */ | ||
1742 | +@property(nonatomic,assign) uint64_t addTime; | ||
1743 | + | ||
1744 | +/** | ||
1745 | + * 未决请求类型 | ||
1746 | + */ | ||
1747 | +@property(nonatomic,assign) TIMGroupPendencyGetType getType; | ||
1748 | + | ||
1749 | +/** | ||
1750 | + * 已决标志 | ||
1751 | + */ | ||
1752 | +@property(nonatomic,assign) TIMGroupPendencyHandleStatus handleStatus; | ||
1753 | + | ||
1754 | +/** | ||
1755 | + * 已决结果 | ||
1756 | + */ | ||
1757 | +@property(nonatomic,assign) TIMGroupPendencyHandleResult handleResult; | ||
1758 | + | ||
1759 | +/** | ||
1760 | + * 申请或邀请附加信息 | ||
1761 | + */ | ||
1762 | +@property(nonatomic,strong) NSString* requestMsg; | ||
1763 | + | ||
1764 | +/** | ||
1765 | + * 审批信息:同意或拒绝信息 | ||
1766 | + */ | ||
1767 | +@property(nonatomic,strong) NSString* handledMsg; | ||
1768 | + | ||
1769 | + | ||
1770 | +/** | ||
1771 | + * 同意申请 | ||
1772 | + * | ||
1773 | + * @param msg 同意理由,选填 | ||
1774 | + * @param succ 成功回调 | ||
1775 | + * @param fail 失败回调,返回错误码和错误描述 | ||
1776 | + */ | ||
1777 | +-(void) accept:(NSString*)msg succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
1778 | + | ||
1779 | +/** | ||
1780 | + * 拒绝申请 | ||
1781 | + * | ||
1782 | + * @param msg 拒绝理由,选填 | ||
1783 | + * @param succ 成功回调 | ||
1784 | + * @param fail 失败回调,返回错误码和错误描述 | ||
1785 | + */ | ||
1786 | +-(void) refuse:(NSString*)msg succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
1787 | + | ||
1788 | + | ||
1789 | +/** | ||
1790 | + * 用户自己的id | ||
1791 | + */ | ||
1792 | +@property(nonatomic,strong) NSString* selfIdentifier; | ||
1793 | + | ||
1794 | +@end | ||
1795 | + | ||
1796 | +/** | ||
1797 | + * 关系链变更详细信息 | ||
1798 | + */ | ||
1799 | +@interface TIMSNSChangeInfo : NSObject | ||
1800 | + | ||
1801 | +/** | ||
1802 | + * 用户 identifier | ||
1803 | + */ | ||
1804 | +@property(nonatomic,strong) NSString * identifier; | ||
1805 | + | ||
1806 | +/** | ||
1807 | + * 用户昵称 | ||
1808 | + */ | ||
1809 | +@property(nonatomic,strong) NSString * nickname; | ||
1810 | + | ||
1811 | +/** | ||
1812 | + * 申请添加时有效,添加理由 | ||
1813 | + */ | ||
1814 | +@property(nonatomic,strong) NSString * wording; | ||
1815 | + | ||
1816 | +/** | ||
1817 | + * 申请时填写,添加来源 | ||
1818 | + */ | ||
1819 | +@property(nonatomic,strong) NSString * source; | ||
1820 | + | ||
1821 | + | ||
1822 | +/** | ||
1823 | + * 备注 type=TIM_SNS_SYSTEM_SNS_PROFILE_CHANGE 有效 | ||
1824 | + */ | ||
1825 | +@property(nonatomic,strong) NSString * remark; | ||
1826 | + | ||
1827 | +@end | ||
1828 | + | ||
1829 | +/** | ||
1830 | + * 发送消息给多用户的失败回调信息 | ||
1831 | + */ | ||
1832 | +@interface TIMSendToUsersDetailInfo : NSObject | ||
1833 | +/** | ||
1834 | + * 发送消息成功的目标用户数 | ||
1835 | + */ | ||
1836 | +@property(nonatomic,assign) uint32_t succCnt; | ||
1837 | +/** | ||
1838 | + * 发送消息失败的目标用户数 | ||
1839 | + */ | ||
1840 | +@property(nonatomic,assign) uint32_t failCnt; | ||
1841 | +/** | ||
1842 | + * 失败信息(TIMSendToUsersErrInfo*)列表 | ||
1843 | + */ | ||
1844 | +@property(nonatomic,strong) NSArray *errInofs; | ||
1845 | +@end | ||
1846 | + | ||
1847 | +/** | ||
1848 | + * 发送消息给多用户的失败信息 | ||
1849 | + */ | ||
1850 | +@interface TIMSendToUsersErrInfo : NSObject | ||
1851 | +/** | ||
1852 | + * 发送消息失败的目标用户id | ||
1853 | + */ | ||
1854 | +@property(nonatomic,strong) NSString *identifier; | ||
1855 | +/** | ||
1856 | + * 错误码 | ||
1857 | + */ | ||
1858 | +@property(nonatomic,assign) int code; | ||
1859 | +/** | ||
1860 | + * 错误描述 | ||
1861 | + */ | ||
1862 | +@property(nonatomic,strong) NSString *err; | ||
1863 | +@end | ||
1864 | +#endif |
1 | +///////////////////////////////////////////////////////////////////// | ||
2 | +// | ||
3 | +// 腾讯云通信服务 IMSDK | ||
4 | +// | ||
5 | +// 模块名称:TIMConversation + MsgExt | ||
6 | +// | ||
7 | +// 模块功能:此处主要存放待废弃的 API 函数,建议您使用 TIMConversation.h 内部声明的接口函数 | ||
8 | +// | ||
9 | +///////////////////////////////////////////////////////////////////// | ||
10 | + | ||
11 | +#ifndef TIMConversation_h | ||
12 | +#define TIMConversation_h | ||
13 | +#import "TIMConversation.h" | ||
14 | + | ||
15 | + | ||
16 | +@interface TIMConversation (MsgExt) | ||
17 | + | ||
18 | +/** | ||
19 | + * 向前获取会话漫游消息 | ||
20 | + * | ||
21 | + * 调用方式和 getMessage 一样,区别是 getMessage 获取的是时间更老的消息,主要用于下拉 Tableview 刷新消息数据,getMessageForward 获取的是时间更新的消息,主要用于上拉 Tableview 刷新消息数据。 | ||
22 | + * | ||
23 | + * @param count 获取数量 | ||
24 | + * @param last 上次最后一条消息,如果 last 为 nil,从最新的消息开始读取 | ||
25 | + * @param succ 成功时回调 | ||
26 | + * @param fail 失败时回调 | ||
27 | + * | ||
28 | + * @return 0:本次操作成功;1:本次操作失败 | ||
29 | + */ | ||
30 | +- (int)getMessageForward:(int)count last:(TIMMessage*)last succ:(TIMGetMsgSucc)succ fail:(TIMFail)fail; | ||
31 | + | ||
32 | +/** | ||
33 | + * 获取指定会话消息 | ||
34 | + * | ||
35 | + * @param locators 消息定位符(TIMMessageLocator)数组 | ||
36 | + * @param succ 成功时回调 | ||
37 | + * @param fail 失败时回调 | ||
38 | + * | ||
39 | + * @return 0:本次操作成功;1:本次操作失败 | ||
40 | + */ | ||
41 | +- (int)findMessages:(NSArray*)locators succ:(TIMGetMsgSucc)succ fail:(TIMFail)fail; | ||
42 | + | ||
43 | +/** | ||
44 | + * 获取自己的 id | ||
45 | + * | ||
46 | + * @return 用户 id | ||
47 | + */ | ||
48 | +- (NSString*)getSelfIdentifier; | ||
49 | + | ||
50 | +@end | ||
51 | + | ||
52 | +#endif /* TIMConversation_h */ |
ImSDK.framework/Headers/TIMConversation.h
0 → 100644
1 | +///////////////////////////////////////////////////////////////////// | ||
2 | +// | ||
3 | +// 腾讯云通信服务 IMSDK | ||
4 | +// | ||
5 | +// 模块名称:TIMConversation 会话模块 | ||
6 | +// | ||
7 | +// 模块功能:一个会话对应一个聊天窗口,比如跟一个好友的 C2C 聊天叫做一个会话,一个聊天群也叫做一个会话。 | ||
8 | +// | ||
9 | +// TIMConversation 提供的接口函数都是围绕消息的相关操作,包括:消息发送、获取历史消息、设置消息已读、撤回和删除等等。 | ||
10 | +// | ||
11 | +///////////////////////////////////////////////////////////////////// | ||
12 | + | ||
13 | +#ifndef ImSDK_TIMConversation_h | ||
14 | +#define ImSDK_TIMConversation_h | ||
15 | + | ||
16 | +#import "TIMComm.h" | ||
17 | +#import "TIMCallback.h" | ||
18 | +#import "TIMMessage.h" | ||
19 | + | ||
20 | +@class TIMMessage; | ||
21 | + | ||
22 | +@interface TIMConversation : NSObject | ||
23 | + | ||
24 | +#pragma mark 一,发消息 | ||
25 | + | ||
26 | +///////////////////////////////////////////////////////////////////////////////// | ||
27 | +// | ||
28 | +// (一)发消息 | ||
29 | +// | ||
30 | +///////////////////////////////////////////////////////////////////////////////// | ||
31 | +/// @name 发消息相关接口 | ||
32 | +/// @{ | ||
33 | +/** | ||
34 | + * 1.1 发送消息 | ||
35 | + * | ||
36 | + * TIMMessage 由多个 TIMElem 组成,一个 TIMElem 可以是一串文本,也可以是一张图片。 | ||
37 | + * 虽然说每一条消息都可以包含多个 TIMElem,但这个并不常用,通常您只需要在一个 TIMMessage 塞入一个 TIMElem 即可。 | ||
38 | + * | ||
39 | + * 详情请参考官网文档 [消息收发](https://cloud.tencent.com/document/product/269/9150) | ||
40 | + * | ||
41 | + * @param msg 消息体 | ||
42 | + * @param succ 发送成功时回调 | ||
43 | + * @param fail 发送失败时回调 | ||
44 | + * | ||
45 | + * @return 0:操作成功;1:操作失败 | ||
46 | + */ | ||
47 | +- (int)sendMessage:(TIMMessage*)msg succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
48 | + | ||
49 | +/** | ||
50 | + * 1.2 发送在线消息(无痕消息) | ||
51 | + * | ||
52 | + * “在线消息”,也可以称为是“无痕消息”。跟普通消息的区别在于:在线消息不会被云服务存储,也不会存储于本地数据库中。 | ||
53 | + * 如果接收者在线,可以收到消息,但如果接收者离线,重新上线后也不能通过 getMessage() 接口从历史消息里查到它们。 | ||
54 | + * | ||
55 | + * 该类型消息比较适合用作发送广播通知等不重要的提示消息。 | ||
56 | + * | ||
57 | + * 1. 在线消息不会被计入未读计数 | ||
58 | + * 2. 暂不支持在 AVChatRoom 和 BChatRoom 中发送。 | ||
59 | + * | ||
60 | + * @param msg 消息体 | ||
61 | + * @param succ 成功回调 | ||
62 | + * @param fail 失败回调 | ||
63 | + * | ||
64 | + * @return 0:操作成功;1:操作失败 | ||
65 | + */ | ||
66 | +- (int)sendOnlineMessage:(TIMMessage*)msg succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
67 | + | ||
68 | +///@} | ||
69 | + | ||
70 | +#pragma mark 二,获取消息 | ||
71 | +///////////////////////////////////////////////////////////////////////////////// | ||
72 | +// | ||
73 | +// (二)获取消息 | ||
74 | +// | ||
75 | +///////////////////////////////////////////////////////////////////////////////// | ||
76 | +/// @name 获取消息相关接口 | ||
77 | +/// @{ | ||
78 | +/** | ||
79 | + * 2.1 从云端拉取历史消息 | ||
80 | + * | ||
81 | + * 如果用户的网络正常且登录成功,可以通过该接口拉取历史消息,该接口会返回云端存储的历史消息(最多存储7天)。 | ||
82 | + * | ||
83 | + * 1. 单聊和群聊消息会在云端免费存储7天,如果希望存储更长时间,可前往 | ||
84 | + * ([IM 控制台](https://console.cloud.tencent.com/avc) -> 功能配置 -> 消息 ->消息漫游时长)进行购买, | ||
85 | + * 具体资费请参考 [价格说明](https://cloud.tencent.com/document/product/269/11673)。 | ||
86 | + * | ||
87 | + * 2. 对于图片、语音等资源类消息,获取到的消息体只会包含描述信息,需要通过额外的接口下载数据, | ||
88 | + * 详情请参考 [消息收发](https://cloud.tencent.com/document/product/269/9150)中的 "消息解析" 部分文档。 | ||
89 | + * | ||
90 | + * @param count 获取数量 | ||
91 | + * @param last 上次最后一条消息,如果 last 为 nil,从最新的消息开始读取 | ||
92 | + * @param succ 成功时回调 | ||
93 | + * @param fail 失败时回调 | ||
94 | + * | ||
95 | + * @return 0:本次操作成功;1:本次操作失败 | ||
96 | + */ | ||
97 | +- (int)getMessage:(int)count last:(TIMMessage*)last succ:(TIMGetMsgSucc)succ fail:(TIMFail)fail; | ||
98 | + | ||
99 | +/** | ||
100 | + * 2.2 从本地数据库中获取历史消息 | ||
101 | + * | ||
102 | + * 如果客户网络异常或登录失败,可以通过该接口获取本地存储的历史消息,调用方法和 getMessage() 一致 | ||
103 | + * AVChatRoom,BChatRoom 消息数量很大,出于程序性能的考虑,默认不存本地,不能通过这个接口拉取到对应群消息 | ||
104 | + * | ||
105 | + * @param count 获取数量 | ||
106 | + * @param last 上次最后一条消息 | ||
107 | + * @param succ 成功时回调 | ||
108 | + * @param fail 失败时回调 | ||
109 | + * | ||
110 | + * @return 0:本次操作成功;1:本次操作失败 | ||
111 | + */ | ||
112 | +- (int)getLocalMessage:(int)count last:(TIMMessage*)last succ:(TIMGetMsgSucc)succ fail:(TIMFail)fail; | ||
113 | + | ||
114 | +/** | ||
115 | + * 2.3 获取当前会话的最后一条消息 | ||
116 | + * | ||
117 | + * 可用于“装饰”会话列表,目前大多数 App 的会话列表中都会显示该会话的最后一条消息 | ||
118 | + * | ||
119 | + * @return 最后一条消息 | ||
120 | + */ | ||
121 | +- (TIMMessage*)getLastMsg; | ||
122 | + | ||
123 | +///@} | ||
124 | + | ||
125 | +#pragma mark 三,设置消息已读 | ||
126 | +///////////////////////////////////////////////////////////////////////////////// | ||
127 | +// | ||
128 | +// (三)设置消息已读 | ||
129 | +// | ||
130 | +///////////////////////////////////////////////////////////////////////////////// | ||
131 | +/// @name 设置消息已读 | ||
132 | +/// @{ | ||
133 | +/** | ||
134 | + * 3.1 标记消息为已读状态 | ||
135 | + * | ||
136 | + * 该接口会标记当前消息以及之前的所有消息为已读状态,标记消息为已读状态会有两个作用: | ||
137 | + * 1. 已经被标记为已读的消息不会重复提醒,下次登录或者换一台终端设备登录 IM 时,都不会再次收到该消息的未读提醒。 | ||
138 | + * 2. 如果发送者通过 TIMUserConfig -> enableReadReceipt 开启了 “被阅回执”,接收者在标记已读状态时,发送者会收到“被阅提醒”。 | ||
139 | + * | ||
140 | + * @note 该接口尚不支持标记单独一条消息,只能标记一批。即标记当前一条消息,之前的消息也会全被标记为已读状态。 | ||
141 | + * | ||
142 | + * @param fromMsg 会话内最近一条已读的消息,nil 表示上报最新消息 | ||
143 | + * @param succ 成功时回调 | ||
144 | + * @param fail 失败时回调 | ||
145 | + * | ||
146 | + * @return 0 表示成功 | ||
147 | + */ | ||
148 | +- (int)setReadMessage:(TIMMessage*)fromMsg succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
149 | + | ||
150 | +/** | ||
151 | + * 3.2 获取会话的未读消息计数 | ||
152 | + * | ||
153 | + * 1. 同一个终端登录,在未卸载 APP 的情况下,您可以通过当前接口获取的未读消息的个数。 | ||
154 | + * 2. 如果希望换一台终端也能取到同样的未读计数提醒,或者卸载 APP 再重装,未读计数提醒还能保留卸载前的状态, | ||
155 | + * 就需要设置 TIMUserConfig 的 disableAutoReport 为 YES,这样可以开启多终端同步未读提醒。 | ||
156 | + * | ||
157 | + * 详情参考 [未读消息计数](https://cloud.tencent.com/document/product/269/9151) | ||
158 | + * | ||
159 | + * @return 返回未读计数 | ||
160 | + */ | ||
161 | +- (int)getUnReadMessageNum; | ||
162 | + | ||
163 | +///@} | ||
164 | + | ||
165 | +#pragma mark 四,撤回/删除消息 | ||
166 | +///////////////////////////////////////////////////////////////////////////////// | ||
167 | +// | ||
168 | +// (四)撤回/删除消息 | ||
169 | +// | ||
170 | +///////////////////////////////////////////////////////////////////////////////// | ||
171 | +/// @name 撤回/删除消息相关接口 | ||
172 | +/// @{ | ||
173 | +/** | ||
174 | + * 4.1 撤回一条已发送的消息(消息发送后 ) | ||
175 | + * | ||
176 | + * 1. 消息撤回的有效时间为2分钟,即消息发出2分钟后不能再撤回。 | ||
177 | + * 2. 仅支持 C2C 会话和 GROUP 会话中发送的消息,无法撤销 OnlineMessage,也无法撤销 AVChatRoom 和 BChatRoom 中的消息。 | ||
178 | + * 3. 您需要在 TIMUserConfig -> TIMMessageRevokeListener 监听 onRevokeMessage() 消息撤回回调, | ||
179 | + * 如果消息撤回成功,消息的接收方会收到一次 onRevokeMessage:(TIMMessageLocator*) 回调,TIMMessageLocator 相当于一条消息的定位标志。 | ||
180 | + * 您可以在已收到的历史消息里进行遍历,通过 TIMMessage 中的 respondsToLocator() 接口进行比对,以便定位到该条消息。 | ||
181 | + * | ||
182 | + * @param msg 被撤回的消息 | ||
183 | + * @param succ 成功时回调 | ||
184 | + * @param fail 失败时回调 | ||
185 | + * | ||
186 | + * @return 0:本次操作成功;1:本次操作失败 | ||
187 | + */ | ||
188 | +- (int)revokeMessage:(TIMMessage*)msg succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
189 | + | ||
190 | +/** | ||
191 | + * 4.2 删除当前会话的本地历史消息 | ||
192 | + * | ||
193 | + * @param succ 成功时回调 | ||
194 | + * @param fail 失败时回调 | ||
195 | + * | ||
196 | + * @return 0 本次操作成功 | ||
197 | + */ | ||
198 | +- (int)deleteLocalMessage:(TIMSucc)succ fail:(TIMFail)fail; | ||
199 | + | ||
200 | +///@} | ||
201 | + | ||
202 | +#pragma mark 五,获取会话信息 | ||
203 | +///////////////////////////////////////////////////////////////////////////////// | ||
204 | +// | ||
205 | +// (五)获取会话信息 | ||
206 | +// | ||
207 | +///////////////////////////////////////////////////////////////////////////////// | ||
208 | +/// @name 获取会话信息相关接口 | ||
209 | +/// @{ | ||
210 | + | ||
211 | +/** | ||
212 | + * 5.1 获取会话类型 | ||
213 | + * | ||
214 | + * @return 会话类型 | ||
215 | + */ | ||
216 | +- (TIMConversationType)getType; | ||
217 | + | ||
218 | +/** | ||
219 | + * 5.2 获取会话 ID | ||
220 | + * | ||
221 | + * C2C:对方账号;Group:群组Id。 | ||
222 | + * | ||
223 | + * 对同一个单聊或则群聊会话,getReceiver 获取的会话 ID 都是固定的,C2C 获取的是对方账号,Group 获取的是群组 Id。 | ||
224 | + * | ||
225 | + * @return 会话人 | ||
226 | + */ | ||
227 | +- (NSString*)getReceiver; | ||
228 | + | ||
229 | +/** | ||
230 | + * 5.3 获取群名称 | ||
231 | + * | ||
232 | + * 获取群名称,只有群会话有效。 | ||
233 | + * | ||
234 | + * @return 群名称 | ||
235 | + */ | ||
236 | +- (NSString*)getGroupName; | ||
237 | + | ||
238 | +///@} | ||
239 | + | ||
240 | +#pragma mark 六,草稿箱 | ||
241 | +///////////////////////////////////////////////////////////////////////////////// | ||
242 | +// | ||
243 | +// (六)草稿箱 | ||
244 | +// | ||
245 | +///////////////////////////////////////////////////////////////////////////////// | ||
246 | +/// @name 草稿箱 | ||
247 | +/// @{ | ||
248 | + | ||
249 | +/** | ||
250 | + * 6.1 添加未编辑完的草稿消息 | ||
251 | + * | ||
252 | + * 在发送消息时,常常会遇到尚未编辑完毕就要切换到其它聊天窗口的情况,这些未编辑完的消息就可以通过 setDraft() 接口存储到草稿箱中。 | ||
253 | + * 草稿信息会存本地数据库,重新登录后依然可以获取。 | ||
254 | + * | ||
255 | + * | ||
256 | + * @param draft 草稿内容,详情请参考 TIMMessage.h 里面的 TIMMessageDraft 定义 | ||
257 | + * | ||
258 | + * @return 0:成功;1:失败 | ||
259 | + */ | ||
260 | +- (int)setDraft:(TIMMessageDraft*)draft; | ||
261 | + | ||
262 | +/** | ||
263 | + * 6.2 获取未编辑完的草稿消息 | ||
264 | + * | ||
265 | + * @return 草稿内容,没有草稿返回 nil | ||
266 | + */ | ||
267 | +- (TIMMessageDraft*)getDraft; | ||
268 | + | ||
269 | +///@} | ||
270 | + | ||
271 | +#pragma mark 七,导入消息到会话 | ||
272 | +///////////////////////////////////////////////////////////////////////////////// | ||
273 | +// | ||
274 | +// (七)导入消息到会话 | ||
275 | +// | ||
276 | +///////////////////////////////////////////////////////////////////////////////// | ||
277 | +/// @name 导入消息到会话相关接口 | ||
278 | +/// @{ | ||
279 | +/** | ||
280 | + * 7.1 向本地消息列表中添加一条消息,但并不将其发送出去。 | ||
281 | + * | ||
282 | + * 该接口主要用于满足向聊天会话中插入一些提示性消息的需求,比如“您已经退出该群”,这类消息有展示 | ||
283 | + * 在聊天消息区的需求,但并没有发送给其他人的必要。 | ||
284 | + * 所以 saveMessage() 相当于一个被禁用了网络发送能力的 sendMessage() 接口。 | ||
285 | + * | ||
286 | + * @param msg 消息体 | ||
287 | + * @param sender 发送方 | ||
288 | + * @param isRead 是否已读,如果发送方是自己,默认已读 | ||
289 | + * | ||
290 | + * @return 0:成功;1:失败 | ||
291 | + */ | ||
292 | +- (int)saveMessage:(TIMMessage*)msg sender:(NSString*)sender isReaded:(BOOL)isRead; | ||
293 | + | ||
294 | +/** | ||
295 | + * 7.2 将消息导入本地数据库 | ||
296 | + * | ||
297 | + * @param msgs 消息(TIMMessage*)列表 | ||
298 | + * | ||
299 | + * @return 0:成功;1:失败 | ||
300 | + */ | ||
301 | +- (int)importMessages:(NSArray*)msgs; | ||
302 | + | ||
303 | +///@} | ||
304 | +@end | ||
305 | + | ||
306 | + | ||
307 | +#endif |
ImSDK.framework/Headers/TIMErrorCode.h
0 → 100644
1 | +// | ||
2 | +// TIMErrorCode.h | ||
3 | +// ImSDK | ||
4 | +// | ||
5 | +// Created by jameskhdeng on 2018/11/23. | ||
6 | +// Copyright © 2018 tencent. All rights reserved. | ||
7 | +// | ||
8 | + | ||
9 | +#ifndef TIMErrorCode_h | ||
10 | +#define TIMErrorCode_h | ||
11 | + | ||
12 | +enum ERROR_CODE { | ||
13 | + | ||
14 | + ///////////////////////////////////////////////////////////////////////////////// | ||
15 | + // | ||
16 | + // (一)IM SDK 的错误码 | ||
17 | + // | ||
18 | + ///////////////////////////////////////////////////////////////////////////////// | ||
19 | + | ||
20 | + // 通用错误码 | ||
21 | + | ||
22 | + ERR_SUCC = 0, ///< 无错误。 | ||
23 | + ERR_IN_PROGESS = 6015, ///< 执行中,请做好接口调用控制,例如,第一次初始化操作在回调前,后续的初始化操作会返回该错误码。 | ||
24 | + ERR_INVALID_PARAMETERS = 6017, ///< 参数无效,请检查参数是否符合要求,具体可查看错误信息进一步定义哪个字段。 | ||
25 | + ERR_IO_OPERATION_FAILED = 6022, ///< 操作本地 IO 错误,检查是否有读写权限,磁盘是否已满。 | ||
26 | + ERR_INVALID_JSON = 6027, ///< 错误的 JSON 格式,请检查参数是否符合接口的要求,具体可查看错误信息进一步定义哪个字段。 | ||
27 | + ERR_OUT_OF_MEMORY = 6028, ///< 内存不足,可能存在内存泄漏,iOS 平台使用 Instrument 工具,Android 平台使用 Profiler 工具,分析出什么地方的内存占用高。 | ||
28 | + ERR_PARSE_RESPONSE_FAILED = 6001, ///< PB 解析失败,内部错误,可 [提交工单](https://console.cloud.tencent.com/workorder/category?level1_id=29&level2_id=40&source=0&data_title=%E4%BA%91%E9%80%9A%E4%BF%A1%20%20IM&step=1) 提供使用接口、错误码、错误信息给客服解决。 | ||
29 | + ERR_SERIALIZE_REQ_FAILED = 6002, ///< PB 序列化失败,内部错误,可 [提交工单](https://console.cloud.tencent.com/workorder/category?level1_id=29&level2_id=40&source=0&data_title=%E4%BA%91%E9%80%9A%E4%BF%A1%20%20IM&step=1) 提供使用接口、错误码、错误信息给客服解决。 | ||
30 | + ERR_SDK_NOT_INITIALIZED = 6013, ///< IM SDK 未初始化,初始化成功回调之后重试。 | ||
31 | + ERR_LOADMSG_FAILED = 6005, ///< 加载本地数据库操作失败,可能存储文件有损坏,可 [提交工单](https://console.cloud.tencent.com/workorder/category?level1_id=29&level2_id=40&source=0&data_title=%E4%BA%91%E9%80%9A%E4%BF%A1%20%20IM&step=1) 联系客服定位具体问题。 | ||
32 | + ERR_DATABASE_OPERATE_FAILED = 6019, ///< 本地数据库操作失败,可能是部分目录无权限或者数据库文件已损坏。 | ||
33 | + ERR_SDK_COMM_CROSS_THREAD = 7001, ///< 跨线程错误,不能在跨越不同线程中执行,内部错误,可 [提交工单](https://console.cloud.tencent.com/workorder/category?level1_id=29&level2_id=40&source=0&data_title=%E4%BA%91%E9%80%9A%E4%BF%A1%20%20IM&step=1) 提供使用接口、错误码、错误信息给客服解决。 | ||
34 | + ERR_SDK_COMM_TINYID_EMPTY = 7002, ///< TinyId 为空,内部错误,可 [提交工单](https://console.cloud.tencent.com/workorder/category?level1_id=29&level2_id=40&source=0&data_title=%E4%BA%91%E9%80%9A%E4%BF%A1%20%20IM&step=1) 提供使用接口、错误码、错误信息给客服解决。 | ||
35 | + ERR_SDK_COMM_INVALID_IDENTIFIER = 7003, ///< Identifier 非法,必须不为空,要求可打印 ASCII 字符(0x20-0x7e),长度不超过32字节。 | ||
36 | + ERR_SDK_COMM_FILE_NOT_FOUND = 7004, ///< 文件不存在,请检查文件路径是否正确。 | ||
37 | + ERR_SDK_COMM_FILE_TOO_LARGE = 7005, ///< 文件大小超出了限制,如果上传文件,最大限制是28MB。 | ||
38 | + ERR_SDK_COMM_FILE_SIZE_EMPTY = 7006, ///< 空文件,要求文件大小不是0字节,如果上传图片、语音、视频或文件,请检查文件是否正确生成。 | ||
39 | + ERR_SDK_COMM_FILE_OPEN_FAILED = 7007, ///< 文件打开失败,请检查文件是否存在,或者已被独占打开,引起 SDK 打开失败。 | ||
40 | + | ||
41 | + // 帐号错误码 | ||
42 | + | ||
43 | + ERR_SDK_NOT_LOGGED_IN = 6014, ///< IM SDK 未登录,请先登录,成功回调之后重试,或者已被踢下线,可使用 TIMManager getLoginUser 检查当前是否在线。 | ||
44 | + ERR_NO_PREVIOUS_LOGIN = 6026, ///< 自动登录时,并没有登录过该用户,这时候请调用 login 接口重新登录。 | ||
45 | + ERR_USER_SIG_EXPIRED = 6206, ///< UserSig 过期,请重新获取有效的 UserSig 后再重新登录。 | ||
46 | + ERR_LOGIN_KICKED_OFF_BY_OTHER = 6208, ///< 其他终端登录同一个帐号,引起已登录的帐号被踢,需重新登录。 | ||
47 | + ERR_SDK_ACCOUNT_LOGIN_IN_PROCESS = 7501, ///< 登录正在执行中,例如,第一次 login 或 autoLogin 操作在回调前,后续的 login 或 autoLogin 操作会返回该错误码。 | ||
48 | + ERR_SDK_ACCOUNT_LOGOUT_IN_PROCESS = 7502, ///< 登出正在执行中,例如,第一次 logout 操作在回调前,后续的 logout 操作会返回该错误码。 | ||
49 | + ERR_SDK_ACCOUNT_TLS_INIT_FAILED = 7503, ///< TLS SDK 初始化失败,内部错误,可 [提交工单](https://console.cloud.tencent.com/workorder/category?level1_id=29&level2_id=40&source=0&data_title=%E4%BA%91%E9%80%9A%E4%BF%A1%20%20IM&step=1) 提供使用接口、错误码、错误信息给客服解决。 | ||
50 | + ERR_SDK_ACCOUNT_TLS_NOT_INITIALIZED = 7504, ///< TLS SDK 未初始化,内部错误,可 [提交工单](https://console.cloud.tencent.com/workorder/category?level1_id=29&level2_id=40&source=0&data_title=%E4%BA%91%E9%80%9A%E4%BF%A1%20%20IM&step=1) 提供使用接口、错误码、错误信息给客服解决。 | ||
51 | + ERR_SDK_ACCOUNT_TLS_TRANSPKG_ERROR = 7505, ///< TLS SDK TRANS 包格式错误,内部错误,可 [提交工单](https://console.cloud.tencent.com/workorder/category?level1_id=29&level2_id=40&source=0&data_title=%E4%BA%91%E9%80%9A%E4%BF%A1%20%20IM&step=1) 提供使用接口、错误码、错误信息给客服解决。 | ||
52 | + ERR_SDK_ACCOUNT_TLS_DECRYPT_FAILED = 7506, ///< TLS SDK 解密失败,内部错误,可 [提交工单](https://console.cloud.tencent.com/workorder/category?level1_id=29&level2_id=40&source=0&data_title=%E4%BA%91%E9%80%9A%E4%BF%A1%20%20IM&step=1) 提供使用接口、错误码、错误信息给客服解决。 | ||
53 | + ERR_SDK_ACCOUNT_TLS_REQUEST_FAILED = 7507, ///< TLS SDK 请求失败,内部错误,可 [提交工单](https://console.cloud.tencent.com/workorder/category?level1_id=29&level2_id=40&source=0&data_title=%E4%BA%91%E9%80%9A%E4%BF%A1%20%20IM&step=1) 提供使用接口、错误码、错误信息给客服解决。 | ||
54 | + ERR_SDK_ACCOUNT_TLS_REQUEST_TIMEOUT = 7508, ///< TLS SDK 请求超时,内部错误,可 [提交工单](https://console.cloud.tencent.com/workorder/category?level1_id=29&level2_id=40&source=0&data_title=%E4%BA%91%E9%80%9A%E4%BF%A1%20%20IM&step=1) 提供使用接口、错误码、错误信息给客服解决。 | ||
55 | + | ||
56 | + // 消息错误码 | ||
57 | + | ||
58 | + ERR_INVALID_CONVERSATION = 6004, ///< 会话无效,getConversation 时检查是否已经登录,如未登录获取会话,会有此错误码返回。 | ||
59 | + ERR_FILE_TRANS_AUTH_FAILED = 6006, ///< 文件传输鉴权失败,可 [提交工单](https://console.cloud.tencent.com/workorder/category?level1_id=29&level2_id=40&source=0&data_title=%E4%BA%91%E9%80%9A%E4%BF%A1%20%20IM&step=1) 提供使用接口、错误码、错误信息给客服解决。 | ||
60 | + ERR_FILE_TRANS_NO_SERVER = 6007, ///< 文件传输获取 Server 列表失败,可 [提交工单](https://console.cloud.tencent.com/workorder/category?level1_id=29&level2_id=40&source=0&data_title=%E4%BA%91%E9%80%9A%E4%BF%A1%20%20IM&step=1) 提供使用接口、错误码、错误信息给客服解决。 | ||
61 | + ERR_FILE_TRANS_UPLOAD_FAILED = 6008, ///< 文件传输上传失败,请检查网络是否连接,如果上传的是图片,确认图片能够正常打开。 | ||
62 | + ERR_FILE_TRANS_DOWNLOAD_FAILED = 6009, ///< 文件传输下载失败,请检查网络,或者文件、语音是否已经过期,目前资源文件存储7天。 | ||
63 | + ERR_HTTP_REQ_FAILED = 6010, ///< HTTP 请求失败,请检查 URL 地址是否合法,可在网页浏览器尝试访问该 URL 地址。 | ||
64 | + ERR_INVALID_MSG_ELEM = 6016, ///< IM SDK 无效消息 elem,具体可查看错误信息进一步定义哪个字段。 | ||
65 | + ERR_INVALID_SDK_OBJECT = 6021, ///< 无效的对象,例如用户自己生成 TIMImage 对象,或内部赋值错误导致对象无效。 | ||
66 | + ERR_SDK_MSG_BODY_SIZE_LIMIT = 8001, ///< 消息长度超出限制,消息长度不要超过8k,消息长度是各个 elem 长度的总和,elem 长度是所有 elem 字段的长度总和。 | ||
67 | + ERR_SDK_MSG_KEY_REQ_DIFFER_RSP = 8002, ///< 消息 KEY 错误,内部错误,网络请求包的 KEY 和 回复包的不一致。 | ||
68 | + | ||
69 | + // 群组错误码 | ||
70 | + | ||
71 | + ERR_SDK_GROUP_INVALID_ID = 8501, ///< 群组 ID 非法,自定义群组 ID 必须为可打印 ASCII 字符(0x20-0x7e),最长48个字节,且前缀不能为 @TGS#(避免与服务端默认分配的群组 ID 混淆)。 | ||
72 | + ERR_SDK_GROUP_INVALID_NAME = 8502, ///< 群名称非法,群名称最长30字节,字符编码必须是 UTF-8 ,如果包含中文,可能用多个字节表示一个中文字符,请注意检查字符串的字节长度。 | ||
73 | + ERR_SDK_GROUP_INVALID_INTRODUCTION = 8503, ///< 群简介非法,群简介最长240字节,字符编码必须是 UTF-8 ,如果包含中文,可能用多个字节表示一个中文字符,请注意检查字符串的字节长度。 | ||
74 | + ERR_SDK_GROUP_INVALID_NOTIFICATION = 8504, ///< 群公告非法,群公告最长300字节,字符编码必须是 UTF-8 ,如果包含中文,可能用多个字节表示一个中文字符,请注意检查字符串的字节长度。 | ||
75 | + ERR_SDK_GROUP_INVALID_FACE_URL = 8505, ///< 群头像 URL 非法,群头像 URL 最长100字节,可在网页浏览器尝试访问该 URL 地址。 | ||
76 | + ERR_SDK_GROUP_INVALID_NAME_CARD = 8506, ///< 群名片非法,群名片最长50字节,字符编码必须是 UTF-8 ,如果包含中文,可能用多个字节表示一个中文字符,请注意检查字符串的字节长度。 | ||
77 | + ERR_SDK_GROUP_MEMBER_COUNT_LIMIT = 8507, ///< 超过群组成员数的限制,在创建群和邀请成员时,指定的成员数超出限制,最大群成员数量:私有群是200人,公开群是2000人,聊天室是10000人,音视频聊天室和在线成员广播大群无限制。 | ||
78 | + ERR_SDK_GROUP_JOIN_PRIVATE_GROUP_DENY = 8508, ///< 不允许申请加入 Private 群组,任意群成员可邀请入群,且无需被邀请人同意。 | ||
79 | + ERR_SDK_GROUP_INVITE_SUPER_DENY = 8509, ///< 不允许邀请角色为群主的成员,请检查角色字段是否填写正确。 | ||
80 | + ERR_SDK_GROUP_INVITE_NO_MEMBER = 8510, ///< 不允许邀请0个成员,请检查成员字段是否填写正确。 | ||
81 | + | ||
82 | + // 关系链错误码 | ||
83 | + | ||
84 | + ERR_SDK_FRIENDSHIP_INVALID_PROFILE_KEY = 9001, ///< 资料字段非法,资料支持标配字段及自定义字段,其中自定义字段的关键字,必须是英文字母,且长度不得超过8字节,自定义字段的值最长不能超过500字节。 | ||
85 | + ERR_SDK_FRIENDSHIP_INVALID_ADD_REMARK = 9002, ///< 备注字段非法,最大96字节,字符编码必须是 UTF-8 ,如果包含中文,可能用多个字节表示一个中文字符,请注意检查字符串的字节长度。 | ||
86 | + ERR_SDK_FRIENDSHIP_INVALID_ADD_WORDING = 9003, ///< 请求添加好友的请求说明字段非法,最大120字节,字符编码必须是 UTF-8 ,如果包含中文,可能用多个字节表示一个中文字符,请注意检查字符串的字节长度。 | ||
87 | + ERR_SDK_FRIENDSHIP_INVALID_ADD_SOURCE = 9004, ///< 请求添加好友的添加来源字段非法,来源需要添加“AddSource_Type_”前缀。 | ||
88 | + ERR_SDK_FRIENDSHIP_FRIEND_GROUP_EMPTY = 9005, ///< 好友分组字段非法,必须不为空,每个分组的名称最长30字节,字符编码必须是 UTF-8 ,如果包含中文,可能用多个字节表示一个中文字符,请注意检查字符串的字节长度。 | ||
89 | + | ||
90 | + // 网络错误码 | ||
91 | + | ||
92 | + ERR_SDK_NET_ENCODE_FAILED = 9501, ///< SSO 加密失败,内部错误,可 [提交工单](https://console.cloud.tencent.com/workorder/category?level1_id=29&level2_id=40&source=0&data_title=%E4%BA%91%E9%80%9A%E4%BF%A1%20%20IM&step=1) 提供使用接口、错误码、错误信息给客服解决。 | ||
93 | + ERR_SDK_NET_DECODE_FAILED = 9502, ///< SSO 解密失败,内部错误,可 [提交工单](https://console.cloud.tencent.com/workorder/category?level1_id=29&level2_id=40&source=0&data_title=%E4%BA%91%E9%80%9A%E4%BF%A1%20%20IM&step=1) 提供使用接口、错误码、错误信息给客服解决。 | ||
94 | + ERR_SDK_NET_AUTH_INVALID = 9503, ///< SSO 未完成鉴权,可能登录未完成,请在登录完成后再操作。 | ||
95 | + ERR_SDK_NET_COMPRESS_FAILED = 9504, ///< 数据包压缩失败,内部错误,可 [提交工单](https://console.cloud.tencent.com/workorder/category?level1_id=29&level2_id=40&source=0&data_title=%E4%BA%91%E9%80%9A%E4%BF%A1%20%20IM&step=1) 提供使用接口、错误码、错误信息给客服解决。 | ||
96 | + ERR_SDK_NET_UNCOMPRESS_FAILED = 9505, ///< 数据包解压失败,内部错误,可 [提交工单](https://console.cloud.tencent.com/workorder/category?level1_id=29&level2_id=40&source=0&data_title=%E4%BA%91%E9%80%9A%E4%BF%A1%20%20IM&step=1) 提供使用接口、错误码、错误信息给客服解决。 | ||
97 | + ERR_SDK_NET_FREQ_LIMIT = 9506, ///< 调用频率限制,最大每秒发起 5 次请求。 | ||
98 | + ERR_SDK_NET_REQ_COUNT_LIMIT = 9507, ///< 请求队列満,超过同时请求的数量限制,最大同时发起1000个请求。 | ||
99 | + ERR_SDK_NET_DISCONNECT = 9508, ///< 网络已断开,未建立连接,或者建立 socket 连接时,检测到无网络。 | ||
100 | + ERR_SDK_NET_ALLREADY_CONN = 9509, ///< 网络连接已建立,重复创建连接,内部错误。 | ||
101 | + ERR_SDK_NET_CONN_TIMEOUT = 9510, ///< 建立网络连接超时,请等网络恢复后重试。 | ||
102 | + ERR_SDK_NET_CONN_REFUSE = 9511, ///< 网络连接已被拒绝,请求过于频繁,服务端拒绝服务。 | ||
103 | + ERR_SDK_NET_NET_UNREACH = 9512, ///< 没有到达网络的可用路由,请等网络恢复后重试。 | ||
104 | + ERR_SDK_NET_SOCKET_NO_BUFF = 9513, ///< 系统中没有足够的缓冲区空间资源可用来完成调用,系统过于繁忙,内部错误。 | ||
105 | + ERR_SDK_NET_RESET_BY_PEER = 9514, ///< 对端重置了连接,可能服务端过载,SDK 内部会自动重连,请等网络连接成功 onConnSucc ( iOS ) 或 onConnected ( Android ) 回调后重试。 | ||
106 | + ERR_SDK_NET_SOCKET_INVALID = 9515, ///< socket 套接字无效,内部错误,可 [提交工单](https://console.cloud.tencent.com/workorder/category?level1_id=29&level2_id=40&source=0&data_title=%E4%BA%91%E9%80%9A%E4%BF%A1%20%20IM&step=1) 提供使用接口、错误码、错误信息给客服解决。 | ||
107 | + ERR_SDK_NET_HOST_GETADDRINFO_FAILED = 9516, ///< IP 地址解析失败,内部错误,可能是本地 imsdk_config 配置文件被损坏,读取到到 IP 地址非法。 | ||
108 | + ERR_SDK_NET_CONNECT_RESET = 9517, ///< 网络连接到中间节点或服务端重置,引起连接失效,内部错误,SDK 内部会自动重连,请等网络连接成功 onConnSucc ( iOS ) 或 onConnected ( Android ) 回调后重试。 | ||
109 | + ERR_SDK_NET_WAIT_INQUEUE_TIMEOUT = 9518, ///< 请求包等待进入待发送队列超时,发送时网络连接建立比较慢 或 频繁断网重连时,会出现该错误,请检查网络连接是否正常。 | ||
110 | + ERR_SDK_NET_WAIT_SEND_TIMEOUT = 9519, ///< 请求包已进入待发送队列,等待进入系统的网络 buffer 超时,数据包较多 或 发送线程处理不过来,内部错误。 | ||
111 | + ERR_SDK_NET_WAIT_ACK_TIMEOUT = 9520, ///< 请求包已进入系统的网络 buffer ,等待服务端回包超时,可能请求包没离开终端设备、中间路由丢弃、服务端意外丢包或回包被系统网络层丢弃,内部错误。 | ||
112 | + | ||
113 | + ///////////////////////////////////////////////////////////////////////////////// | ||
114 | + // | ||
115 | + // (二)服务端的错误码 | ||
116 | + // | ||
117 | + ///////////////////////////////////////////////////////////////////////////////// | ||
118 | + | ||
119 | + // SSO 接入层的错误码 | ||
120 | + | ||
121 | + ERR_SVR_SSO_CONNECT_LIMIT = -302 , ///< SSO 的连接数量超出限制,服务端拒绝服务。 | ||
122 | + ERR_SVR_SSO_VCODE = -10000, ///< 下发验证码标志错误。 | ||
123 | + ERR_SVR_SSO_D2_EXPIRED = -10001, ///< D2 过期。 | ||
124 | + ERR_SVR_SSO_A2_UP_INVALID = -10003, ///< A2 校验失败等场景使用。 | ||
125 | + ERR_SVR_SSO_A2_DOWN_INVALID = -10004, ///< 处理下行包时发现 A2 验证没通过或者被安全打击。 | ||
126 | + ERR_SVR_SSO_EMPTY_KEY = -10005, ///< 不允许空 D2Key 加密。 | ||
127 | + ERR_SVR_SSO_UIN_INVALID = -10006, ///< D2 中的 uin 和 SSO 包头的 uin 不匹配。 | ||
128 | + ERR_SVR_SSO_VCODE_TIMEOUT = -10007, ///< 验证码下发超时。 | ||
129 | + ERR_SVR_SSO_NO_IMEI_AND_A2 = -10008, ///< 需要带上 IMEI 和 A2 。 | ||
130 | + ERR_SVR_SSO_COOKIE_INVALID = -10009, ///< Cookie 非法。 | ||
131 | + ERR_SVR_SSO_DOWN_TIP = -10101, ///< 下发提示语,D2 过期。 | ||
132 | + ERR_SVR_SSO_DISCONNECT = -10102, ///< 断链锁屏。 | ||
133 | + ERR_SVR_SSO_IDENTIFIER_INVALID = -10103, ///< 失效身份。 | ||
134 | + ERR_SVR_SSO_CLIENT_CLOSE = -10104, ///< 终端自动退出。 | ||
135 | + ERR_SVR_SSO_MSFSDK_QUIT = -10105, ///< MSFSDK 自动退出。 | ||
136 | + ERR_SVR_SSO_D2KEY_WRONG = -10106, ///< SSO D2key 解密失败次数太多,通知终端需要重置,重新刷新 D2 。 | ||
137 | + ERR_SVR_SSO_UNSURPPORT = -10107, ///< 不支持聚合,给终端返回统一的错误码。终端在该 TCP 长连接上停止聚合。 | ||
138 | + ERR_SVR_SSO_PREPAID_ARREARS = -10108, ///< 预付费欠费。 | ||
139 | + ERR_SVR_SSO_PACKET_WRONG = -10109, ///< 请求包格式错误。 | ||
140 | + ERR_SVR_SSO_APPID_BLACK_LIST = -10110, ///< SDKAppID 黑名单。 | ||
141 | + ERR_SVR_SSO_CMD_BLACK_LIST = -10111, ///< SDKAppID 设置 service cmd 黑名单。 | ||
142 | + ERR_SVR_SSO_APPID_WITHOUT_USING = -10112, ///< SDKAppID 停用。 | ||
143 | + ERR_SVR_SSO_FREQ_LIMIT = -10113, ///< 频率限制(用户),频率限制是设置针对某一个协议的每秒请求数的限制。 | ||
144 | + ERR_SVR_SSO_OVERLOAD = -10114, ///< 过载丢包(系统),连接的服务端处理过多请求,处理不过来,拒绝服务。 | ||
145 | + | ||
146 | + // 资源文件错误码 | ||
147 | + | ||
148 | + ERR_SVR_RES_NOT_FOUND = 114000, ///< 要发送的资源文件不存在。 | ||
149 | + ERR_SVR_RES_ACCESS_DENY = 114001, ///< 要发送的资源文件不允许访问。 | ||
150 | + ERR_SVR_RES_SIZE_LIMIT = 114002, ///< 文件大小超过限制。 | ||
151 | + ERR_SVR_RES_SEND_CANCEL = 114003, ///< 用户取消发送,如发送过程中登出等原因。 | ||
152 | + ERR_SVR_RES_READ_FAILED = 114004, ///< 读取文件内容失败。 | ||
153 | + ERR_SVR_RES_TRANSFER_TIMEOUT = 114005, ///< 资源文件(如图片、文件、语音、视频)传输超时,一般是网络问题导致。 | ||
154 | + ERR_SVR_RES_INVALID_PARAMETERS = 114011, ///< 参数非法。 | ||
155 | + ERR_SVR_RES_INVALID_FILE_MD5 = 115066, ///< 文件 MD5 校验失败。 | ||
156 | + ERR_SVR_RES_INVALID_PART_MD5 = 115068, ///< 分片 MD5 校验失败。 | ||
157 | + | ||
158 | + // 后台公共错误码 | ||
159 | + | ||
160 | + ERR_SVR_COMM_INVALID_HTTP_URL = 60002, ///< HTTP 解析错误 ,请检查 HTTP 请求 URL 格式。 | ||
161 | + ERR_SVR_COMM_REQ_JSON_PARSE_FAILED = 60003, ///< HTTP 请求 JSON 解析错误,请检查 JSON 格式。 | ||
162 | + ERR_SVR_COMM_INVALID_ACCOUNT = 60004, ///< 请求 URI 或 JSON 包体中 Identifier 或 UserSig 错误。 | ||
163 | + ERR_SVR_COMM_INVALID_ACCOUNT_EX = 60005, ///< 请求 URI 或 JSON 包体中 Identifier 或 UserSig 错误。 | ||
164 | + ERR_SVR_COMM_INVALID_SDKAPPID = 60006, ///< SDKAppID 失效,请核对 SDKAppID 有效性。 | ||
165 | + ERR_SVR_COMM_REST_FREQ_LIMIT = 60007, ///< REST 接口调用频率超过限制,请降低请求频率。 | ||
166 | + ERR_SVR_COMM_REQUEST_TIMEOUT = 60008, ///< 服务请求超时或 HTTP 请求格式错误,请检查并重试。 | ||
167 | + ERR_SVR_COMM_INVALID_RES = 60009, ///< 请求资源错误,请检查请求 URL。 | ||
168 | + ERR_SVR_COMM_ID_NOT_ADMIN = 60010, ///< REST API 请求的 Identifier 字段请填写 App 管理员帐号。 | ||
169 | + ERR_SVR_COMM_SDKAPPID_FREQ_LIMIT = 60011, ///< SDKAppID 请求频率超限,请降低请求频率。 | ||
170 | + ERR_SVR_COMM_SDKAPPID_MISS = 60012, ///< REST 接口需要带 SDKAppID,请检查请求 URL 中的 SDKAppID。 | ||
171 | + ERR_SVR_COMM_RSP_JSON_PARSE_FAILED = 60013, ///< HTTP 响应包 JSON 解析错误。 | ||
172 | + ERR_SVR_COMM_EXCHANGE_ACCOUNT_TIMEUT = 60014, ///< 置换帐号超时。 | ||
173 | + ERR_SVR_COMM_INVALID_ID_FORMAT = 60015, ///< 请求包体 Identifier 类型错误,请确认 Identifier 为字符串格式。 | ||
174 | + ERR_SVR_COMM_SDKAPPID_FORBIDDEN = 60016, ///< SDKAppID 被禁用,请 [提交工单](https://console.cloud.tencent.com/workorder/category?level1_id=29&level2_id=40&source=0&data_title=%E4%BA%91%E9%80%9A%E4%BF%A1%20%20IM&step=1) 联系客服确认。 | ||
175 | + ERR_SVR_COMM_REQ_FORBIDDEN = 60017, ///< 请求被禁用,请 [提交工单](https://console.cloud.tencent.com/workorder/category?level1_id=29&level2_id=40&source=0&data_title=%E4%BA%91%E9%80%9A%E4%BF%A1%20%20IM&step=1) 联系客服确认。 | ||
176 | + ERR_SVR_COMM_REQ_FREQ_LIMIT = 60018, ///< 请求过于频繁,请稍后重试。 | ||
177 | + ERR_SVR_COMM_REQ_FREQ_LIMIT_EX = 60019, ///< 请求过于频繁,请稍后重试。 | ||
178 | + ERR_SVR_COMM_INVALID_SERVICE = 60020, ///< 未购买套餐包或购买的套餐包正在配置中暂未生效,请五分钟后再次尝试。 | ||
179 | + ERR_SVR_COMM_SENSITIVE_TEXT = 80001, ///< 文本安全打击,文本中可能包含敏感词汇。 | ||
180 | + ERR_SVR_COMM_BODY_SIZE_LIMIT = 80002, ///< 发消息包体过长,目前支持最大8k消息包体长度,请减少包体大小重试。 | ||
181 | + | ||
182 | + // 帐号错误码 | ||
183 | + | ||
184 | + ERR_SVR_ACCOUNT_USERSIG_EXPIRED = 70001, ///< UserSig 已过期,请重新生成 UserSig,建议 UserSig 有效期不小于24小时。 | ||
185 | + ERR_SVR_ACCOUNT_USERSIG_EMPTY = 70002, ///< UserSig 长度为0,请检查传入的 UserSig 是否正确。 | ||
186 | + ERR_SVR_ACCOUNT_USERSIG_CHECK_FAILED = 70003, ///< UserSig 校验失败,请确认下 UserSig 内容是否被截断,如缓冲区长度不够导致的内容截断。 | ||
187 | + ERR_SVR_ACCOUNT_USERSIG_CHECK_FAILED_EX = 70005, ///< UserSig 校验失败,可用工具自行验证生成的 UserSig 是否正确。 | ||
188 | + ERR_SVR_ACCOUNT_USERSIG_MISMATCH_PUBLICKEY = 70009, ///< 用公钥验证 UserSig 失败,请确认生成的 UserSig 使用的私钥和 SDKAppID 是否对应。 | ||
189 | + ERR_SVR_ACCOUNT_USERSIG_MISMATCH_ID = 70013, ///< 请求的 Identifier 与生成 UserSig 的 Identifier 不匹配。 | ||
190 | + ERR_SVR_ACCOUNT_USERSIG_MISMATCH_SDKAPPID = 70014, ///< 请求的 SDKAppID 与生成 UserSig 的 SDKAppID 不匹配。 | ||
191 | + ERR_SVR_ACCOUNT_USERSIG_PUBLICKEY_NOT_FOUND = 70016, ///< 验证 UserSig 时公钥不存在。请先登录控制台下载私钥,下载私钥的具体方法可参考 [下载签名用的私钥](https://cloud.tencent.com/document/product/269/32688#.E4.B8.8B.E8.BD.BD.E7.AD.BE.E5.90.8D.E7.94.A8.E7.9A.84.E7.A7.81.E9.92.A5) 。 | ||
192 | + ERR_SVR_ACCOUNT_SDKAPPID_NOT_FOUND = 70020, ///< SDKAppID 未找到,请在云通信 IM 控制台确认应用信息。 | ||
193 | + ERR_SVR_ACCOUNT_INVALID_USERSIG = 70052, ///< UserSig 已经失效,请重新生成,再次尝试。 | ||
194 | + ERR_SVR_ACCOUNT_NOT_FOUND = 70107, ///< 请求的用户帐号不存在。 | ||
195 | + ERR_SVR_ACCOUNT_SEC_RSTR = 70114, ///< 安全原因被限制。 | ||
196 | + ERR_SVR_ACCOUNT_INTERNAL_TIMEOUT = 70169, ///< 服务端内部超时,请重试。 | ||
197 | + ERR_SVR_ACCOUNT_INVALID_COUNT = 70206, ///< 请求中批量数量不合法。 | ||
198 | + ERR_SVR_ACCOUNT_INVALID_PARAMETERS = 70402, ///< 参数非法,请检查必填字段是否填充,或者字段的填充是否满足协议要求。 | ||
199 | + ERR_SVR_ACCOUNT_ADMIN_REQUIRED = 70403, ///< 请求需要 App 管理员权限。 | ||
200 | + ERR_SVR_ACCOUNT_FREQ_LIMIT = 70050, ///< 因失败且重试次数过多导致被限制,请检查 UserSig 是否正确,一分钟之后再试。 | ||
201 | + ERR_SVR_ACCOUNT_BLACKLIST = 70051, ///< 帐号被拉入黑名单。 | ||
202 | + ERR_SVR_ACCOUNT_COUNT_LIMIT = 70398, ///< 创建帐号数量超过免费体验版数量限制,请升级为专业版。 | ||
203 | + ERR_SVR_ACCOUNT_INTERNAL_ERROR = 70500, ///< 服务端内部错误,请重试。 | ||
204 | + | ||
205 | + // 资料错误码 | ||
206 | + | ||
207 | + ERR_SVR_PROFILE_INVALID_PARAMETERS = 40001, ///< 请求参数错误,请根据错误描述检查请求是否正确。 | ||
208 | + ERR_SVR_PROFILE_ACCOUNT_MISS = 40002, ///< 请求参数错误,没有指定需要拉取资料的用户帐号。 | ||
209 | + ERR_SVR_PROFILE_ACCOUNT_NOT_FOUND = 40003, ///< 请求的用户帐号不存在。 | ||
210 | + ERR_SVR_PROFILE_ADMIN_REQUIRED = 40004, ///< 请求需要 App 管理员权限。 | ||
211 | + ERR_SVR_PROFILE_SENSITIVE_TEXT = 40005, ///< 资料字段中包含敏感词。 | ||
212 | + ERR_SVR_PROFILE_INTERNAL_ERROR = 40006, ///< 服务端内部错误,请稍后重试。 | ||
213 | + ERR_SVR_PROFILE_READ_PERMISSION_REQUIRED = 40007, ///< 没有资料字段的读权限,详情可参见 [资料字段](https://cloud.tencent.com/document/product/269/1500#.E8.B5.84.E6.96.99.E5.AD.97.E6.AE.B5) 。 | ||
214 | + ERR_SVR_PROFILE_WRITE_PERMISSION_REQUIRED = 40008, ///< 没有资料字段的写权限,详情可参见 [资料字段](https://cloud.tencent.com/document/product/269/1500#.E8.B5.84.E6.96.99.E5.AD.97.E6.AE.B5) 。 | ||
215 | + ERR_SVR_PROFILE_TAG_NOT_FOUND = 40009, ///< 资料字段的 Tag 不存在。 | ||
216 | + ERR_SVR_PROFILE_SIZE_LIMIT = 40601, ///< 资料字段的 Value 长度超过500字节。 | ||
217 | + ERR_SVR_PROFILE_VALUE_ERROR = 40605, ///< 标配资料字段的 Value 错误,详情可参见 [标配资料字段](https://cloud.tencent.com/doc/product/269/1500#.E6.A0.87.E9.85.8D.E8.B5.84.E6.96.99.E5.AD.97.E6.AE.B5) 。 | ||
218 | + ERR_SVR_PROFILE_INVALID_VALUE_FORMAT = 40610, ///< 资料字段的 Value 类型不匹配,详情可参见 [标配资料字段](https://cloud.tencent.com/doc/product/269/1500#.E6.A0.87.E9.85.8D.E8.B5.84.E6.96.99.E5.AD.97.E6.AE.B5) 。 | ||
219 | + | ||
220 | + // 关系链错误码 | ||
221 | + | ||
222 | + ERR_SVR_FRIENDSHIP_INVALID_PARAMETERS = 30001, ///< 请求参数错误,请根据错误描述检查请求是否正确。 | ||
223 | + ERR_SVR_FRIENDSHIP_INVALID_SDKAPPID = 30002, ///< SDKAppID 不匹配。 | ||
224 | + ERR_SVR_FRIENDSHIP_ACCOUNT_NOT_FOUND = 30003, ///< 请求的用户帐号不存在。 | ||
225 | + ERR_SVR_FRIENDSHIP_ADMIN_REQUIRED = 30004, ///< 请求需要 App 管理员权限。 | ||
226 | + ERR_SVR_FRIENDSHIP_SENSITIVE_TEXT = 30005, ///< 关系链字段中包含敏感词。 | ||
227 | + ERR_SVR_FRIENDSHIP_INTERNAL_ERROR = 30006, ///< 服务端内部错误,请重试。 | ||
228 | + ERR_SVR_FRIENDSHIP_NET_TIMEOUT = 30007, ///< 网络超时,请稍后重试。 | ||
229 | + ERR_SVR_FRIENDSHIP_WRITE_CONFLICT = 30008, ///< 并发写导致写冲突,建议使用批量方式。 | ||
230 | + ERR_SVR_FRIENDSHIP_ADD_FRIEND_DENY = 30009, ///< 后台禁止该用户发起加好友请求。 | ||
231 | + ERR_SVR_FRIENDSHIP_COUNT_LIMIT = 30010, ///< 自己的好友数已达系统上限。 | ||
232 | + ERR_SVR_FRIENDSHIP_GROUP_COUNT_LIMIT = 30011, ///< 分组已达系统上限。 | ||
233 | + ERR_SVR_FRIENDSHIP_PENDENCY_LIMIT = 30012, ///< 未决数已达系统上限。 | ||
234 | + ERR_SVR_FRIENDSHIP_BLACKLIST_LIMIT = 30013, ///< 黑名单数已达系统上限。 | ||
235 | + ERR_SVR_FRIENDSHIP_PEER_FRIEND_LIMIT = 30014, ///< 对方的好友数已达系统上限。 | ||
236 | + ERR_SVR_FRIENDSHIP_IN_SELF_BLACKLIST = 30515, ///< 请求添加好友时,对方在自己的黑名单中,不允许加好友。 | ||
237 | + ERR_SVR_FRIENDSHIP_ALLOW_TYPE_DENY_ANY = 30516, ///< 请求添加好友时,对方的加好友验证方式是不允许任何人添加自己为好友。 | ||
238 | + ERR_SVR_FRIENDSHIP_IN_PEER_BLACKLIST = 30525, ///< 请求添加好友时,自己在对方的黑名单中,不允许加好友。 | ||
239 | + ERR_SVR_FRIENDSHIP_ALLOW_TYPE_NEED_CONFIRM = 30539, ///< A 请求加 B 为好友,B 的加好友验证方式被设置为“AllowType_Type_NeedConfirm”,这时 A 与 B 之间只能形成未决关系,该返回码用于标识加未决成功,以便与加好友成功的返回码区分开,调用方可以捕捉该错误给用户一个合理的提示。 | ||
240 | + ERR_SVR_FRIENDSHIP_ADD_FRIEND_SEC_RSTR = 30540, ///< 添加好友请求被安全策略打击,请勿频繁发起添加好友请求。 | ||
241 | + ERR_SVR_FRIENDSHIP_PENDENCY_NOT_FOUND = 30614, ///< 请求的未决不存在。 | ||
242 | + ERR_SVR_FRIENDSHIP_DEL_NONFRIEND = 31704, ///< 与请求删除的帐号之间不存在好友关系。 | ||
243 | + ERR_SVR_FRIENDSHIP_DEL_FRIEND_SEC_RSTR = 31707, ///< 删除好友请求被安全策略打击,请勿频繁发起删除好友请求。 | ||
244 | + ERR_SVR_FRIENDSHIP_ACCOUNT_NOT_FOUND_EX = 31804, ///< 请求的用户帐号不存在。 | ||
245 | + | ||
246 | + // 最近联系人错误码 | ||
247 | + | ||
248 | + ERR_SVR_CONV_ACCOUNT_NOT_FOUND = 50001, ///< 请求的用户帐号不存在。 | ||
249 | + ERR_SVR_CONV_INVALID_PARAMETERS = 50002, ///< 请求参数错误,请根据错误描述检查请求是否正确。 | ||
250 | + ERR_SVR_CONV_ADMIN_REQUIRED = 50003, ///< 请求需要 App 管理员权限。 | ||
251 | + ERR_SVR_CONV_INTERNAL_ERROR = 50004, ///< 服务端内部错误,请重试。 | ||
252 | + ERR_SVR_CONV_NET_TIMEOUT = 50005, ///< 网络超时,请稍后重试。 | ||
253 | + | ||
254 | + // 消息错误码 | ||
255 | + | ||
256 | + ERR_SVR_MSG_PKG_PARSE_FAILED = 20001, ///< 请求包非法,请检查发送方和接收方帐号是否存在。 | ||
257 | + ERR_SVR_MSG_INTERNAL_AUTH_FAILED = 20002, ///< 内部鉴权失败。 | ||
258 | + ERR_SVR_MSG_INVALID_ID = 20003, ///< Identifier 无效或者 Identifier 未导入云通信 IM。 | ||
259 | + ERR_SVR_MSG_NET_ERROR = 20004, ///< 网络异常,请重试。 | ||
260 | + ERR_SVR_MSG_INTERNAL_ERROR1 = 20005, ///< 服务端内部错误,请重试。 | ||
261 | + ERR_SVR_MSG_PUSH_DENY = 20006, ///< 触发发送单聊消息之前回调,App 后台返回禁止下发该消息。 | ||
262 | + ERR_SVR_MSG_IN_PEER_BLACKLIST = 20007, ///< 发送单聊消息,被对方拉黑,禁止发送。 | ||
263 | + ERR_SVR_MSG_BOTH_NOT_FRIEND = 20009, ///< 消息发送双方互相不是好友,禁止发送(配置单聊消息校验好友关系才会出现)。 | ||
264 | + ERR_SVR_MSG_NOT_PEER_FRIEND = 20010, ///< 发送单聊消息,自己不是对方的好友(单向关系),禁止发送。 | ||
265 | + ERR_SVR_MSG_NOT_SELF_FRIEND = 20011, ///< 发送单聊消息,对方不是自己的好友(单向关系),禁止发送。 | ||
266 | + ERR_SVR_MSG_SHUTUP_DENY = 20012, ///< 因禁言,禁止发送消息。 | ||
267 | + ERR_SVR_MSG_REVOKE_TIME_LIMIT = 20016, ///< 消息撤回超过了时间限制(默认2分钟)。 | ||
268 | + ERR_SVR_MSG_DEL_RAMBLE_INTERNAL_ERROR = 20018, ///< 删除漫游内部错误。 | ||
269 | + ERR_SVR_MSG_JSON_PARSE_FAILED = 90001, ///< JSON 格式解析失败,请检查请求包是否符合 JSON 规范。 | ||
270 | + ERR_SVR_MSG_INVALID_JSON_BODY_FORMAT = 90002, ///< JSON 格式请求包中 MsgBody 不符合消息格式描述,或者 MsgBody 不是 Array 类型,请参考 [TIMMsgElement 对象](https://cloud.tencent.com/document/product/269/2720#.E6.B6.88.E6.81.AF.E5.85.83.E7.B4.A0timmsgelement) 的定义。 | ||
271 | + ERR_SVR_MSG_INVALID_TO_ACCOUNT = 90003, ///< JSON 格式请求包体中缺少 To_Account 字段或者 To_Account 字段不是 Integer 类型 | ||
272 | + ERR_SVR_MSG_INVALID_RAND = 90005, ///< JSON 格式请求包体中缺少 MsgRandom 字段或者 MsgRandom 字段不是 Integer 类型 | ||
273 | + ERR_SVR_MSG_INVALID_TIMESTAMP = 90006, ///< JSON 格式请求包体中缺少 MsgTimeStamp 字段或者 MsgTimeStamp 字段不是 Integer 类型 | ||
274 | + ERR_SVR_MSG_BODY_NOT_ARRAY = 90007, ///< JSON 格式请求包体中 MsgBody 类型不是 Array 类型,请将其修改为 Array 类型 | ||
275 | + ERR_SVR_MSG_ADMIN_REQUIRED = 90009, ///< 请求需要 App 管理员权限。 | ||
276 | + ERR_SVR_MSG_INVALID_JSON_FORMAT = 90010, ///< JSON 格式请求包不符合消息格式描述,请参考 [TIMMsgElement 对象](https://cloud.tencent.com/document/product/269/2720#.E6.B6.88.E6.81.AF.E5.85.83.E7.B4.A0timmsgelement) 的定义。 | ||
277 | + ERR_SVR_MSG_TO_ACCOUNT_COUNT_LIMIT = 90011, ///< 批量发消息目标帐号超过500,请减少 To_Account 中目标帐号数量。 | ||
278 | + ERR_SVR_MSG_TO_ACCOUNT_NOT_FOUND = 90012, ///< To_Account 没有注册或不存在,请确认 To_Account 是否导入云通信 IM 或者是否拼写错误。 | ||
279 | + ERR_SVR_MSG_TIME_LIMIT = 90026, ///< 消息离线存储时间错误(最多不能超过7天)。 | ||
280 | + ERR_SVR_MSG_INVALID_SYNCOTHERMACHINE = 90031, ///< JSON 格式请求包体中 SyncOtherMachine 字段不是 Integer 类型 | ||
281 | + ERR_SVR_MSG_INVALID_MSGLIFETIME = 90044, ///< JSON 格式请求包体中 MsgLifeTime 字段不是 Integer 类型 | ||
282 | + ERR_SVR_MSG_ACCOUNT_NOT_FOUND = 90048, ///< 请求的用户帐号不存在。 | ||
283 | + ERR_SVR_MSG_INTERNAL_ERROR2 = 90994, ///< 服务内部错误,请重试。 | ||
284 | + ERR_SVR_MSG_INTERNAL_ERROR3 = 90995, ///< 服务内部错误,请重试。 | ||
285 | + ERR_SVR_MSG_INTERNAL_ERROR4 = 91000, ///< 服务内部错误,请重试。 | ||
286 | + ERR_SVR_MSG_INTERNAL_ERROR5 = 90992, ///< 服务内部错误,请重试;如果所有请求都返回该错误码,且 App 配置了第三方回调,请检查 App 服务端是否正常向云通信 IM 后台服务端返回回调结果。 | ||
287 | + ERR_SVR_MSG_BODY_SIZE_LIMIT = 93000, ///< JSON 数据包超长,消息包体请不要超过8k。 | ||
288 | + ERR_SVR_MSG_LONGPOLLING_COUNT_LIMIT = 91101, ///< Web 端长轮询被踢(Web 端同时在线实例个数超出限制)。 | ||
289 | + // 120001 - 130000, ///< 单聊第三方回调返回的自定义错误码。 | ||
290 | + | ||
291 | + // 群组错误码 | ||
292 | + | ||
293 | + ERR_SVR_GROUP_INTERNAL_ERROR = 10002, ///< 服务端内部错误,请重试。 | ||
294 | + ERR_SVR_GROUP_API_NAME_ERROR = 10003, ///< 请求中的接口名称错误,请核对接口名称并重试。 | ||
295 | + ERR_SVR_GROUP_INVALID_PARAMETERS = 10004, ///< 参数非法,请根据错误描述检查请求是否正确。 | ||
296 | + ERR_SVR_GROUP_ACOUNT_COUNT_LIMIT = 10005, ///< 请求包体中携带的帐号数量过多。 | ||
297 | + ERR_SVR_GROUP_FREQ_LIMIT = 10006, ///< 操作频率限制,请尝试降低调用的频率。 | ||
298 | + ERR_SVR_GROUP_PERMISSION_DENY = 10007, ///< 操作权限不足,比如 Public 群组中普通成员尝试执行踢人操作,但只有 App 管理员才有权限。 | ||
299 | + ERR_SVR_GROUP_INVALID_REQ = 10008, ///< 请求非法,可能是请求中携带的签名信息验证不正确,请再次尝试或 [提交工单](https://console.cloud.tencent.com/workorder/category?level1_id=29&level2_id=40&source=0&data_title=%E4%BA%91%E9%80%9A%E4%BF%A1%20%20IM&step=1) 联系技术客服。 | ||
300 | + ERR_SVR_GROUP_SUPER_NOT_ALLOW_QUIT = 10009, ///< 该群不允许群主主动退出。 | ||
301 | + ERR_SVR_GROUP_NOT_FOUND = 10010, ///< 群组不存在,或者曾经存在过,但是目前已经被解散。 | ||
302 | + ERR_SVR_GROUP_JSON_PARSE_FAILED = 10011, ///< 解析 JSON 包体失败,请检查包体的格式是否符合 JSON 格式。 | ||
303 | + ERR_SVR_GROUP_INVALID_ID = 10012, ///< 发起操作的 Identifier 非法,请检查发起操作的用户 Identifier 是否填写正确。 | ||
304 | + ERR_SVR_GROUP_ALLREADY_MEMBER = 10013, ///< 被邀请加入的用户已经是群成员。 | ||
305 | + ERR_SVR_GROUP_FULL_MEMBER_COUNT = 10014, ///< 群已满员,无法将请求中的用户加入群组,如果是批量加人,可以尝试减少加入用户的数量。 | ||
306 | + ERR_SVR_GROUP_INVALID_GROUPID = 10015, ///< 群组 ID 非法,请检查群组 ID 是否填写正确。 | ||
307 | + ERR_SVR_GROUP_REJECT_FROM_THIRDPARTY = 10016, ///< App 后台通过第三方回调拒绝本次操作。 | ||
308 | + ERR_SVR_GROUP_SHUTUP_DENY = 10017, ///< 因被禁言而不能发送消息,请检查发送者是否被设置禁言。 | ||
309 | + ERR_SVR_GROUP_RSP_SIZE_LIMIT = 10018, ///< 应答包长度超过最大包长(1MB),请求的内容过多,请尝试减少单次请求的数据量。 | ||
310 | + ERR_SVR_GROUP_ACCOUNT_NOT_FOUND = 10019, ///< 请求的用户帐号不存在。 | ||
311 | + ERR_SVR_GROUP_GROUPID_IN_USED = 10021, ///< 群组 ID 已被使用,请选择其他的群组 ID。 | ||
312 | + ERR_SVR_GROUP_SEND_MSG_FREQ_LIMIT = 10023, ///< 发消息的频率超限,请延长两次发消息时间的间隔。 | ||
313 | + ERR_SVR_GROUP_REQ_ALLREADY_BEEN_PROCESSED = 10024, ///< 此邀请或者申请请求已经被处理。 | ||
314 | + ERR_SVR_GROUP_GROUPID_IN_USED_FOR_SUPER = 10025, ///< 群组 ID 已被使用,并且操作者为群主,可以直接使用。 | ||
315 | + ERR_SVR_GROUP_SDKAPPID_DENY = 10026, ///< 该 SDKAppID 请求的命令字已被禁用,请 [提交工单](https://console.cloud.tencent.com/workorder/category?level1_id=29&level2_id=40&source=0&data_title=%E4%BA%91%E9%80%9A%E4%BF%A1%20%20IM&step=1) 联系客服。 | ||
316 | + ERR_SVR_GROUP_REVOKE_MSG_NOT_FOUND = 10030, ///< 请求撤回的消息不存在。 | ||
317 | + ERR_SVR_GROUP_REVOKE_MSG_TIME_LIMIT = 10031, ///< 消息撤回超过了时间限制(默认2分钟)。 | ||
318 | + ERR_SVR_GROUP_REVOKE_MSG_DENY = 10032, ///< 请求撤回的消息不支持撤回操作。 | ||
319 | + ERR_SVR_GROUP_NOT_ALLOW_REVOKE_MSG = 10033, ///< 群组类型不支持消息撤回操作。 | ||
320 | + ERR_SVR_GROUP_REMOVE_MSG_DENY = 10034, ///< 该消息类型不支持删除操作。 | ||
321 | + ERR_SVR_GROUP_NOT_ALLOW_REMOVE_MSG = 10035, ///< 音视频聊天室和在线成员广播大群不支持删除消息。 | ||
322 | + ERR_SVR_GROUP_AVCHATROOM_COUNT_LIMIT = 10036, ///< 音视频聊天室创建数量超过了限制,请参考 [价格说明](https://cloud.tencent.com/document/product/269/11673) 购买预付费套餐“IM音视频聊天室”。 | ||
323 | + ERR_SVR_GROUP_COUNT_LIMIT = 10037, ///< 单个用户可创建和加入的群组数量超过了限制,请参考 [价格说明](https://cloud.tencent.com/document/product/269/11673) 购买或升级预付费套餐“单人可创建与加入群组数”。 | ||
324 | + ERR_SVR_GROUP_MEMBER_COUNT_LIMIT = 10038, ///< 群成员数量超过限制,请参考 [价格说明](https://cloud.tencent.com/document/product/269/11673) 购买或升级预付费套餐“扩展群人数上限”。 | ||
325 | + | ||
326 | + ///////////////////////////////////////////////////////////////////////////////// | ||
327 | + // | ||
328 | + // (三)IM SDK V3 版本的错误码 | ||
329 | + // | ||
330 | + ///////////////////////////////////////////////////////////////////////////////// | ||
331 | + | ||
332 | + ERR_NO_SUCC_RESULT = 6003, ///< 批量操作无成功结果。 | ||
333 | + ERR_TO_USER_INVALID = 6011, ///< 无效接收方。 | ||
334 | + ERR_REQUEST_TIMEOUT = 6012, ///< 请求超时。 | ||
335 | + ERR_INIT_CORE_FAIL = 6018, ///< INIT CORE 模块失败。 | ||
336 | + ERR_EXPIRED_SESSION_NODE = 6020, ///< SessionNode 为 null 。 | ||
337 | + ERR_LOGGED_OUT_BEFORE_LOGIN_FINISHED = 6023, ///< 在登录完成前进行了登出(在登录时返回)。 | ||
338 | + ERR_TLSSDK_NOT_INITIALIZED = 6024, ///< TLS SDK 未初始化。 | ||
339 | + ERR_TLSSDK_USER_NOT_FOUND = 6025, ///< TLS SDK 没有找到相应的用户信息。 | ||
340 | + ERR_BIND_FAIL_UNKNOWN = 6100, ///< QALSDK 未知原因BIND失败。 | ||
341 | + ERR_BIND_FAIL_NO_SSOTICKET = 6101, ///< 缺少 SSO 票据。 | ||
342 | + ERR_BIND_FAIL_REPEATD_BIND = 6102, ///< 重复 BIND。 | ||
343 | + ERR_BIND_FAIL_TINYID_NULL = 6103, ///< TinyId 为空。 | ||
344 | + ERR_BIND_FAIL_GUID_NULL = 6104, ///< GUID 为空。 | ||
345 | + ERR_BIND_FAIL_UNPACK_REGPACK_FAILED = 6105, ///< 解注册包失败。 | ||
346 | + ERR_BIND_FAIL_REG_TIMEOUT = 6106, ///< 注册超时。 | ||
347 | + ERR_BIND_FAIL_ISBINDING = 6107, ///< 正在 BIND 操作中。 | ||
348 | + ERR_PACKET_FAIL_UNKNOWN = 6120, ///< 发包未知错误。 | ||
349 | + ERR_PACKET_FAIL_REQ_NO_NET = 6121, ///< 发送请求包时没有网络。 | ||
350 | + ERR_PACKET_FAIL_RESP_NO_NET = 6122, ///< 发送回复包时没有网络。 | ||
351 | + ERR_PACKET_FAIL_REQ_NO_AUTH = 6123, ///< 发送请求包时没有权限。 | ||
352 | + ERR_PACKET_FAIL_SSO_ERR = 6124, ///< SSO 错误。 | ||
353 | + ERR_PACKET_FAIL_REQ_TIMEOUT = 6125, ///< 请求超时。 | ||
354 | + ERR_PACKET_FAIL_RESP_TIMEOUT = 6126, ///< 回复超时。 | ||
355 | + ERR_PACKET_FAIL_REQ_ON_RESEND = 6127, ///< 重发失败。 | ||
356 | + ERR_PACKET_FAIL_RESP_NO_RESEND = 6128, ///< 重发时没有真正发送。 | ||
357 | + ERR_PACKET_FAIL_FLOW_SAVE_FILTERED = 6129, ///< 保存被过滤。 | ||
358 | + ERR_PACKET_FAIL_REQ_OVER_LOAD = 6130, ///< 发送过载。 | ||
359 | + ERR_PACKET_FAIL_LOGIC_ERR = 6131, ///< 数据逻辑错误。 | ||
360 | + ERR_FRIENDSHIP_PROXY_NOT_SYNCED = 6150, ///< proxy_manager 没有完成服务端数据同步。 | ||
361 | + ERR_FRIENDSHIP_PROXY_SYNCING = 6151, ///< proxy_manager 正在进行服务端数据同步。 | ||
362 | + ERR_FRIENDSHIP_PROXY_SYNCED_FAIL = 6152, ///< proxy_manager 同步失败。 | ||
363 | + ERR_FRIENDSHIP_PROXY_LOCAL_CHECK_ERR = 6153, ///< proxy_manager 请求参数,在本地检查不合法。 | ||
364 | + ERR_GROUP_INVALID_FIELD = 6160, ///< Group assistant 请求字段中包含非预设字段。 | ||
365 | + ERR_GROUP_STORAGE_DISABLED = 6161, ///< Group assistant 群资料本地存储没有开启。 | ||
366 | + ERR_LOADGRPINFO_FAILED = 6162, ///< 加载群资料失败。 | ||
367 | + ERR_REQ_NO_NET_ON_REQ = 6200, ///< 请求的时候没有网络。 | ||
368 | + ERR_REQ_NO_NET_ON_RSP = 6201, ///< 响应的时候没有网络。 | ||
369 | + ERR_SERIVCE_NOT_READY = 6205, ///< QALSDK 服务未就绪。 | ||
370 | + ERR_LOGIN_AUTH_FAILED = 6207, ///< 账号认证失败( TinyId 转换失败)。 | ||
371 | + ERR_NEVER_CONNECT_AFTER_LAUNCH = 6209, ///< 在应用启动后没有尝试联网。 | ||
372 | + ERR_REQ_FAILED = 6210, ///< QALSDK 执行失败。 | ||
373 | + ERR_REQ_INVALID_REQ = 6211, ///< 请求非法,toMsgService 非法。 | ||
374 | + ERR_REQ_OVERLOADED = 6212, ///< 请求队列满。 | ||
375 | + ERR_REQ_KICK_OFF = 6213, ///< 已经被其他终端踢了。 | ||
376 | + ERR_REQ_SERVICE_SUSPEND = 6214, ///< 服务被暂停。 | ||
377 | + ERR_REQ_INVALID_SIGN = 6215, ///< SSO 签名错误。 | ||
378 | + ERR_REQ_INVALID_COOKIE = 6216, ///< SSO cookie 无效。 | ||
379 | + ERR_LOGIN_TLS_RSP_PARSE_FAILED = 6217, ///< 登录时 TLS SDK 回包校验,包体长度错误。 | ||
380 | + ERR_LOGIN_OPENMSG_TIMEOUT = 6218, ///< 登录时 OPENSTATSVC 向 OPENMSG 上报状态超时。 | ||
381 | + ERR_LOGIN_OPENMSG_RSP_PARSE_FAILED = 6219, ///< 登录时 OPENSTATSVC 向 OPENMSG 上报状态时解析回包失败。 | ||
382 | + ERR_LOGIN_TLS_DECRYPT_FAILED = 6220, ///< 登录时 TLS SDK 解密失败。 | ||
383 | + ERR_WIFI_NEED_AUTH = 6221, ///< WIFI 需要认证。 | ||
384 | + ERR_USER_CANCELED = 6222, ///< 用户已取消。 | ||
385 | + ERR_REVOKE_TIME_LIMIT_EXCEED = 6223, ///< 消息撤回超过了时间限制(默认2分钟)。 | ||
386 | + ERR_LACK_UGC_EXT = 6224, ///< 缺少 UGC 扩展包。 | ||
387 | + ERR_AUTOLOGIN_NEED_USERSIG = 6226, ///< 自动登录,本地票据过期,需要 UserSig 手动登录。 | ||
388 | + ERR_QAL_NO_SHORT_CONN_AVAILABLE = 6300, ///< 没有可用的短连接 SSO 。 | ||
389 | + ERR_REQ_CONTENT_ATTACK = 80101, ///< 消息内容安全打击。 | ||
390 | + ERR_LOGIN_SIG_EXPIRE = 70101, ///< 登录返回,票据过期。 | ||
391 | + ERR_SDK_HAD_INITIALIZED = 90101, ///< IM SDK 已经初始化无需重复初始化。 | ||
392 | + ERR_OPENBDH_BASE = 115000, ///< OpenBDH 错误码基。 | ||
393 | + ERR_REQUEST_NO_NET_ONREQ = 6250, ///< 请求时没有网络,请等网络恢复后重试。 | ||
394 | + ERR_REQUEST_NO_NET_ONRSP = 6251, ///< 响应时没有网络,请等网络恢复后重试。 | ||
395 | + ERR_REQUEST_FAILED = 6252, ///< QALSDK 执行失败。 | ||
396 | + ERR_REQUEST_INVALID_REQ = 6253, ///< 请求非法,toMsgService 非法。 | ||
397 | + ERR_REQUEST_OVERLOADED = 6254, ///< 请求队列満。 | ||
398 | + ERR_REQUEST_KICK_OFF = 6255, ///< 已经被其他终端踢了。 | ||
399 | + ERR_REQUEST_SERVICE_SUSPEND = 6256, ///< 服务被暂停。 | ||
400 | + ERR_REQUEST_INVALID_SIGN = 6257, ///< SSO 签名错误。 | ||
401 | + ERR_REQUEST_INVALID_COOKIE = 6258, ///< SSO cookie 无效。 | ||
402 | + | ||
403 | +}; | ||
404 | + | ||
405 | +#endif /* TIMErrorCode_h */ |
1 | +// | ||
2 | +// TIMFriendshipDefine.h | ||
3 | +// imsdk | ||
4 | +// | ||
5 | +// Created by annidyfeng on 2019/3/7. | ||
6 | +// Copyright © 2019年 Tencent. All rights reserved. | ||
7 | +// | ||
8 | + | ||
9 | +#ifndef TIMFriendshipDefine_h | ||
10 | +#define TIMFriendshipDefine_h | ||
11 | + | ||
12 | +#import "ImSDK.h" | ||
13 | + | ||
14 | +@class TIMFriendPendencyResponse; | ||
15 | +@class TIMFriendPendencyItem; | ||
16 | +@class TIMFriendFutureMeta; | ||
17 | +@class TIMFriendGroup; | ||
18 | +@class TIMFriendGetResult; | ||
19 | + | ||
20 | +#pragma mark - 枚举类型 | ||
21 | + | ||
22 | +/** | ||
23 | + * 好友操作状态 | ||
24 | + * | ||
25 | + * 详细错误码参见 https://cloud.tencent.com/document/product/269/1671#.E5.85.B3.E7.B3.BB.E9.93.BE.E9.94.99.E8.AF.AF.E7.A0.81 | ||
26 | + */ | ||
27 | +typedef NS_ENUM(NSInteger, TIMFriendStatus) { | ||
28 | + /** | ||
29 | + * 操作成功 | ||
30 | + */ | ||
31 | + TIM_FRIEND_STATUS_SUCC = 0, | ||
32 | + | ||
33 | + /** | ||
34 | + * 请求参数错误,请根据错误描述检查请求是否正确 | ||
35 | + */ | ||
36 | + TIM_FRIEND_PARAM_INVALID = 30001, | ||
37 | + | ||
38 | + /** | ||
39 | + * 请求参数错误,SdkAppid 不匹配。 | ||
40 | + */ | ||
41 | + TIM_FRIEND_SDK_APPID_INVALID = 30002, | ||
42 | + | ||
43 | + /** | ||
44 | + * 请求的用户帐号不存在 | ||
45 | + */ | ||
46 | + TIM_FRIEND_ID_INVALID = 30003, | ||
47 | + | ||
48 | + /** | ||
49 | + * 请求需要 App 管理员权限 | ||
50 | + */ | ||
51 | + TIM_FRIEND_NEED_ADMIN_PERMISSON = 30004, | ||
52 | + | ||
53 | + /** | ||
54 | + * 关系链字段中包含敏感词 | ||
55 | + */ | ||
56 | + TIM_FRIEND_DIRTY_WORD = 30005, | ||
57 | + | ||
58 | + /** | ||
59 | + * 服务器内部错误,请重试 | ||
60 | + */ | ||
61 | + TIM_FRIEND_SERVER_ERROR = 30006, | ||
62 | + | ||
63 | + /** | ||
64 | + * 网络超时,请稍后重试 | ||
65 | + */ | ||
66 | + TIM_FRIEND_TIMEOUT = 30007, | ||
67 | + | ||
68 | + /** | ||
69 | + * 并发写导致写冲突,建议使用批量方式 | ||
70 | + */ | ||
71 | + TIM_FRIEND_WRITE_ERROR = 30008, | ||
72 | + | ||
73 | + /** | ||
74 | + * 后台禁止该用户发起加好友请求 | ||
75 | + */ | ||
76 | + TIM_ADD_FRIEND_FORBIDEN = 30009, | ||
77 | + | ||
78 | + /** | ||
79 | + * 自己的好友数已达系统上限 | ||
80 | + */ | ||
81 | + TIM_ADD_FRIEND_STATUS_SELF_FRIEND_FULL = 30010, | ||
82 | + | ||
83 | + /** | ||
84 | + * 分组已达系统上限 | ||
85 | + */ | ||
86 | + TIM_UPDATE_FRIEND_GROUP_STATUS_MAX_GROUPS_EXCEED = 30011, | ||
87 | + | ||
88 | + /** | ||
89 | + * 未决数已达系统上限。 | ||
90 | + */ | ||
91 | + TIM_PENDENCY_STATUS_FULL = 30012, | ||
92 | + | ||
93 | + /** | ||
94 | + * 黑名单数已达系统上限 | ||
95 | + */ | ||
96 | + TIM_ADD_BLACKLIST_STATUS_FULL = 30013, | ||
97 | + | ||
98 | + /** | ||
99 | + * 对方的好友数已达系统上限 | ||
100 | + */ | ||
101 | + TIM_ADD_FRIEND_STATUS_THEIR_FRIEND_FULL = 30014, | ||
102 | + | ||
103 | + /** | ||
104 | + * 被加好友在自己的黑名单中 | ||
105 | + */ | ||
106 | + TIM_ADD_FRIEND_STATUS_IN_SELF_BLACK_LIST = 30515, | ||
107 | + | ||
108 | + /** | ||
109 | + * 被加好友设置为禁止加好友 | ||
110 | + */ | ||
111 | + TIM_ADD_FRIEND_STATUS_FRIEND_SIDE_FORBID_ADD = 30516, | ||
112 | + | ||
113 | + /** | ||
114 | + * 已被被添加好友设置为黑名单 | ||
115 | + */ | ||
116 | + TIM_ADD_FRIEND_STATUS_IN_OTHER_SIDE_BLACK_LIST = 30525, | ||
117 | + | ||
118 | + /** | ||
119 | + * 等待好友审核同意 | ||
120 | + */ | ||
121 | + TIM_ADD_FRIEND_STATUS_PENDING = 30539, | ||
122 | + | ||
123 | + /** | ||
124 | + * 添加好友请求被安全策略打击,请勿频繁发起添加好友请求 | ||
125 | + */ | ||
126 | + TIM_ADD_FRIEND_STATUS_SENSITIVE = 30540, | ||
127 | + | ||
128 | + /** | ||
129 | + * 对方没有申请过好友 | ||
130 | + */ | ||
131 | + TIM_RESPONSE_FRIEND_STATUS_NO_REQ = 30614, | ||
132 | + | ||
133 | + /** | ||
134 | + * 删除好友请求被安全策略打击,请勿频繁发起删除好友请求 | ||
135 | + */ | ||
136 | + TIM_DELETE_FRIEND_STATUS_SENSITIVE = 31707, | ||
137 | +}; | ||
138 | + | ||
139 | +typedef NS_ENUM(NSInteger, TIMDelFriendType) { | ||
140 | + /** | ||
141 | + * 删除单向好友 | ||
142 | + */ | ||
143 | + TIM_FRIEND_DEL_SINGLE = 1, | ||
144 | + | ||
145 | + /** | ||
146 | + * 删除双向好友 | ||
147 | + */ | ||
148 | + TIM_FRIEND_DEL_BOTH = 2, | ||
149 | +}; | ||
150 | + | ||
151 | +typedef NS_ENUM(NSInteger, TIMPendencyType) { | ||
152 | + /** | ||
153 | + * 别人发给我的 | ||
154 | + */ | ||
155 | + TIM_PENDENCY_COME_IN = 1, | ||
156 | + | ||
157 | + /** | ||
158 | + * 我发给别人的 | ||
159 | + */ | ||
160 | + TIM_PENDENCY_SEND_OUT = 2, | ||
161 | + | ||
162 | + /** | ||
163 | + * 别人发给我的 和 我发给别人的。仅拉取时有效 | ||
164 | + */ | ||
165 | + TIM_PENDENCY_BOTH = 3, | ||
166 | +}; | ||
167 | + | ||
168 | +/** | ||
169 | + * 推荐好友类型 | ||
170 | + */ | ||
171 | +typedef NS_ENUM(NSInteger, TIMFutureFriendType) { | ||
172 | + /** | ||
173 | + * 收到的未决请求 | ||
174 | + */ | ||
175 | + TIM_FUTURE_FRIEND_PENDENCY_IN_TYPE = 0x1, | ||
176 | + | ||
177 | + /** | ||
178 | + * 发出去的未决请求 | ||
179 | + */ | ||
180 | + TIM_FUTURE_FRIEND_PENDENCY_OUT_TYPE = 0x2, | ||
181 | + | ||
182 | + /** | ||
183 | + * 推荐好友 | ||
184 | + */ | ||
185 | + TIM_FUTURE_FRIEND_RECOMMEND_TYPE = 0x4, | ||
186 | + | ||
187 | + /** | ||
188 | + * 已决好友 | ||
189 | + */ | ||
190 | + TIM_FUTURE_FRIEND_DECIDE_TYPE = 0x8, | ||
191 | +}; | ||
192 | + | ||
193 | +/** | ||
194 | + * 翻页选项 | ||
195 | + */ | ||
196 | +typedef NS_ENUM(NSInteger, TIMPageDirectionType) { | ||
197 | + /** | ||
198 | + * 向上翻页 | ||
199 | + */ | ||
200 | + TIM_PAGE_DIRECTION_UP_TYPE = 1, | ||
201 | + | ||
202 | + /** | ||
203 | + * 向下翻页 | ||
204 | + */ | ||
205 | + TIM_PAGE_DIRECTION_DOWN_TYPE = 2, | ||
206 | +}; | ||
207 | + | ||
208 | +/** | ||
209 | + * 好友检查类型 | ||
210 | + */ | ||
211 | +typedef NS_ENUM(NSInteger,TIMFriendCheckType) { | ||
212 | + /** | ||
213 | + * 单向好友 | ||
214 | + */ | ||
215 | + TIM_FRIEND_CHECK_TYPE_UNIDIRECTION = 0x1, | ||
216 | + /** | ||
217 | + * 互为好友 | ||
218 | + */ | ||
219 | + TIM_FRIEND_CHECK_TYPE_BIDIRECTION = 0x2, | ||
220 | +}; | ||
221 | + | ||
222 | +/** | ||
223 | + * 好友关系类型 | ||
224 | + */ | ||
225 | +typedef NS_ENUM(NSInteger,TIMFriendRelationType) { | ||
226 | + /** | ||
227 | + * 不是好友 | ||
228 | + */ | ||
229 | + TIM_FRIEND_RELATION_TYPE_NONE = 0x0, | ||
230 | + /** | ||
231 | + * 对方在我的好友列表中 | ||
232 | + */ | ||
233 | + TIM_FRIEND_RELATION_TYPE_MY_UNI = 0x1, | ||
234 | + /** | ||
235 | + * 我在对方的好友列表中 | ||
236 | + */ | ||
237 | + TIM_FRIEND_RELATION_TYPE_OTHER_UNI = 0x2, | ||
238 | + /** | ||
239 | + * 互为好友 | ||
240 | + */ | ||
241 | + TIM_FRIEND_RELATION_TYPE_BOTHWAY = 0x3, | ||
242 | +}; | ||
243 | + | ||
244 | +typedef NS_ENUM(NSInteger, TIMFriendResponseType) { | ||
245 | + /** | ||
246 | + * 同意加好友(建立单向好友) | ||
247 | + */ | ||
248 | + TIM_FRIEND_RESPONSE_AGREE = 0, | ||
249 | + | ||
250 | + /** | ||
251 | + * 同意加好友并加对方为好友(建立双向好友) | ||
252 | + */ | ||
253 | + TIM_FRIEND_RESPONSE_AGREE_AND_ADD = 1, | ||
254 | + | ||
255 | + /** | ||
256 | + * 拒绝对方好友请求 | ||
257 | + */ | ||
258 | + TIM_FRIEND_RESPONSE_REJECT = 2, | ||
259 | +}; | ||
260 | + | ||
261 | +/** | ||
262 | + * 好友检查类型 | ||
263 | + */ | ||
264 | +typedef NS_ENUM(NSInteger,TIMFriendAddType) { | ||
265 | + /** | ||
266 | + * 单向好友 | ||
267 | + */ | ||
268 | + TIM_FRIEND_ADD_TYPE_SINGLE = 1, | ||
269 | + /** | ||
270 | + * 互为好友 | ||
271 | + */ | ||
272 | + TIM_FRIEND_ADD_TYPE_BOTH = 2, | ||
273 | +}; | ||
274 | +#pragma mark - block回调 | ||
275 | + | ||
276 | +/** | ||
277 | + * 获取指定好友资料请求 | ||
278 | + */ | ||
279 | +typedef void (^TIMFriendGetResultSucc)(NSArray<TIMFriendGetResult *> *friendGetResults); | ||
280 | + | ||
281 | +/** | ||
282 | + * 获取未决请求列表成功 | ||
283 | + * | ||
284 | + * @param pendencyResponse 未决请求元信息 | ||
285 | + */ | ||
286 | +typedef void (^TIMGetFriendPendencyListSucc)(TIMFriendPendencyResponse *pendencyResponse); | ||
287 | + | ||
288 | +/** | ||
289 | + * 群搜索回调 | ||
290 | + * | ||
291 | + * @param totalNum 搜索结果的总数 | ||
292 | + * @param users 请求的用户列表片段 | ||
293 | + */ | ||
294 | +typedef void (^TIMUserSearchSucc)(uint64_t totalNum, NSArray * users); | ||
295 | + | ||
296 | +/** | ||
297 | + * 好友分组列表 | ||
298 | + * | ||
299 | + * @param groups 好友分组(TIMFriendGroup*)列表 | ||
300 | + */ | ||
301 | +typedef void (^TIMFriendGroupArraySucc)(NSArray<TIMFriendGroup *> * groups); | ||
302 | + | ||
303 | +/** | ||
304 | + * 好友关系检查回调 | ||
305 | + * | ||
306 | + * @param results TIMCheckFriendResult列表 | ||
307 | + */ | ||
308 | +typedef void (^TIMFriendCheckSucc)(NSArray* results); | ||
309 | + | ||
310 | +#pragma mark - 基本类型 | ||
311 | +/** | ||
312 | + * 获取指定好友资料请求 | ||
313 | + */ | ||
314 | +@interface TIMFriendGetResult : TIMCodingModel | ||
315 | + | ||
316 | +/** | ||
317 | + * 返回码 | ||
318 | + */ | ||
319 | +@property(nonatomic,assign) int resultCode; | ||
320 | + | ||
321 | +/** | ||
322 | + * 返结果表述 | ||
323 | + */ | ||
324 | +@property(nonatomic,strong) NSString *resultInfo; | ||
325 | + | ||
326 | +/** | ||
327 | + * 好友类型 | ||
328 | + */ | ||
329 | +@property(nonatomic,assign) TIMFriendRelationType relation; | ||
330 | + | ||
331 | +/** | ||
332 | + * 获取好友资料,如果不是好友除了 identifier 字段,其他字段都为空 | ||
333 | + */ | ||
334 | +@property(nonatomic,strong) TIMFriend *timFriend; | ||
335 | +@end | ||
336 | + | ||
337 | +/** | ||
338 | + * 加好友请求 | ||
339 | + */ | ||
340 | +@interface TIMFriendRequest : TIMCodingModel | ||
341 | + | ||
342 | +/** | ||
343 | + * 用户identifier(必填) | ||
344 | + */ | ||
345 | +@property (nonatomic,strong) NSString* identifier; | ||
346 | + | ||
347 | +/** | ||
348 | + * 备注(备注最大96字节) | ||
349 | + */ | ||
350 | +@property (nonatomic,strong) NSString* remark; | ||
351 | + | ||
352 | +/** | ||
353 | + * 请求说明(最大120字节) | ||
354 | + */ | ||
355 | +@property (nonatomic,strong) NSString* addWording; | ||
356 | + | ||
357 | +/** | ||
358 | + * 添加来源 | ||
359 | + * 来源需要添加“AddSource_Type_”前缀 | ||
360 | + */ | ||
361 | +@property (nonatomic,strong) NSString* addSource; | ||
362 | + | ||
363 | +/** | ||
364 | + * 分组 | ||
365 | + */ | ||
366 | +@property (nonatomic,strong) NSString* group; | ||
367 | + | ||
368 | +/** | ||
369 | + * 加好友方式 (可选) | ||
370 | + */ | ||
371 | +@property (nonatomic,assign) TIMFriendAddType addType; | ||
372 | + | ||
373 | +@end | ||
374 | + | ||
375 | +/** | ||
376 | + * 未决请求 | ||
377 | + */ | ||
378 | +@interface TIMFriendPendencyItem : TIMCodingModel | ||
379 | + | ||
380 | +/** | ||
381 | + * 用户标识 | ||
382 | + */ | ||
383 | +@property(nonatomic,strong) NSString* identifier; | ||
384 | +/** | ||
385 | + * 增加时间 | ||
386 | + */ | ||
387 | +@property(nonatomic,assign) uint64_t addTime; | ||
388 | +/** | ||
389 | + * 来源 | ||
390 | + */ | ||
391 | +@property(nonatomic,strong) NSString* addSource; | ||
392 | +/** | ||
393 | + * 加好友附言 | ||
394 | + */ | ||
395 | +@property(nonatomic,strong) NSString* addWording; | ||
396 | + | ||
397 | +/** | ||
398 | + * 加好友昵称 | ||
399 | + */ | ||
400 | +@property(nonatomic,strong) NSString* nickname; | ||
401 | + | ||
402 | +/** | ||
403 | + * 未决请求类型 | ||
404 | + */ | ||
405 | +@property(nonatomic,assign) TIMPendencyType type; | ||
406 | + | ||
407 | +@end | ||
408 | + | ||
409 | +/** | ||
410 | + * 未决推送 | ||
411 | + */ | ||
412 | +@interface TIMFriendPendencyInfo : TIMCodingModel | ||
413 | +/** | ||
414 | + * 用户标识 | ||
415 | + */ | ||
416 | +@property(nonatomic,strong) NSString* identifier; | ||
417 | +/** | ||
418 | + * 来源 | ||
419 | + */ | ||
420 | +@property(nonatomic,strong) NSString* addSource; | ||
421 | +/** | ||
422 | + * 加好友附言 | ||
423 | + */ | ||
424 | +@property(nonatomic,strong) NSString* addWording; | ||
425 | + | ||
426 | +/** | ||
427 | + * 加好友昵称 | ||
428 | + */ | ||
429 | +@property(nonatomic,strong) NSString* nickname; | ||
430 | +@end | ||
431 | + | ||
432 | +/** | ||
433 | + * 未决请求信息 | ||
434 | + */ | ||
435 | +@interface TIMFriendPendencyRequest : TIMCodingModel | ||
436 | + | ||
437 | +/** | ||
438 | + * 序列号,未决列表序列号 | ||
439 | + * 建议客户端保存seq和未决列表,请求时填入server返回的seq | ||
440 | + * 如果seq是server最新的,则不返回数据 | ||
441 | + */ | ||
442 | +@property(nonatomic,assign) uint64_t seq; | ||
443 | + | ||
444 | +/** | ||
445 | + * 翻页时间戳,只用来翻页,server返回0时表示没有更多数据,第一次请求填0 | ||
446 | + * 特别注意的是,如果server返回的seq跟填入的seq不同,翻页过程中,需要使用客户端原始seq请求,直到数据请求完毕,才能更新本地seq | ||
447 | + */ | ||
448 | +@property(nonatomic,assign) uint64_t timestamp; | ||
449 | + | ||
450 | +/** | ||
451 | + * 每页的数量,即本次请求最多返回多个数据,最大不超过 100,设置太大一次请求回包的时间会过长。默认值100 | ||
452 | + * 注意:后台最多只保存100条未决 | ||
453 | + */ | ||
454 | +@property(nonatomic,assign) uint64_t numPerPage; | ||
455 | + | ||
456 | +/** | ||
457 | + * 未决请求拉取类型 | ||
458 | + */ | ||
459 | +@property(nonatomic,assign) TIMPendencyType type; | ||
460 | + | ||
461 | +@end | ||
462 | + | ||
463 | +/** | ||
464 | + * 未决返回信息 | ||
465 | + */ | ||
466 | +@interface TIMFriendPendencyResponse : TIMCodingModel | ||
467 | + | ||
468 | +/** | ||
469 | + * 本次请求的未决列表序列号 | ||
470 | + */ | ||
471 | +@property(nonatomic,assign) uint64_t seq; | ||
472 | + | ||
473 | +/** | ||
474 | + * 本次请求的翻页时间戳 | ||
475 | + */ | ||
476 | +@property(nonatomic,assign) uint64_t timestamp; | ||
477 | + | ||
478 | +/** | ||
479 | + * 未决请求未读数量 | ||
480 | + */ | ||
481 | +@property(nonatomic,assign) uint64_t unreadCnt; | ||
482 | + | ||
483 | +/** | ||
484 | + * 未决数据 | ||
485 | + */ | ||
486 | +@property NSArray<TIMFriendPendencyItem *> * pendencies; | ||
487 | + | ||
488 | +@end | ||
489 | + | ||
490 | +/** | ||
491 | + * 好友分组信息 | ||
492 | + */ | ||
493 | +@interface TIMFriendGroup : TIMCodingModel | ||
494 | +/** | ||
495 | + * 好友分组名称 | ||
496 | + */ | ||
497 | +@property(nonatomic,strong) NSString* name; | ||
498 | + | ||
499 | +/** | ||
500 | + * 分组成员数量 | ||
501 | + */ | ||
502 | +@property(nonatomic,assign) uint64_t userCnt; | ||
503 | + | ||
504 | +/** | ||
505 | + * 分组成员identifier列表 | ||
506 | + */ | ||
507 | +@property(nonatomic,strong) NSArray* friends; | ||
508 | + | ||
509 | +@end | ||
510 | + | ||
511 | +/** | ||
512 | + * 好友关系检查 | ||
513 | + */ | ||
514 | +@interface TIMFriendCheckInfo : NSObject | ||
515 | +/** | ||
516 | + * 检查用户的id列表(NSString*) | ||
517 | + */ | ||
518 | +@property(nonatomic,strong) NSArray* users; | ||
519 | + | ||
520 | +/** | ||
521 | + * 检查类型 | ||
522 | + */ | ||
523 | +@property(nonatomic,assign) TIMFriendCheckType checkType; | ||
524 | + | ||
525 | +@end | ||
526 | + | ||
527 | +@interface TIMCheckFriendResult : NSObject | ||
528 | +/** | ||
529 | + * 用户id | ||
530 | + */ | ||
531 | +@property NSString* identifier; | ||
532 | + | ||
533 | +/** | ||
534 | + * 返回码 | ||
535 | + */ | ||
536 | +@property NSInteger result_code; | ||
537 | + | ||
538 | +/** | ||
539 | + * 返回信息 | ||
540 | + */ | ||
541 | +@property NSString *result_info; | ||
542 | + | ||
543 | +/** | ||
544 | + * 检查结果 | ||
545 | + */ | ||
546 | +@property(nonatomic,assign) TIMFriendRelationType resultType; | ||
547 | + | ||
548 | +@end | ||
549 | + | ||
550 | +@interface TIMFriendResult : NSObject | ||
551 | + | ||
552 | +/** | ||
553 | + * 用户Id | ||
554 | + */ | ||
555 | +@property NSString* identifier; | ||
556 | + | ||
557 | +/** | ||
558 | + * 返回码 | ||
559 | + */ | ||
560 | +@property NSInteger result_code; | ||
561 | + | ||
562 | +/** | ||
563 | + * 返回信息 | ||
564 | + */ | ||
565 | +@property NSString *result_info; | ||
566 | + | ||
567 | +@end | ||
568 | + | ||
569 | +/** | ||
570 | + * 响应好友请求 | ||
571 | + */ | ||
572 | +@interface TIMFriendResponse : NSObject | ||
573 | + | ||
574 | +/** | ||
575 | + * 响应类型 | ||
576 | + */ | ||
577 | +@property(nonatomic,assign) TIMFriendResponseType responseType; | ||
578 | + | ||
579 | +/** | ||
580 | + * 用户identifier | ||
581 | + */ | ||
582 | +@property(nonatomic,strong) NSString* identifier; | ||
583 | + | ||
584 | +/** | ||
585 | + * 备注好友(可选,如果要加对方为好友)。备注最大96字节 | ||
586 | + */ | ||
587 | +@property(nonatomic,strong) NSString* remark; | ||
588 | + | ||
589 | +@end | ||
590 | + | ||
591 | + | ||
592 | +/** | ||
593 | + * 好友分组信息扩展 | ||
594 | + */ | ||
595 | +@interface TIMFriendGroupWithProfiles : TIMFriendGroup | ||
596 | +/** | ||
597 | + * 好友资料(TIMUserProfile*)列表 | ||
598 | + */ | ||
599 | +@property(nonatomic,strong) NSArray* profiles; | ||
600 | +@end | ||
601 | + | ||
602 | +// 用户资料KEY | ||
603 | + | ||
604 | +/** | ||
605 | + * 昵称 | ||
606 | + * 值类型: NSString | ||
607 | + */ | ||
608 | +extern NSString *const TIMProfileTypeKey_Nick; | ||
609 | +/** | ||
610 | + * 头像 | ||
611 | + * 值类型: NSString | ||
612 | + */ | ||
613 | +extern NSString *const TIMProfileTypeKey_FaceUrl; | ||
614 | +/** | ||
615 | + * 好友申请 | ||
616 | + * 值类型: NSNumber [TIM_FRIEND_ALLOW_ANY,TIM_FRIEND_NEED_CONFIRM,TIM_FRIEND_DENY_ANY] | ||
617 | + */ | ||
618 | +extern NSString *const TIMProfileTypeKey_AllowType; | ||
619 | +/** | ||
620 | + * 性别 | ||
621 | + * 值类型: NSNumber [TIM_GENDER_UNKNOWN,TIM_GENDER_MALE,TIM_GENDER_FEMALE] | ||
622 | + */ | ||
623 | +extern NSString *const TIMProfileTypeKey_Gender; | ||
624 | +/** | ||
625 | + * 生日 | ||
626 | + * 值类型: NSNumber | ||
627 | + */ | ||
628 | +extern NSString *const TIMProfileTypeKey_Birthday; | ||
629 | +/** | ||
630 | + * 位置 | ||
631 | + * 值类型: NSString | ||
632 | + */ | ||
633 | +extern NSString *const TIMProfileTypeKey_Location; | ||
634 | +/** | ||
635 | + * 语言 | ||
636 | + * 值类型: NSNumber | ||
637 | + */ | ||
638 | +extern NSString *const TIMProfileTypeKey_Language; | ||
639 | +/** | ||
640 | + * 等级 | ||
641 | + * 值类型: NSNumber | ||
642 | + */ | ||
643 | +extern NSString *const TIMProfileTypeKey_Level; | ||
644 | +/** | ||
645 | + * 角色 | ||
646 | + * 值类型: NSNumber | ||
647 | + */ | ||
648 | +extern NSString *const TIMProfileTypeKey_Role; | ||
649 | +/** | ||
650 | + * 签名 | ||
651 | + * 值类型: NSString | ||
652 | + */ | ||
653 | +extern NSString *const TIMProfileTypeKey_SelfSignature; | ||
654 | +/** | ||
655 | + * 自定义字段前缀 | ||
656 | + * 值类型: [NSString,NSData|NSNumber] | ||
657 | + * @note 当设置自定义字的值NSString对象时,后台会将其转为UTF8保存在数据库中。由于部分用户迁移资料时可能不是UTF8类型,所以在获取资料时,统一返回NSData类型。 | ||
658 | + */ | ||
659 | +extern NSString *const TIMProfileTypeKey_Custom_Prefix; | ||
660 | +/** | ||
661 | + * 备注 | ||
662 | + * 值类型: NSString | ||
663 | + */ | ||
664 | +extern NSString *const TIMFriendTypeKey_Remark; | ||
665 | +/** | ||
666 | + * 分组 | ||
667 | + * 值类型: [NSArray] | ||
668 | + */ | ||
669 | +extern NSString *const TIMFriendTypeKey_Group; | ||
670 | +/** | ||
671 | + * 自定义字段前缀 | ||
672 | + * 值类型: [NSString,NSData|NSNumber] | ||
673 | + */ | ||
674 | +extern NSString *const TIMFriendTypeKey_Custom_Prefix; | ||
675 | +#endif /* TIMFriendshipDefine_h */ | ||
676 | + |
1 | +// | ||
2 | +// TIMFriendshipManager.h | ||
3 | +// imsdk | ||
4 | +// | ||
5 | +// Created by annidyfeng on 2019/3/7. | ||
6 | +// Copyright © 2019年 Tencent. All rights reserved. | ||
7 | +// | ||
8 | + | ||
9 | +#ifndef TIMFriendshipManager_h | ||
10 | +#define TIMFriendshipManager_h | ||
11 | + | ||
12 | +#import "TIMComm.h" | ||
13 | +#import "TIMFriendshipDefine.h" | ||
14 | + | ||
15 | +@interface TIMFriendshipManager : NSObject | ||
16 | +/** | ||
17 | + * 获取好友管理器实例 | ||
18 | + * | ||
19 | + * @return 管理器实例 | ||
20 | + */ | ||
21 | ++ (TIMFriendshipManager*)sharedInstance; | ||
22 | + | ||
23 | +/** | ||
24 | + * 设置自己的资料 | ||
25 | + * | ||
26 | + * @param values 需要更新的属性,可一次更新多个字段. 参见 TIMFriendshipDefine.h 的 TIMProfileTypeKey_XXX | ||
27 | + * @param succ 成功回调 | ||
28 | + * @param fail 失败回调 | ||
29 | + * | ||
30 | + * @return 0 发送请求成功 | ||
31 | + */ | ||
32 | +- (int)modifySelfProfile:(NSDictionary<NSString *, id> *)values succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
33 | + | ||
34 | +/** | ||
35 | + * 获取自己的资料 | ||
36 | + * | ||
37 | + * @param succ 成功回调,返回 TIMUserProfile | ||
38 | + * @param fail 失败回调 | ||
39 | + * | ||
40 | + * @return 0 发送请求成功 | ||
41 | + */ | ||
42 | +- (int)getSelfProfile:(TIMGetProfileSucc)succ fail:(TIMFail)fail; | ||
43 | + | ||
44 | +/** | ||
45 | + * 在缓存中查询自己的资料 | ||
46 | + * | ||
47 | + * @return 返回缓存的资料,未找到返回nil | ||
48 | + */ | ||
49 | +- (TIMUserProfile *)querySelfProfile; | ||
50 | + | ||
51 | +/** | ||
52 | + * 获取指定用户资料 | ||
53 | + * | ||
54 | + * @param identifiers 用户id,非好友的用户也可以 | ||
55 | + * @prarm forceUpdate 强制从后台拉取 | ||
56 | + * @param succ 成功回调 | ||
57 | + * @param fail 失败回调 | ||
58 | + * | ||
59 | + * @return 0 发送请求成功 | ||
60 | + */ | ||
61 | +- (int)getUsersProfile:(NSArray<NSString *> *)identifiers forceUpdate:(BOOL)forceUpdate succ:(TIMUserProfileArraySucc)succ fail:(TIMFail)fail; | ||
62 | + | ||
63 | +/** | ||
64 | + * 在缓存中查询用户的资料 | ||
65 | + * | ||
66 | + * @praram identifier 用户id,非好友的用户也可以 | ||
67 | + * | ||
68 | + * @return 返回缓存的资料,未找到返回nil | ||
69 | + */ | ||
70 | +- (TIMUserProfile *)queryUserProfile:(NSString *)identifier; | ||
71 | + | ||
72 | +/** | ||
73 | + * 获取好友列表 | ||
74 | + * | ||
75 | + * @param succ 成功回调,返回好友(TIMFriend)列表 | ||
76 | + * @param fail 失败回调 | ||
77 | + * | ||
78 | + * @return 0 发送请求成功 | ||
79 | + */ | ||
80 | +- (int)getFriendList:(TIMFriendArraySucc)succ fail:(TIMFail)fail; | ||
81 | + | ||
82 | +/** | ||
83 | + * 获取指定好友资料 | ||
84 | + * | ||
85 | + * @param succ 成功回调,返回好友(TIMFriend)列表 | ||
86 | + * @param fail 失败回调 | ||
87 | + * | ||
88 | + * @return 0 发送请求成功 | ||
89 | +*/ | ||
90 | +- (int)getFriendList:(NSArray<NSString *> *)identifiers succ:(TIMFriendGetResultSucc)succ fail:(TIMFail)fail; | ||
91 | + | ||
92 | + | ||
93 | +/** | ||
94 | + * 在缓存中查询用户的关系链数据 | ||
95 | + * | ||
96 | + * @praram identifier 用户id | ||
97 | + * | ||
98 | + * @return 返回缓存的关系链数据,未找到返回nil | ||
99 | + * @note 缓存数据来自于上一次调用getFriendList,请确保已调用了获取好友列表方法 | ||
100 | + */ | ||
101 | +- (TIMFriend *)queryFriend:(NSString *)identifier; | ||
102 | + | ||
103 | +/** | ||
104 | + * 获取缓存中的关系链列表 | ||
105 | + * | ||
106 | + * @return 返回缓存的关系链数据 | ||
107 | + * @note 缓存数据来自于上一次调用getFriendList,请确保已调用了获取好友列表方法 | ||
108 | + */ | ||
109 | +- (NSArray<TIMFriend *> *)queryFriendList; | ||
110 | + | ||
111 | +/** | ||
112 | + * 检查指定用户的好友关系 | ||
113 | + * | ||
114 | + * @param checkInfo 好友检查信息 | ||
115 | + * @param succ 成功回调,返回检查结果 | ||
116 | + * @param fail 失败回调 | ||
117 | + * | ||
118 | + * @return 0:发送成功;-1:checkInfo->users 参数异常;-2:checkInfo->checkType 参数异常 | ||
119 | + */ | ||
120 | +- (int)checkFriends:(TIMFriendCheckInfo *)checkInfo succ:(TIMCheckFriendResultArraySucc)succ fail:(TIMFail)fail; | ||
121 | + | ||
122 | +/** | ||
123 | + * 添加好友 | ||
124 | + * | ||
125 | + * @param request 添加好友请求 | ||
126 | + * @param succ 成功回调(TIMFriendResult) | ||
127 | + * @param fail 失败回调 | ||
128 | + * | ||
129 | + * @return 0 发送请求成功 | ||
130 | + */ | ||
131 | +- (int)addFriend:(TIMFriendRequest *)request succ:(TIMFriendResultSucc)succ fail:(TIMFail)fail; | ||
132 | + | ||
133 | +/** | ||
134 | + * 响应对方好友邀请 | ||
135 | + * | ||
136 | + * @param response 响应请求 | ||
137 | + * @param succ 成功回调 | ||
138 | + * @param fail 失败回调 | ||
139 | + * | ||
140 | + * @return 0 发送请求成功 | ||
141 | + */ | ||
142 | +- (int)doResponse:(TIMFriendResponse *)response succ:(TIMFriendResultSucc)succ fail:(TIMFail)fail; | ||
143 | + | ||
144 | +/** | ||
145 | + * 删除好友 | ||
146 | + * | ||
147 | + * @param identifiers 好友id | ||
148 | + * @param delType 删除类型(单向好友、双向好友) | ||
149 | + * @param succ 成功回调([TIMFriendResult]) | ||
150 | + * @param fail 失败回调 | ||
151 | + * | ||
152 | + * @return 0 发送请求成功 | ||
153 | + */ | ||
154 | +- (int)deleteFriends:(NSArray *)identifiers delType:(TIMDelFriendType)delType succ:(TIMFriendResultArraySucc)succ fail:(TIMFail)fail; | ||
155 | + | ||
156 | +/** | ||
157 | + * 修改好友 | ||
158 | + * | ||
159 | + * @param identifier 好友id | ||
160 | + * @param values 需要更新的属性,可一次更新多个字段. 参见 TIMFriendshipDefine.h 的 TIMFriendTypeKey_XXX | ||
161 | + * @param succ 成功回调 | ||
162 | + * @param fail 失败回调 | ||
163 | + * | ||
164 | + * @return 0 发送请求成功 | ||
165 | + */ | ||
166 | +- (int)modifyFriend:(NSString *)identifier values:(NSDictionary<NSString *, id> *)values succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
167 | + | ||
168 | +/** | ||
169 | + * 获取未决列表 | ||
170 | + * | ||
171 | + * @param pendencyRequest 请求信息,详细参考TIMFriendPendencyRequest | ||
172 | + * @param succ 成功回调 | ||
173 | + * @param fail 失败回调 | ||
174 | + * | ||
175 | + * @return 0 发送请求成功 | ||
176 | + */ | ||
177 | +- (int)getPendencyList:(TIMFriendPendencyRequest *)pendencyRequest succ:(TIMGetFriendPendencyListSucc)succ fail:(TIMFail)fail; | ||
178 | + | ||
179 | +/** | ||
180 | + * 未决删除 | ||
181 | + * | ||
182 | + * @param type 未决好友类型 | ||
183 | + * @param identifiers 要删除的未决列表 | ||
184 | + * @param succ 成功回调 | ||
185 | + * @param fail 失败回调 | ||
186 | + * | ||
187 | + * @return 0 发送请求成功 | ||
188 | + */ | ||
189 | +- (int)deletePendency:(TIMPendencyType)type users:(NSArray *)identifiers succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
190 | + | ||
191 | +/** | ||
192 | + * 未决已读上报 | ||
193 | + * | ||
194 | + * @param timestamp 已读时间戳,此时间戳以前的消息都将置为已读 | ||
195 | + * @param succ 成功回调 | ||
196 | + * @param fail 失败回调 | ||
197 | + * | ||
198 | + * @return 0 发送请求成功 | ||
199 | + */ | ||
200 | +- (int)pendencyReport:(uint64_t)timestamp succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
201 | + | ||
202 | +/** | ||
203 | + * 获取黑名单列表 | ||
204 | + * | ||
205 | + * @param succ 成功回调,返回NSString*列表 | ||
206 | + * @param fail 失败回调 | ||
207 | + * | ||
208 | + * @return 0 发送请求成功 | ||
209 | + */ | ||
210 | +- (int)getBlackList:(TIMFriendArraySucc)succ fail:(TIMFail)fail; | ||
211 | + | ||
212 | +/** | ||
213 | + * 添加用户到黑名单 | ||
214 | + * | ||
215 | + * @param identifiers 用户列表 | ||
216 | + * @param succ 成功回调 | ||
217 | + * @param fail 失败回调 | ||
218 | + * | ||
219 | + * @return 0 发送请求成功 | ||
220 | + */ | ||
221 | +- (int)addBlackList:(NSArray *)identifiers succ:(TIMFriendResultArraySucc)succ fail:(TIMFail)fail; | ||
222 | + | ||
223 | +/** | ||
224 | + * 把用户从黑名单中删除 | ||
225 | + * | ||
226 | + * @param identifiers 用户列表 | ||
227 | + * @param succ 成功回调 | ||
228 | + * @param fail 失败回调 | ||
229 | + * | ||
230 | + * @return 0 发送请求成功 | ||
231 | + */ | ||
232 | +- (int)deleteBlackList:(NSArray *)identifiers succ:(TIMFriendResultArraySucc)succ fail:(TIMFail)fail; | ||
233 | + | ||
234 | +/** | ||
235 | + * 新建好友分组 | ||
236 | + * | ||
237 | + * @param groupNames 分组名称列表,必须是当前不存在的分组 | ||
238 | + * @param identifiers 要添加到分组中的好友 | ||
239 | + * @param succ 成功回调 | ||
240 | + * @param fail 失败回调 | ||
241 | + * | ||
242 | + * @return 0 发送请求成功 | ||
243 | + */ | ||
244 | +- (int)createFriendGroup:(NSArray *)groupNames users:(NSArray *)identifiers succ:(TIMFriendResultArraySucc)succ fail:(TIMFail)fail; | ||
245 | + | ||
246 | +/** | ||
247 | + * 获取指定的好友分组信息 | ||
248 | + * | ||
249 | + * @param groupNames 要获取信息的好友分组名称列表,传入nil获得所有分组信息 | ||
250 | + * @param succ 成功回调,返回 TIMFriendGroup* 列表 | ||
251 | + * @param fail 失败回调 | ||
252 | + * | ||
253 | + * @return 0 发送请求成功 | ||
254 | + */ | ||
255 | +- (int)getFriendGroups:(NSArray *)groupNames succ:(TIMFriendGroupArraySucc)succ fail:(TIMFail)fail; | ||
256 | + | ||
257 | +/** | ||
258 | + * 删除好友分组 | ||
259 | + * | ||
260 | + * @param groupNames 要删除的好友分组名称列表 | ||
261 | + * @param succ 成功回调 | ||
262 | + * @param fail 失败回调 | ||
263 | + * | ||
264 | + * @return 0 发送请求成功 | ||
265 | + */ | ||
266 | +- (int)deleteFriendGroup:(NSArray *)groupNames succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
267 | + | ||
268 | +/** | ||
269 | + * 修改好友分组的名称 | ||
270 | + * | ||
271 | + * @param oldName 原来的分组名称 | ||
272 | + * @param newName 新的分组名称 | ||
273 | + * @param succ 成功回调 | ||
274 | + * @param fail 失败回调 | ||
275 | + * | ||
276 | + * @return 0 发送请求成功 | ||
277 | + */ | ||
278 | +- (int)renameFriendGroup:(NSString*)oldName newName:(NSString*)newName succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
279 | + | ||
280 | +/** | ||
281 | + * 添加好友到一个好友分组 | ||
282 | + * | ||
283 | + * @param groupName 好友分组名称 | ||
284 | + * @param identifiers 要添加到分组中的好友 | ||
285 | + * @param succ 成功回调 | ||
286 | + * @param fail 失败回调 | ||
287 | + * | ||
288 | + * @return 0 发送请求成功 | ||
289 | + */ | ||
290 | +- (int)addFriendsToFriendGroup:(NSString *)groupName users:(NSArray *)identifiers succ:(TIMFriendResultArraySucc)succ fail:(TIMFail)fail; | ||
291 | + | ||
292 | +/** | ||
293 | + * 从好友分组中删除好友 | ||
294 | + * | ||
295 | + * @param groupName 好友分组名称 | ||
296 | + * @param identifiers 要移出分组的好友 | ||
297 | + * @param succ 成功回调 | ||
298 | + * @param fail 失败回调 | ||
299 | + * | ||
300 | + * @return 0 发送请求成功 | ||
301 | + */ | ||
302 | +- (int)deleteFriendsFromFriendGroup:(NSString *)groupName users:(NSArray *)identifiers succ:(TIMFriendResultArraySucc)succ fail:(TIMFail)fail; | ||
303 | +@end | ||
304 | + | ||
305 | +#endif /* TIMFriendshipManager_h */ |
ImSDK.framework/Headers/TIMGroupManager.h
0 → 100644
1 | +// | ||
2 | +// TIMGroupManager.h | ||
3 | +// ImSDK | ||
4 | +// | ||
5 | +// Created by bodeng on 17/3/15. | ||
6 | +// Copyright (c) 2015 tencent. All rights reserved. | ||
7 | +// | ||
8 | + | ||
9 | +#ifndef ImSDK_TIMGroupManager_h | ||
10 | +#define ImSDK_TIMGroupManager_h | ||
11 | + | ||
12 | +#import "TIMComm.h" | ||
13 | + | ||
14 | +@interface TIMGroupManager : NSObject | ||
15 | + | ||
16 | +#pragma mark 一,获取群组实例 | ||
17 | +///////////////////////////////////////////////////////////////////////////////// | ||
18 | +// | ||
19 | +// (一)获取群组实例 | ||
20 | +// | ||
21 | +///////////////////////////////////////////////////////////////////////////////// | ||
22 | +/// @name 获取群组实例 | ||
23 | +/// @{ | ||
24 | +/** | ||
25 | + * 1.1 获取群管理器实例 | ||
26 | + * | ||
27 | + * @return 管理器实例 | ||
28 | + */ | ||
29 | ++ (TIMGroupManager*)sharedInstance; | ||
30 | + | ||
31 | +///@} | ||
32 | + | ||
33 | +#pragma mark 二,创建/删除/加入/退出群组 | ||
34 | +///////////////////////////////////////////////////////////////////////////////// | ||
35 | +// | ||
36 | +// (二)创建/删除/加入/退出群组 | ||
37 | +// | ||
38 | +///////////////////////////////////////////////////////////////////////////////// | ||
39 | +/// @name 创建/删除/加入/退出群组 | ||
40 | +/// @{ | ||
41 | + | ||
42 | +/** | ||
43 | + * 1.1 创建私有群 | ||
44 | + * | ||
45 | + * 快速创建私有群,创建者默认加入群组,无需显式指定,群组类型形态请参考官网文档 [群组形态介绍](https://cloud.tencent.com/document/product/269/1502#.E7.BE.A4.E7.BB.84.E5.BD.A2.E6.80.81.E4.BB.8B.E7.BB.8D) | ||
46 | + * | ||
47 | + * @param members 群成员,NSString* 数组 | ||
48 | + * @param groupName 群名 | ||
49 | + * @param succ 成功回调 groupId | ||
50 | + * @param fail 失败回调 | ||
51 | + * | ||
52 | + * @return 0:成功;1:失败 | ||
53 | + */ | ||
54 | +- (int)createPrivateGroup:(NSArray<NSString *>*)members groupName:(NSString*)groupName succ:(TIMCreateGroupSucc)succ fail:(TIMFail)fail; | ||
55 | + | ||
56 | +/** | ||
57 | + * 1.2 创建公开群 | ||
58 | + * | ||
59 | + * 快速创建公开群,创建者默认加入群组,无需显式指定,群组类型形态请参考官网文档 [群组形态介绍](https://cloud.tencent.com/document/product/269/1502#.E7.BE.A4.E7.BB.84.E5.BD.A2.E6.80.81.E4.BB.8B.E7.BB.8D) | ||
60 | + * | ||
61 | + * @param members 群成员,NSString* 数组 | ||
62 | + * @param groupName 群名 | ||
63 | + * @param succ 成功回调 groupId | ||
64 | + * @param fail 失败回调 | ||
65 | + * | ||
66 | + * @return 0:成功;1:失败 | ||
67 | + */ | ||
68 | +- (int)createPublicGroup:(NSArray<NSString *>*)members groupName:(NSString*)groupName succ:(TIMCreateGroupSucc)succ fail:(TIMFail)fail; | ||
69 | + | ||
70 | +/** | ||
71 | + * 1.3 创建聊天室 | ||
72 | + * | ||
73 | + * 快速创建聊天室,创建者默认加入群组,无需显式指定,群组类型形态请参考官网文档 [群组形态介绍](https://cloud.tencent.com/document/product/269/1502#.E7.BE.A4.E7.BB.84.E5.BD.A2.E6.80.81.E4.BB.8B.E7.BB.8D) | ||
74 | + * | ||
75 | + * @param members 群成员,NSString* 数组 | ||
76 | + * @param groupName 群名 | ||
77 | + * @param succ 成功回调 groupId | ||
78 | + * @param fail 失败回调 | ||
79 | + * | ||
80 | + * @return 0:成功;1:失败 | ||
81 | + */ | ||
82 | +- (int)createChatRoomGroup:(NSArray<NSString *>*)members groupName:(NSString*)groupName succ:(TIMCreateGroupSucc)succ fail:(TIMFail)fail; | ||
83 | + | ||
84 | +/** | ||
85 | + * 1.4 创建音视频聊天室 | ||
86 | + * | ||
87 | + * 快速创建音视频聊天室,创建者默认加入群组,无需显式指定,群组类型形态请参考官网文档 [群组形态介绍](https://cloud.tencent.com/document/product/269/1502#.E7.BE.A4.E7.BB.84.E5.BD.A2.E6.80.81.E4.BB.8B.E7.BB.8D) | ||
88 | + * | ||
89 | + * @param groupName 群名 | ||
90 | + * @param succ 成功回调 groupId | ||
91 | + * @param fail 失败回调 | ||
92 | + * | ||
93 | + * @return 0:成功;1:失败 | ||
94 | + */ | ||
95 | +- (int)createAVChatRoomGroup:(NSString*)groupName succ:(TIMCreateGroupSucc)succ fail:(TIMFail)fail; | ||
96 | + | ||
97 | +/** | ||
98 | + * 1.5 创建指定类型和 ID 的群组 | ||
99 | + * | ||
100 | + * 1. 默认创建群组时,IM 通讯云服务器会生成一个唯一的 ID,该 ID 将以 @TGS# 开头,且保证在 App 中唯一,以便后续操作。 | ||
101 | + * 2. 如果用户需要自定义群组 ID,在创建时可指定 ID,自定义群组 ID 必须为可打印 ASCII 字符(0x20-0x7e),最长 48 个字节,且前缀不能为 @TGS#(避免与默认分配的群组 ID 混淆) | ||
102 | + * | ||
103 | + * @param type 群类型,Private,Public,ChatRoom,AVChatRoom | ||
104 | + * @param groupId 自定义群组 ID,为空时系统自动分配 | ||
105 | + * @param groupName 群组名称 | ||
106 | + * @param succ 成功回调 | ||
107 | + * @param fail 失败回调 | ||
108 | + * | ||
109 | + * @return 0:成功;1:失败 | ||
110 | + */ | ||
111 | +- (int)createGroup:(NSString*)type groupId:(NSString*)groupId groupName:(NSString*)groupName succ:(TIMCreateGroupSucc)succ fail:(TIMFail)fail; | ||
112 | + | ||
113 | +/** | ||
114 | + * 1.6 创建自定义群组 | ||
115 | + * | ||
116 | + * 在创建群组时,除了设置默认的成员以及群名外,还可以设置如群公告、群简介等字段。 | ||
117 | + * | ||
118 | + * @param groupInfo 群组信息,详情请参考 TIMComm+Group.h 里面的 TIMCreateGroupInfo 定义 | ||
119 | + * @param succ 成功回调 groupId | ||
120 | + * @param fail 失败回调 | ||
121 | + * | ||
122 | + * @return 0:成功;1:失败 | ||
123 | + */ | ||
124 | +- (int)createGroup:(TIMCreateGroupInfo*)groupInfo succ:(TIMCreateGroupSucc)succ fail:(TIMFail)fail; | ||
125 | + | ||
126 | +/** | ||
127 | + * 1.7 解散群组 | ||
128 | + * | ||
129 | + * 1. 私有群:任何人都无法解散群组 | ||
130 | + * 2. 公开群、聊天室、直播大群:群主可以解散群组。 | ||
131 | + * | ||
132 | + * @param groupId 群组Id | ||
133 | + * @param succ 成功回调 | ||
134 | + * @param fail 失败回调 | ||
135 | + * | ||
136 | + * @return 0:成功;1:失败 | ||
137 | + */ | ||
138 | +- (int)deleteGroup:(NSString*)groupId succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
139 | + | ||
140 | +/** | ||
141 | + * 1.8 申请加群 | ||
142 | + * | ||
143 | + * 1. 私有群:不能由用户主动申请入群。 | ||
144 | + * 2. 公开群、聊天室:可以主动申请进入。 | ||
145 | + * 3. 直播大群:可以任意加入群组。 | ||
146 | + * 4. 如果群组设置为需要审核,申请入群后管理员和群主会收到申请入群系统消息 TIMGroupSystemElem,判断 TIMGroupSystemElem 的 Type 类型如果是 TIM_GROUP_SYSTEM_ADD_GROUP_REQUEST_TYPE ,这时候调用 getPendencyFromServer 获取群未决列表,调用 TIMGroupPendencyItem 对象调用 accept 接口同意入群,申请人会收到同意入群的消息 TIMGroupSystemElem(Type:TIM_GROUP_SYSTEM_ADD_GROUP_ACCEPT_TYPE),调用 refuse 接口拒绝入群,申请人会收到拒绝入群的消息 TIMGroupSystemElem(Type:TIM_GROUP_SYSTEM_ADD_GROUP_REFUSE_TYPE)。 | ||
147 | + * 5. 如果群主设置为任何人可加入,则直接入群成功。 | ||
148 | + * | ||
149 | + * @param groupId 申请加入的群组Id | ||
150 | + * @param msg 申请消息 | ||
151 | + * @param succ 成功回调(申请成功等待审批) | ||
152 | + * @param fail 失败回调 | ||
153 | + * | ||
154 | + * @return 0:成功;1:失败 | ||
155 | + */ | ||
156 | +- (int)joinGroup:(NSString*)groupId msg:(NSString*)msg succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
157 | + | ||
158 | +/** | ||
159 | + * 1.9 主动退出群组 | ||
160 | + * | ||
161 | + * 1. 私有群:全员可退出群组。 | ||
162 | + * 2. 公开群、聊天室、直播大群:群主不能退出。 | ||
163 | + * 3. 当用户主动退出群组时,该用户会收到退群消息 TIMGroupSystemElem(Type:TIM_GROUP_SYSTEM_QUIT_GROUP_TYPE),只有退群的用户自己可以收到。当用户调用 QuitGroup 时成功回调返回,表示已退出成功,此消息主要为了多终端同步,其他终端可以作为更新群列表的时机,本终端可以选择忽略。 | ||
164 | + * | ||
165 | + * @param groupId 群组Id | ||
166 | + * @param succ 成功回调 | ||
167 | + * @param fail 失败回调 | ||
168 | + * | ||
169 | + * @return 0:成功;1:失败 | ||
170 | + */ | ||
171 | +- (int)quitGroup:(NSString*)groupId succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
172 | + | ||
173 | + | ||
174 | +///@} | ||
175 | + | ||
176 | +#pragma mark 三,邀请/删除群成员 | ||
177 | +///////////////////////////////////////////////////////////////////////////////// | ||
178 | +// | ||
179 | +// (三)邀请/删除群成员 | ||
180 | +// | ||
181 | +///////////////////////////////////////////////////////////////////////////////// | ||
182 | +/// @name 邀请/删除群成员 | ||
183 | +/// @{ | ||
184 | + | ||
185 | +/** | ||
186 | + * 3.1 邀请好友入群 | ||
187 | + * | ||
188 | + * 1. 只有私有群可以邀请用户入群 | ||
189 | + * 2. 公开群,聊天室不能邀请用户入群,但在创建群时可以直接拉人入群 | ||
190 | + * 3. 音视频聊天室不能拉用户入群,也不能在创建群时拉人入群,只能用户主动进群 | ||
191 | + * | ||
192 | + * @param groupId 群组Id | ||
193 | + * @param members 要加入的成员列表(NSString* 类型数组) | ||
194 | + * @param succ 成功回调 (TIMGroupMemberResult 列表) | ||
195 | + * @param fail 失败回调 | ||
196 | + * | ||
197 | + * @return 0:成功;1:失败 | ||
198 | + */ | ||
199 | +- (int)inviteGroupMember:(NSString*)groupId members:(NSArray<NSString *>*)members succ:(TIMGroupMemberSucc)succ fail:(TIMFail)fail; | ||
200 | + | ||
201 | +/** | ||
202 | + * 3.2 删除群成员 | ||
203 | + * | ||
204 | + * 1. 私有群:只有创建者可删除群组成员。 | ||
205 | + * 2. 公开群、聊天室:只有管理员和群主可以踢人。 | ||
206 | + * 3. 对于直播大群:不能踢人。 | ||
207 | + * | ||
208 | + * @param groupId 群组Id | ||
209 | + * @param reason 删除原因 | ||
210 | + * @param members 要删除的成员列表 | ||
211 | + * @param succ 成功回调 (TIMGroupMemberResult 列表) | ||
212 | + * @param fail 失败回调 | ||
213 | + * | ||
214 | + * @return 0:成功;1:失败 | ||
215 | + */ | ||
216 | +- (int)deleteGroupMemberWithReason:(NSString*)groupId reason:(NSString*)reason members:(NSArray<NSString *>*)members succ:(TIMGroupMemberSucc)succ fail:(TIMFail)fail; | ||
217 | + | ||
218 | +///@} | ||
219 | + | ||
220 | +#pragma mark 四,获取群信息 | ||
221 | +///////////////////////////////////////////////////////////////////////////////// | ||
222 | +// | ||
223 | +// (四)获取群信息 | ||
224 | +// | ||
225 | +///////////////////////////////////////////////////////////////////////////////// | ||
226 | +/// @name 获取群信息 | ||
227 | +/// @{ | ||
228 | + | ||
229 | +/** | ||
230 | + * 4.1 获取群列表 | ||
231 | + * | ||
232 | + * 获取自己所加入的群列表。 | ||
233 | + * | ||
234 | + * @param succ 成功回调,NSArray 列表为 TIMGroupInfo,结构体只包含 group|groupName|groupType|faceUrl|allShutup|selfInfo 信息 | ||
235 | + * @param fail 失败回调 | ||
236 | + * | ||
237 | + * @return 0:成功;1:失败 | ||
238 | + */ | ||
239 | +- (int)getGroupList:(TIMGroupListSucc)succ fail:(TIMFail)fail; | ||
240 | + | ||
241 | +/** | ||
242 | + * 4.2 获取服务器存储的群组信息 | ||
243 | + * | ||
244 | + * 1. 无论是公开群还是私有群,群成员均可以拉到群组信息。 | ||
245 | + * 2. 如果是公开群,非群组成员可以拉到 group|groupName|owner|groupType|createTime|maxMemberNum|memberNum|introduction|faceURL|addOpt|onlineMemberNum|customInfo 这些字段信息。如果是私有群,非群组成员拉取不到群组信息。 | ||
246 | + * | ||
247 | + * @param succ 成功回调,NSArray 列表为 TIMGroupInfoResult,不包含 selfInfo 信息 | ||
248 | + * @param fail 失败回调 | ||
249 | + * | ||
250 | + * @return 0:成功;1:失败 | ||
251 | + */ | ||
252 | +- (int)getGroupInfo:(NSArray*)groups succ:(TIMGroupListSucc)succ fail:(TIMFail)fail; | ||
253 | + | ||
254 | +/** | ||
255 | + * 4.3 获取本地存储的群组信息 | ||
256 | + * | ||
257 | + * 1. 无论是公开群还是私有群,群成员均可以拉到群组信息。 | ||
258 | + * 2. 如果是公开群,非群组成员可以拉到 group|groupName|owner|groupType|createTime|maxMemberNum|memberNum|introduction|faceURL|addOpt|onlineMemberNum|customInfo 这些字段信息。如果是私有群,非群组成员拉取不到群组信息。 | ||
259 | + * | ||
260 | + * @param groupId 群组Id | ||
261 | + * | ||
262 | + * @return 群组信息 | ||
263 | + */ | ||
264 | +- (TIMGroupInfo *)queryGroupInfo:(NSString *)groupId; | ||
265 | + | ||
266 | +/** | ||
267 | + * 4.4 获取群成员列表 | ||
268 | + * | ||
269 | + * @param groupId 群组Id | ||
270 | + * @param succ 成功回调 (TIMGroupMemberInfo 列表) | ||
271 | + * @param fail 失败回调 | ||
272 | + * | ||
273 | + * @return 0:成功;1:失败 | ||
274 | + */ | ||
275 | +- (int)getGroupMembers:(NSString*)groupId succ:(TIMGroupMemberSucc)succ fail:(TIMFail)fail; | ||
276 | + | ||
277 | +/** | ||
278 | + * 4.5 获取本人在群组内的成员信息 | ||
279 | + * | ||
280 | + * @param groupId 群组Id | ||
281 | + * @param succ 成功回调,返回信息 | ||
282 | + * @param fail 失败回调 | ||
283 | + * | ||
284 | + * @return 0:成功;1:失败 | ||
285 | + */ | ||
286 | +- (int)getGroupSelfInfo:(NSString*)groupId succ:(TIMGroupSelfSucc)succ fail:(TIMFail)fail; | ||
287 | + | ||
288 | +/** | ||
289 | + * 4.6 获取群组指定成员的信息 | ||
290 | + * | ||
291 | + * 获取群组指定成员的信息,需要设置群成员 members,其他限制参考 getGroupMembers | ||
292 | + * | ||
293 | + * @param groupId 群组Id | ||
294 | + * @param members 成员Id(NSString*)列表 | ||
295 | + * @param succ 成功回调 (TIMGroupMemberInfo 列表) | ||
296 | + * @param fail 失败回调 | ||
297 | + * | ||
298 | + * @return 0:成功;1:失败 | ||
299 | + */ | ||
300 | +- (int)getGroupMembersInfo:(NSString*)groupId members:(NSArray<NSString *>*)members succ:(TIMGroupMemberSucc)succ fail:(TIMFail)fail; | ||
301 | + | ||
302 | +/** | ||
303 | + * 4.7 获取指定类型的成员列表(支持按字段拉取,分页) | ||
304 | + * | ||
305 | + * @param groupId 群组Id | ||
306 | + * @param filter 群成员角色过滤方式 | ||
307 | + * @param flags 拉取资料标志 | ||
308 | + * @param custom 要获取的自定义key(NSString*)列表 | ||
309 | + * @param nextSeq 分页拉取标志,第一次拉取填0,回调成功如果 nextSeq 不为零,需要分页,传入再次拉取,直至为0 | ||
310 | + * @param succ 成功回调 | ||
311 | + * @param fail 失败回调 | ||
312 | + * @return 0:成功;1:失败 | ||
313 | + */ | ||
314 | +- (int)getGroupMembers:(NSString*)groupId ByFilter:(TIMGroupMemberFilter)filter flags:(TIMGetGroupMemInfoFlag)flags custom:(NSArray<NSString *>*)custom nextSeq:(uint64_t)nextSeq succ:(TIMGroupMemberSuccV2)succ fail:(TIMFail)fail; | ||
315 | + | ||
316 | +/** | ||
317 | + * 4.8 获取接受消息选项 | ||
318 | + * | ||
319 | + * @param groupId 群组Id | ||
320 | + * @param succ 成功回调, TIMGroupReceiveMessageOpt 0:接收消息;1:不接收消息,服务器不进行转发;2:接受消息,不进行 iOS APNs 推送 | ||
321 | + * @param fail 失败回调 | ||
322 | + * | ||
323 | + * @return 0:成功;1:失败 | ||
324 | + */ | ||
325 | +- (int)getReciveMessageOpt:(NSString*)groupId succ:(TIMGroupReciveMessageOptSucc)succ fail:(TIMFail)fail; | ||
326 | + | ||
327 | +///@} | ||
328 | + | ||
329 | +#pragma mark 五,修改群信息 | ||
330 | +///////////////////////////////////////////////////////////////////////////////// | ||
331 | +// | ||
332 | +// (五)修改群信息 | ||
333 | +// | ||
334 | +///////////////////////////////////////////////////////////////////////////////// | ||
335 | +/// @name 修改群信息 | ||
336 | +/// @{ | ||
337 | + | ||
338 | +/** | ||
339 | + * 5.1 修改群名 | ||
340 | + * | ||
341 | + * 1. 公开群、聊天室和直播大群:只有群主或者管理员可以修改群名。 | ||
342 | + * 2. 私有群:任何人可修改群名。 | ||
343 | + * | ||
344 | + * @param groupId 群组Id | ||
345 | + * @param groupName 新群名 | ||
346 | + * @param succ 成功回调 | ||
347 | + * @param fail 失败回调 | ||
348 | + * | ||
349 | + * @return 0:成功;1:失败 | ||
350 | + */ | ||
351 | +- (int)modifyGroupName:(NSString*)groupId groupName:(NSString*)groupName succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
352 | + | ||
353 | +/** | ||
354 | + * 5.2 修改群简介 | ||
355 | + * | ||
356 | + * 1. 公开群、聊天室、直播大群:只有群主或者管理员可以修改群简介。 | ||
357 | + * 2. 私有群:任何人可修改群简介。 | ||
358 | + * | ||
359 | + * @param groupId 群组Id | ||
360 | + * @param introduction 群简介(最长120字节) | ||
361 | + * @param succ 成功回调 | ||
362 | + * @param fail 失败回调 | ||
363 | + * | ||
364 | + * @return 0:成功;1:失败 | ||
365 | + */ | ||
366 | +- (int)modifyGroupIntroduction:(NSString*)groupId introduction:(NSString*)introduction succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
367 | + | ||
368 | +/** | ||
369 | + * 5.3 修改群公告 | ||
370 | + * | ||
371 | + * 1. 公开群、聊天室、直播大群:只有群主或者管理员可以修改群公告。 | ||
372 | + * 2. 私有群:任何人可修改群公告。 | ||
373 | + * | ||
374 | + * @param groupId 群组Id | ||
375 | + * @param notification 群公告(最长150字节) | ||
376 | + * @param succ 成功回调 | ||
377 | + * @param fail 失败回调 | ||
378 | + * | ||
379 | + * @return 0:成功;1:失败 | ||
380 | + */ | ||
381 | +- (int)modifyGroupNotification:(NSString*)groupId notification:(NSString*)notification succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
382 | + | ||
383 | +/** | ||
384 | + * 5.4 修改群头像 | ||
385 | + * | ||
386 | + * 1. 公开群、聊天室、直播大群:只有群主或者管理员可以修改群头像。 | ||
387 | + * 2. 私有群:任何人可修改群头像。 | ||
388 | + * | ||
389 | + * @param groupId 群组Id | ||
390 | + * @param url 群头像地址(最长100字节) | ||
391 | + * @param succ 成功回调 | ||
392 | + * @param fail 失败回调 | ||
393 | + * | ||
394 | + * @return 0:成功;1:失败 | ||
395 | + */ | ||
396 | +- (int)modifyGroupFaceUrl:(NSString*)groupId url:(NSString*)url succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
397 | + | ||
398 | +/** | ||
399 | + * 5.5 修改加群选项 | ||
400 | + * | ||
401 | + * 1. 公开群、聊天室:只有群主或者管理员可以修改加群选项。 | ||
402 | + * 2. 音视频聊天室:不能设置加群选项,成员默认可以随意进入。 | ||
403 | + * 2. 私有群:只能通过邀请加入群组,不能主动申请加入某个群组。 | ||
404 | + * | ||
405 | + * @param groupId 群组Id | ||
406 | + * @param opt 加群选项,详见 TIMGroupAddOpt | ||
407 | + * @param succ 成功回调 | ||
408 | + * @param fail 失败回调 | ||
409 | + * | ||
410 | + * @return 0:成功;1:失败 | ||
411 | + */ | ||
412 | +- (int)modifyGroupAddOpt:(NSString*)groupId opt:(TIMGroupAddOpt)opt succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
413 | + | ||
414 | +/** | ||
415 | + * 5.6 修改群组是否可被搜索属性 | ||
416 | + * | ||
417 | + * @param groupId 群组Id | ||
418 | + * @param searchable 是否能被搜索 | ||
419 | + * @param succ 成功回调 | ||
420 | + * @param fail 失败回调 | ||
421 | + * | ||
422 | + * @return 0:成功;1:失败 | ||
423 | + */ | ||
424 | +- (int)modifyGroupSearchable:(NSString*)groupId searchable:(BOOL)searchable succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
425 | + | ||
426 | +/** | ||
427 | + * 5.8 修改群组全员禁言属性 | ||
428 | + * | ||
429 | + * 1. 群主、管理员:有权限进行全员禁言的操作。 | ||
430 | + * 2. 所有群组类型:都支持全员禁言的操作。 | ||
431 | + * | ||
432 | + * @param groupId 群组Id | ||
433 | + * @param shutup 是否禁言 | ||
434 | + * @param succ 成功回调 | ||
435 | + * @param fail 失败回调 | ||
436 | + * | ||
437 | + * @return 0:成功;1:失败 | ||
438 | + */ | ||
439 | +- (int)modifyGroupAllShutup:(NSString*)groupId shutup:(BOOL)shutup succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
440 | + | ||
441 | +/** | ||
442 | + * 5.9 修改群自定义字段集合 | ||
443 | + * | ||
444 | + * 通过 [IM 控制台](https://console.cloud.tencent.com/avc) -> 功能配置 -> 群维度自定义字段 配置相关的 key 和权限。 | ||
445 | + * | ||
446 | + * | ||
447 | + * @param groupId 群组Id | ||
448 | + * @param customInfo 自定义字段集合,key 是 NSString* 类型,value 是 NSData* 类型,value 长度不超过 512 字节 | ||
449 | + * @param succ 成功回调 | ||
450 | + * @param fail 失败回调 | ||
451 | + * | ||
452 | + * @return 0:成功;1:失败 | ||
453 | + */ | ||
454 | +- (int)modifyGroupCustomInfo:(NSString*)groupId customInfo:(NSDictionary<NSString *,NSData *>*)customInfo succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
455 | + | ||
456 | +/** | ||
457 | + * 5.10 转让群给新群主 | ||
458 | + * | ||
459 | + * 1. 只有群主才有权限进行群转让操作。 | ||
460 | + * 2. 直播大群不能进行群转让操作。 | ||
461 | + * | ||
462 | + * @param groupId 群组Id | ||
463 | + * @param identifier 新的群主Id | ||
464 | + * @param succ 成功回调 | ||
465 | + * @param fail 失败回调 | ||
466 | + * | ||
467 | + * @return 0:成功;1:失败 | ||
468 | + */ | ||
469 | +- (int)modifyGroupOwner:(NSString*)groupId user:(NSString*)identifier succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
470 | + | ||
471 | +///@} | ||
472 | + | ||
473 | +#pragma mark 六,修改群成员信息 | ||
474 | +///////////////////////////////////////////////////////////////////////////////// | ||
475 | +// | ||
476 | +// (六)修改群成员信息 | ||
477 | +// | ||
478 | +///////////////////////////////////////////////////////////////////////////////// | ||
479 | +/// @name 修改群成员信息 | ||
480 | +/// @{ | ||
481 | + | ||
482 | +/** | ||
483 | + * 6.1 修改群成员名片 | ||
484 | + * | ||
485 | + * 只有本人、管理员或群主能够调用 | ||
486 | + * | ||
487 | + * @param groupId 群组Id | ||
488 | + * @param identifier 被操作用户identifier | ||
489 | + * @param nameCard 群名片 | ||
490 | + * @param succ 成功回调 | ||
491 | + * @param fail 失败回调 | ||
492 | + * | ||
493 | + * @return 0:成功;1:失败 | ||
494 | + */ | ||
495 | +- (int)modifyGroupMemberInfoSetNameCard:(NSString*)groupId user:(NSString*)identifier nameCard:(NSString*)nameCard succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
496 | + | ||
497 | +/** | ||
498 | + * 6.2 修改群成员角色 | ||
499 | + * | ||
500 | + * 1. 群主、管理员:可以进行对群成员的身份进行修改。 | ||
501 | + * 2. 直播大群:不支持修改用户群内身份。 | ||
502 | + * | ||
503 | + * @param groupId 群组Id | ||
504 | + * @param identifier 被修改角色的用户identifier | ||
505 | + * @param role 角色(注意:不能修改为群主),详见 TIMGroupMemberRole | ||
506 | + * @param succ 成功回调 | ||
507 | + * @param fail 失败回调 | ||
508 | + * | ||
509 | + * @return 0:成功;1:失败 | ||
510 | + */ | ||
511 | +- (int)modifyGroupMemberInfoSetRole:(NSString*)groupId user:(NSString*)identifier role:(TIMGroupMemberRole)role succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
512 | + | ||
513 | +/** | ||
514 | + * 6.3 修改群组成员是否可见属性 | ||
515 | + * | ||
516 | + * @param groupId 群组Id | ||
517 | + * @param visible 是否可见 | ||
518 | + * @param succ 成功回调 | ||
519 | + * @param fail 失败回调 | ||
520 | + * | ||
521 | + * @return 0:成功;1:失败 | ||
522 | + */ | ||
523 | +- (int)modifyGroupMemberVisible:(NSString*)groupId visible:(BOOL)visible succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
524 | + | ||
525 | +/** | ||
526 | + * 6.4 禁言用户 | ||
527 | + * | ||
528 | + * 只有管理员或群主能够调用 | ||
529 | + * | ||
530 | + * @param groupId 群组Id | ||
531 | + * @param identifier 被禁言的用户identifier | ||
532 | + * @param stime 禁言时间 | ||
533 | + * @param succ 成功回调 | ||
534 | + * @param fail 失败回调 | ||
535 | + * | ||
536 | + * @return 0:成功;1:失败 | ||
537 | + */ | ||
538 | +- (int)modifyGroupMemberInfoSetSilence:(NSString*)groupId user:(NSString*)identifier stime:(uint32_t)stime succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
539 | + | ||
540 | +/** | ||
541 | + * 5.7 修改个人接受消息选项 | ||
542 | + * | ||
543 | + * 默认情况下,公开群和私有群是接收并离线推送群消息,聊天室和直播大群是接收但不离线推送群消息。 | ||
544 | + * | ||
545 | + * @param groupId 群组Id | ||
546 | + * @param opt 接受消息选项,详见 TIMGroupReceiveMessageOpt | ||
547 | + * @param succ 成功回调 | ||
548 | + * @param fail 失败回调 | ||
549 | + * | ||
550 | + * @return 0:成功;1:失败 | ||
551 | + */ | ||
552 | +- (int)modifyReceiveMessageOpt:(NSString*)groupId opt:(TIMGroupReceiveMessageOpt)opt succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
553 | + | ||
554 | +/** | ||
555 | + * 6.5 修改群成员自定义字段集合 | ||
556 | + * | ||
557 | + * 通过 [IM 控制台](https://console.cloud.tencent.com/avc) -> 功能配置 -> 群成员维度自定义字段 配置相关的 key 和权限。 | ||
558 | + * | ||
559 | + * @param groupId 群组 Id | ||
560 | + * @param identifier 被操作用户 identifier | ||
561 | + * @param customInfo 自定义字段集合,key 是 NSString* 类型,value 是 NSData* 类型,value 长度不超过 64 字节 | ||
562 | + * @param succ 成功回调 | ||
563 | + * @param fail 失败回调 | ||
564 | + * | ||
565 | + * @return 0:成功;1:失败 | ||
566 | + */ | ||
567 | +- (int)modifyGroupMemberInfoSetCustomInfo:(NSString*)groupId user:(NSString*)identifier customInfo:(NSDictionary<NSString*,NSData*> *)customInfo succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
568 | + | ||
569 | +///@} | ||
570 | + | ||
571 | +#pragma mark 七,群未决逻辑 | ||
572 | +///////////////////////////////////////////////////////////////////////////////// | ||
573 | +// | ||
574 | +// (七)群未处理请求逻辑 | ||
575 | +// | ||
576 | +///////////////////////////////////////////////////////////////////////////////// | ||
577 | +/// @name 群未处理请求逻辑 | ||
578 | +/// @{ | ||
579 | + | ||
580 | +/** | ||
581 | + * 7.1 获取群组未处理请求列表 | ||
582 | + * | ||
583 | + * 1. 群未处理请求泛指所有需要审批的群相关的操作(例如:加群待审批,拉人入群待审批等等)。即便审核通过或者拒绝后,该条信息也可通过此接口拉回,拉回的信息中有已处理标志 | ||
584 | + * 2. 审批人:有权限拉取相关信息,如果 UserA 申请加入群 GroupA,则群管理员可获取此未处理相关信息,UserA 因为没有审批权限,不需要拉取未处理信息。如果 AdminA 拉 UserA 进去 GroupA,则 UserA 可以拉取此未处理相关信息,因为该未处理信息待 UserA 审批。 | ||
585 | + * | ||
586 | + * @param option 拉取群未处理请求参数配置,详情请参考 TIMComm.h -> TIMGroupPendencyOption | ||
587 | + * @param succ 成功回调,返回未决列表 | ||
588 | + * @param fail 失败回调 | ||
589 | + * | ||
590 | + * @return 0:成功;1:失败 | ||
591 | + */ | ||
592 | +- (int)getPendencyFromServer:(TIMGroupPendencyOption*)option succ:(TIMGetGroupPendencyListSucc)succ fail:(TIMFail)fail; | ||
593 | + | ||
594 | +/** | ||
595 | + * 7.2 群未处理列表已读上报 | ||
596 | + * | ||
597 | + * 对于未处理信息,SDK 可对其和之前的所有未处理请求上报已读。上报已读后,仍然可以拉取到这些未决信息,但可通过对已读时戳的判断判定未决信息是否已读。 | ||
598 | + * | ||
599 | + * @param timestamp 上报已读时间戳 | ||
600 | + * @param succ 成功回调 | ||
601 | + * @param fail 失败回调 | ||
602 | + * | ||
603 | + * @return 0:成功;1:失败 | ||
604 | + */ | ||
605 | +- (int)pendencyReport:(uint64_t)timestamp succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
606 | + | ||
607 | +///@} | ||
608 | + | ||
609 | +@end | ||
610 | +#endif |
ImSDK.framework/Headers/TIMManager+MsgExt.h
0 → 100644
1 | +///////////////////////////////////////////////////////////////////// | ||
2 | +// | ||
3 | +// 腾讯云通信服务 IMSDK | ||
4 | +// | ||
5 | +// 模块名称:TIMManager + MsgExt | ||
6 | +// | ||
7 | +// 模块功能:此处主要存放待废弃的 API 函数,建议您使用 TIMManager.h 内部声明的接口函数 | ||
8 | +// | ||
9 | +///////////////////////////////////////////////////////////////////// | ||
10 | + | ||
11 | +#ifndef TIMManager_MsgExt_h | ||
12 | +#define TIMManager_MsgExt_h | ||
13 | + | ||
14 | +#import "TIMManager.h" | ||
15 | + | ||
16 | +/** | ||
17 | + * IMSDK 扩展类,此处主要存放待废弃的 API 函数,建议您使用 TIMManager.h 内部声明的接口函数 | ||
18 | + */ | ||
19 | +@interface TIMManager (MsgExt) | ||
20 | + | ||
21 | +/** | ||
22 | + * 获取群管理器 | ||
23 | + * | ||
24 | + * 此函数待废弃,请直接使用 TIMGroupManager 的 sharedInstance 函数 | ||
25 | + * | ||
26 | + * @return 群管理器,详情请参考 TIMGroupManager.h 中的 TIMGroupManager 定义 | ||
27 | + */ | ||
28 | +- (TIMGroupManager*)groupManager; | ||
29 | + | ||
30 | + | ||
31 | +/** | ||
32 | + * 获取好友管理器 | ||
33 | + * | ||
34 | + * 此函数待废弃,请直接使用 TIMFriendshipManager 的 sharedInstance 函数 | ||
35 | + * | ||
36 | + * @return 好友管理器,详情请参考 TIMFriendshipManager.h 中的 TIMFriendshipManager 定义 | ||
37 | + */ | ||
38 | +- (TIMFriendshipManager*)friendshipManager; | ||
39 | + | ||
40 | +/** | ||
41 | + * 获取会话数量 | ||
42 | + * | ||
43 | + * @return 会话数量 | ||
44 | + */ | ||
45 | +- (int)conversationCount; | ||
46 | + | ||
47 | +/** | ||
48 | + * 发送消息给多个用户 | ||
49 | + * | ||
50 | + * @param msg 发送的消息 | ||
51 | + * @param users 目标用户的id列表 | ||
52 | + * @param succ 成功回调 | ||
53 | + * @param fail 失败回调 | ||
54 | + * | ||
55 | + * @return 0 发送成功 | ||
56 | + */ | ||
57 | +- (int)sendMessage:(TIMMessage*)msg toUsers:(NSArray*)users succ:(TIMSucc)succ fail:(TIMSendToUsersFail)fail; | ||
58 | + | ||
59 | +/** | ||
60 | + * 自定义版本号 | ||
61 | + * | ||
62 | + * @param version 版本号 | ||
63 | + * @note setCustomVersion() 要在 initSdk() 之前调用。 | ||
64 | + */ | ||
65 | +- (void)setCustomVersion:(NSString *)version; | ||
66 | + | ||
67 | +/** | ||
68 | + * 删除未读消息的时候减少会话的未读数 | ||
69 | + * | ||
70 | + * 不建议客户使用,删除消息和减少未读数是本地操作,没有和服务器做同步,在程序卸载或则多端同步中会出现未读数不一致的问题。 | ||
71 | + * | ||
72 | + * @note reduceUnreadNumberWhenRemoveMessage 要在 initSdk() 之前调用。 | ||
73 | + */ | ||
74 | +- (void)reduceUnreadNumberWhenRemoveMessage; | ||
75 | + | ||
76 | +@end | ||
77 | + | ||
78 | + | ||
79 | +#endif /* TIMManager_MsgExt_h */ |
-
Please register or login to post a comment