Showing
12 changed files
with
1 additions
and
4884 deletions
Too many changes to show.
To preserve performance only 12 of 12+ files are displayed.
| 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 |
| 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 |
| 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 | -///离线推送时展示标签 | ||
| 1184 | -@property(nonatomic,strong) NSString * title; | ||
| 1185 | - | ||
| 1186 | -///Android 离线 Push 时声音字段信息 | ||
| 1187 | -@property(nonatomic,strong) NSString * sound; | ||
| 1188 | - | ||
| 1189 | -///为了保证在 Android 8.0 系统以上的 OPPO 手机上能收到离线推送消息,需要 app 在该手机上创建 channelID,并且设置该参数。 | ||
| 1190 | -@property(nonatomic,strong) NSString * OPPOChannelID; | ||
| 1191 | - | ||
| 1192 | -///离线推送时通知形式 | ||
| 1193 | -@property(nonatomic,assign) TIMAndroidOfflinePushNotifyMode notifyMode; | ||
| 1194 | - | ||
| 1195 | -@end | ||
| 1196 | - | ||
| 1197 | -/// iOS 离线推送配置 | ||
| 1198 | -@interface TIMIOSOfflinePushConfig : NSObject | ||
| 1199 | - | ||
| 1200 | -///离线 Push 时声音字段信息 | ||
| 1201 | -@property(nonatomic,strong) NSString * sound; | ||
| 1202 | - | ||
| 1203 | -///忽略 badge 计数,如果设置为 YES,在 iOS 接收端,这条消息不会使 APP 的应用图标未读计数增加 | ||
| 1204 | -@property(nonatomic,assign) BOOL ignoreBadge; | ||
| 1205 | - | ||
| 1206 | -@end | ||
| 1207 | - | ||
| 1208 | -/// 填入 sound 字段表示接收时不会播放声音 | ||
| 1209 | -extern NSString * const kIOSOfflinePushNoSound; | ||
| 1210 | - | ||
| 1211 | -/// 自定义消息 push | ||
| 1212 | -@interface TIMOfflinePushInfo : NSObject | ||
| 1213 | - | ||
| 1214 | -///自定义消息描述信息,做离线Push时文本展示 | ||
| 1215 | -@property(nonatomic,strong) NSString * desc; | ||
| 1216 | - | ||
| 1217 | -///离线 Push 时扩展字段信息 | ||
| 1218 | -@property(nonatomic,strong) NSString * ext; | ||
| 1219 | - | ||
| 1220 | -///推送规则标志 | ||
| 1221 | -@property(nonatomic,assign) TIMOfflinePushFlag pushFlag; | ||
| 1222 | - | ||
| 1223 | -///iOS离线推送配置 | ||
| 1224 | -@property(nonatomic,strong) TIMIOSOfflinePushConfig * iosConfig; | ||
| 1225 | - | ||
| 1226 | -///Android离线推送配置 | ||
| 1227 | -@property(nonatomic,strong) TIMAndroidOfflinePushConfig * androidConfig; | ||
| 1228 | -@end | ||
| 1229 | - | ||
| 1230 | -/// 群组内的本人信息 | ||
| 1231 | -@interface TIMGroupSelfInfo : NSObject | ||
| 1232 | - | ||
| 1233 | -///加入群组时间 | ||
| 1234 | -@property(nonatomic,assign) uint32_t joinTime; | ||
| 1235 | - | ||
| 1236 | -///群组中的角色 | ||
| 1237 | -@property(nonatomic,assign) TIMGroupMemberRole role; | ||
| 1238 | - | ||
| 1239 | -///群组消息接收选项 | ||
| 1240 | -@property(nonatomic,assign) TIMGroupReceiveMessageOpt recvOpt; | ||
| 1241 | - | ||
| 1242 | -///群组中的未读消息数 | ||
| 1243 | -@property(nonatomic,assign) uint32_t unReadMessageNum; | ||
| 1244 | - | ||
| 1245 | -@end | ||
| 1246 | - | ||
| 1247 | -/// 群资料信息 | ||
| 1248 | -@interface TIMGroupInfo : TIMCodingModel | ||
| 1249 | - | ||
| 1250 | -///群组 Id | ||
| 1251 | -@property(nonatomic,strong) NSString* group; | ||
| 1252 | - | ||
| 1253 | -///群名 | ||
| 1254 | -@property(nonatomic,strong) NSString* groupName; | ||
| 1255 | - | ||
| 1256 | -///群创建人/管理员 | ||
| 1257 | -@property(nonatomic,strong) NSString * owner; | ||
| 1258 | - | ||
| 1259 | -///群类型:Private,Public,ChatRoom | ||
| 1260 | -@property(nonatomic,strong) NSString* groupType; | ||
| 1261 | - | ||
| 1262 | -///群创建时间 | ||
| 1263 | -@property(nonatomic,assign) uint32_t createTime; | ||
| 1264 | - | ||
| 1265 | -///最近一次群资料修改时间 | ||
| 1266 | -@property(nonatomic,assign) uint32_t lastInfoTime; | ||
| 1267 | - | ||
| 1268 | -///最近一次发消息时间 | ||
| 1269 | -@property(nonatomic,assign) uint32_t lastMsgTime; | ||
| 1270 | - | ||
| 1271 | -///最大成员数 | ||
| 1272 | -@property(nonatomic,assign) uint32_t maxMemberNum; | ||
| 1273 | - | ||
| 1274 | -///群成员数量 | ||
| 1275 | -@property(nonatomic,assign) uint32_t memberNum; | ||
| 1276 | - | ||
| 1277 | -///入群类型 | ||
| 1278 | -@property(nonatomic,assign) TIMGroupAddOpt addOpt; | ||
| 1279 | - | ||
| 1280 | -///群公告 | ||
| 1281 | -@property(nonatomic,strong) NSString* notification; | ||
| 1282 | - | ||
| 1283 | -///群简介 | ||
| 1284 | -@property(nonatomic,strong) NSString* introduction; | ||
| 1285 | - | ||
| 1286 | -///群头像 | ||
| 1287 | -@property(nonatomic,strong) NSString* faceURL; | ||
| 1288 | - | ||
| 1289 | -///最后一条消息 | ||
| 1290 | -@property(nonatomic,strong) TIMMessage* lastMsg; | ||
| 1291 | - | ||
| 1292 | -///在线成员数量 | ||
| 1293 | -@property(nonatomic,assign) uint32_t onlineMemberNum; | ||
| 1294 | - | ||
| 1295 | -///群组是否被搜索类型 | ||
| 1296 | -@property(nonatomic,assign) TIMGroupSearchableType isSearchable; | ||
| 1297 | - | ||
| 1298 | -///群组成员可见类型 | ||
| 1299 | -@property(nonatomic,assign) TIMGroupMemberVisibleType isMemberVisible; | ||
| 1300 | - | ||
| 1301 | -///是否全员禁言 | ||
| 1302 | -@property(nonatomic,assign) BOOL allShutup; | ||
| 1303 | - | ||
| 1304 | -///群组中的本人信息 | ||
| 1305 | -@property(nonatomic,strong) TIMGroupSelfInfo* selfInfo; | ||
| 1306 | - | ||
| 1307 | -///自定义字段集合,key 是 NSString* 类型,value 是 NSData* 类型 | ||
| 1308 | -@property(nonatomic,strong) NSDictionary<NSString *,NSData *>* customInfo; | ||
| 1309 | - | ||
| 1310 | -@end | ||
| 1311 | - | ||
| 1312 | -/// 获取群组信息结果 | ||
| 1313 | -@interface TIMGroupInfoResult : TIMGroupInfo | ||
| 1314 | - | ||
| 1315 | -/// 结果 0:成功;非0:失败 | ||
| 1316 | -@property(nonatomic,assign) int resultCode; | ||
| 1317 | - | ||
| 1318 | -/// 结果信息 | ||
| 1319 | -@property(nonatomic,strong) NSString *resultInfo; | ||
| 1320 | -@end | ||
| 1321 | - | ||
| 1322 | -/// 事件上报信息 | ||
| 1323 | -@interface TIMEventReportItem : NSObject | ||
| 1324 | - | ||
| 1325 | -///事件 id | ||
| 1326 | -@property(nonatomic,assign) uint32_t event; | ||
| 1327 | - | ||
| 1328 | -///错误码 | ||
| 1329 | -@property(nonatomic,assign) uint32_t code; | ||
| 1330 | - | ||
| 1331 | -///错误描述 | ||
| 1332 | -@property(nonatomic,strong) NSString * desc; | ||
| 1333 | - | ||
| 1334 | -///事件延迟(单位 ms) | ||
| 1335 | -@property(nonatomic,assign) uint32_t delay; | ||
| 1336 | - | ||
| 1337 | -@end | ||
| 1338 | - | ||
| 1339 | -/// 获取某个群组资料 | ||
| 1340 | -@interface TIMGroupInfoOption : NSObject | ||
| 1341 | - | ||
| 1342 | -///需要获取的群组信息标志(TIMGetGroupBaseInfoFlag),默认为0xffffff | ||
| 1343 | -@property(nonatomic,assign) uint64_t groupFlags; | ||
| 1344 | - | ||
| 1345 | -///需要获取群组资料的自定义信息(NSString*)列表 (接口已废弃,控制台配置群组自定义字段后,SDK 会根据权限自动拉取) | ||
| 1346 | -@property(nonatomic,strong) NSArray * groupCustom DEPRECATED_ATTRIBUTE; | ||
| 1347 | - | ||
| 1348 | -@end | ||
| 1349 | - | ||
| 1350 | -/// 需要某个群成员资料 | ||
| 1351 | -@interface TIMGroupMemberInfoOption : NSObject | ||
| 1352 | - | ||
| 1353 | -///需要获取的群成员标志(TIMGetGroupMemInfoFlag),默认为0xffffff | ||
| 1354 | -@property(nonatomic,assign) uint64_t memberFlags ; | ||
| 1355 | - | ||
| 1356 | -///需要获取群成员资料的自定义信息(NSString*)列表 (接口已废弃,控制台配置群成员自定义字段后,SDK 会根据权限自动拉取) | ||
| 1357 | -@property(nonatomic,strong) NSArray * memberCustom DEPRECATED_ATTRIBUTE; | ||
| 1358 | - | ||
| 1359 | -@end | ||
| 1360 | - | ||
| 1361 | -/// 群成员资料 | ||
| 1362 | -@interface TIMGroupMemberInfo : TIMCodingModel | ||
| 1363 | - | ||
| 1364 | -///成员 | ||
| 1365 | -@property(nonatomic,strong) NSString* member; | ||
| 1366 | - | ||
| 1367 | -///群名片 | ||
| 1368 | -@property(nonatomic,strong) NSString* nameCard; | ||
| 1369 | - | ||
| 1370 | -///加入群组时间 | ||
| 1371 | -@property(nonatomic,assign) time_t joinTime; | ||
| 1372 | - | ||
| 1373 | -///成员类型 | ||
| 1374 | -@property(nonatomic,assign) TIMGroupMemberRole role; | ||
| 1375 | - | ||
| 1376 | -///禁言结束时间(时间戳) | ||
| 1377 | -@property(nonatomic,assign) uint32_t silentUntil; | ||
| 1378 | - | ||
| 1379 | -///自定义字段集合,key 是 NSString*类型,value 是 NSData*类型 | ||
| 1380 | -@property(nonatomic,strong) NSDictionary* customInfo; | ||
| 1381 | - | ||
| 1382 | -///如果是自己,可以获取自己的群接收选项 | ||
| 1383 | -@property(nonatomic,assign) TIMGroupReceiveMessageOpt receiveMessageOpt; | ||
| 1384 | - | ||
| 1385 | -@end | ||
| 1386 | - | ||
| 1387 | -///资料与关系链 | ||
| 1388 | -@interface TIMFriendProfileOption : NSObject | ||
| 1389 | - | ||
| 1390 | -///关系链最大缓存时间(默认缓存一天;获取资料和关系链超过缓存时间,将自动向服务器发起请求) | ||
| 1391 | -@property NSInteger expiredSeconds; | ||
| 1392 | - | ||
| 1393 | -@end | ||
| 1394 | - | ||
| 1395 | -///用户资料 | ||
| 1396 | -@interface TIMUserProfile : TIMCodingModel | ||
| 1397 | - | ||
| 1398 | -/** | ||
| 1399 | - * 用户 identifier | ||
| 1400 | - */ | ||
| 1401 | -@property(nonatomic,strong) NSString* identifier; | ||
| 1402 | - | ||
| 1403 | -/** | ||
| 1404 | - * 用户昵称 | ||
| 1405 | - */ | ||
| 1406 | -@property(nonatomic,strong) NSString* nickname; | ||
| 1407 | - | ||
| 1408 | -/** | ||
| 1409 | - * 好友验证方式 | ||
| 1410 | - */ | ||
| 1411 | -@property(nonatomic,assign) TIMFriendAllowType allowType; | ||
| 1412 | - | ||
| 1413 | -/** | ||
| 1414 | - * 用户头像 | ||
| 1415 | - */ | ||
| 1416 | -@property(nonatomic,strong) NSString* faceURL; | ||
| 1417 | - | ||
| 1418 | -/** | ||
| 1419 | - * 用户签名 | ||
| 1420 | - */ | ||
| 1421 | -@property(nonatomic,strong) NSData* selfSignature; | ||
| 1422 | - | ||
| 1423 | -/** | ||
| 1424 | - * 用户性别 | ||
| 1425 | - */ | ||
| 1426 | -@property(nonatomic,assign) TIMGender gender; | ||
| 1427 | - | ||
| 1428 | -/** | ||
| 1429 | - * 用户生日 | ||
| 1430 | - */ | ||
| 1431 | -@property(nonatomic,assign) uint32_t birthday; | ||
| 1432 | - | ||
| 1433 | -/** | ||
| 1434 | - * 用户区域 | ||
| 1435 | - */ | ||
| 1436 | -@property(nonatomic,strong) NSData* location; | ||
| 1437 | - | ||
| 1438 | -/** | ||
| 1439 | - * 用户语言 | ||
| 1440 | - */ | ||
| 1441 | -@property(nonatomic,assign) uint32_t language; | ||
| 1442 | - | ||
| 1443 | -/** | ||
| 1444 | - * 等级 | ||
| 1445 | - */ | ||
| 1446 | -@property(nonatomic,assign) uint32_t level; | ||
| 1447 | - | ||
| 1448 | -/** | ||
| 1449 | - * 角色 | ||
| 1450 | - */ | ||
| 1451 | -@property(nonatomic,assign) uint32_t role; | ||
| 1452 | - | ||
| 1453 | -/** | ||
| 1454 | - * 自定义字段集合,key是NSString类型,value是NSData类型或者NSNumber类型 | ||
| 1455 | - * key值按照后台配置的字符串传入,不包括 TIMProfileTypeKey_Custom_Prefix 前缀 | ||
| 1456 | - */ | ||
| 1457 | -@property(nonatomic,strong) NSDictionary* customInfo; | ||
| 1458 | - | ||
| 1459 | -@end | ||
| 1460 | - | ||
| 1461 | -typedef void(^ProfileCallBack) (TIMUserProfile * profile); | ||
| 1462 | - | ||
| 1463 | -/** | ||
| 1464 | - * 好友 | ||
| 1465 | - */ | ||
| 1466 | -@interface TIMFriend : TIMCodingModel | ||
| 1467 | - | ||
| 1468 | -/** | ||
| 1469 | - * 好友identifier | ||
| 1470 | - */ | ||
| 1471 | -@property(nonatomic,strong) NSString *identifier; | ||
| 1472 | - | ||
| 1473 | -/** | ||
| 1474 | - * 好友备注(最大96字节,获取自己资料时,该字段为空) | ||
| 1475 | - */ | ||
| 1476 | -@property(nonatomic,strong) NSString *remark; | ||
| 1477 | - | ||
| 1478 | -/** | ||
| 1479 | - * 分组名称 NSString* 列表 | ||
| 1480 | - */ | ||
| 1481 | -@property(nonatomic,strong) NSArray *groups; | ||
| 1482 | - | ||
| 1483 | -/** | ||
| 1484 | - * 申请时的添加理由 | ||
| 1485 | - */ | ||
| 1486 | -@property(nonatomic,strong) NSString *addWording; | ||
| 1487 | - | ||
| 1488 | -/** | ||
| 1489 | - * 申请时的添加来源 | ||
| 1490 | - */ | ||
| 1491 | -@property(nonatomic,strong) NSString *addSource; | ||
| 1492 | - | ||
| 1493 | -/** | ||
| 1494 | - * 添加时间 | ||
| 1495 | - */ | ||
| 1496 | -@property(nonatomic,assign) uint64_t addTime; | ||
| 1497 | - | ||
| 1498 | -/** | ||
| 1499 | - * 自定义字段集合,key是NSString类型,value是NSData类型或者NSNumber类型 | ||
| 1500 | - * key值按照后台配置的字符串传入,不包括 TIMFriendTypeKey_Custom_Prefix 前缀 | ||
| 1501 | - */ | ||
| 1502 | -@property(nonatomic,strong) NSDictionary* customInfo; | ||
| 1503 | - | ||
| 1504 | -/** | ||
| 1505 | - * 好友资料 | ||
| 1506 | - */ | ||
| 1507 | -@property(nonatomic,strong) TIMUserProfile *profile; | ||
| 1508 | - | ||
| 1509 | -@end | ||
| 1510 | - | ||
| 1511 | -/** | ||
| 1512 | - * 创建群参数 | ||
| 1513 | - */ | ||
| 1514 | -@interface TIMCreateGroupInfo : TIMCodingModel | ||
| 1515 | - | ||
| 1516 | -/** | ||
| 1517 | - * 群组Id,nil则使用系统默认Id | ||
| 1518 | - */ | ||
| 1519 | -@property(nonatomic,strong) NSString* group; | ||
| 1520 | - | ||
| 1521 | -/** | ||
| 1522 | - * 群名 | ||
| 1523 | - */ | ||
| 1524 | -@property(nonatomic,strong) NSString* groupName; | ||
| 1525 | - | ||
| 1526 | -/** | ||
| 1527 | - * 群类型:Private,Public,ChatRoom,AVChatRoom,BChatRoom | ||
| 1528 | - */ | ||
| 1529 | -@property(nonatomic,strong) NSString* groupType; | ||
| 1530 | - | ||
| 1531 | -/** | ||
| 1532 | - * 是否设置入群选项,Private类型群组请设置为false | ||
| 1533 | - */ | ||
| 1534 | -@property(nonatomic,assign) BOOL setAddOpt; | ||
| 1535 | - | ||
| 1536 | -/** | ||
| 1537 | - * 入群选项 | ||
| 1538 | - */ | ||
| 1539 | -@property(nonatomic,assign) TIMGroupAddOpt addOpt; | ||
| 1540 | - | ||
| 1541 | -/** | ||
| 1542 | - * 最大成员数,填0则系统使用默认值 | ||
| 1543 | - */ | ||
| 1544 | -@property(nonatomic,assign) uint32_t maxMemberNum; | ||
| 1545 | - | ||
| 1546 | -/** | ||
| 1547 | - * 群公告 | ||
| 1548 | - */ | ||
| 1549 | -@property(nonatomic,strong) NSString* notification; | ||
| 1550 | - | ||
| 1551 | -/** | ||
| 1552 | - * 群简介 | ||
| 1553 | - */ | ||
| 1554 | -@property(nonatomic,strong) NSString* introduction; | ||
| 1555 | - | ||
| 1556 | -/** | ||
| 1557 | - * 群头像 | ||
| 1558 | - */ | ||
| 1559 | -@property(nonatomic,strong) NSString* faceURL; | ||
| 1560 | - | ||
| 1561 | -/** | ||
| 1562 | - * 自定义字段集合,key是NSString*类型,value是NSData*类型 | ||
| 1563 | - */ | ||
| 1564 | -@property(nonatomic,strong) NSDictionary* customInfo; | ||
| 1565 | - | ||
| 1566 | -/** | ||
| 1567 | - * 创建成员(TIMCreateGroupMemberInfo*)列表 | ||
| 1568 | - */ | ||
| 1569 | -@property(nonatomic,strong) NSArray <TIMCreateGroupMemberInfo *>* membersInfo; | ||
| 1570 | - | ||
| 1571 | -@end | ||
| 1572 | - | ||
| 1573 | -/** | ||
| 1574 | - * 未决请求选项 | ||
| 1575 | - */ | ||
| 1576 | -@interface TIMGroupPendencyOption : TIMCodingModel | ||
| 1577 | - | ||
| 1578 | -/** | ||
| 1579 | - * 拉取的起始时间 0:拉取最新的 | ||
| 1580 | - */ | ||
| 1581 | -@property(nonatomic,assign) uint64_t timestamp; | ||
| 1582 | - | ||
| 1583 | -/** | ||
| 1584 | - * 每页的数量,最大值为 10,设置超过 10,也最多只能拉回 10 条未决 | ||
| 1585 | - */ | ||
| 1586 | -@property(nonatomic,assign) uint32_t numPerPage; | ||
| 1587 | -@end | ||
| 1588 | - | ||
| 1589 | -/** | ||
| 1590 | - * 未决请求元信息 | ||
| 1591 | - */ | ||
| 1592 | -@interface TIMGroupPendencyMeta : TIMCodingModel | ||
| 1593 | - | ||
| 1594 | -/** | ||
| 1595 | - * 下一次拉取的起始时间戳 | ||
| 1596 | - */ | ||
| 1597 | -@property(nonatomic,assign) uint64_t nextStartTime; | ||
| 1598 | - | ||
| 1599 | -/** | ||
| 1600 | - * 已读时间戳大小 | ||
| 1601 | - */ | ||
| 1602 | -@property(nonatomic,assign) uint64_t readTimeSeq; | ||
| 1603 | - | ||
| 1604 | -/** | ||
| 1605 | - * 未决未读数 | ||
| 1606 | - */ | ||
| 1607 | -@property(nonatomic,assign) uint32_t unReadCnt; | ||
| 1608 | - | ||
| 1609 | -@end | ||
| 1610 | - | ||
| 1611 | -/** | ||
| 1612 | - * 创建群组时的成员信息 | ||
| 1613 | - */ | ||
| 1614 | -@interface TIMCreateGroupMemberInfo : TIMCodingModel | ||
| 1615 | - | ||
| 1616 | -/** | ||
| 1617 | - * 被操作成员 | ||
| 1618 | - */ | ||
| 1619 | -@property(nonatomic,strong) NSString* member; | ||
| 1620 | - | ||
| 1621 | -/** | ||
| 1622 | - * 成员类型 | ||
| 1623 | - */ | ||
| 1624 | -@property(nonatomic,assign) TIMGroupMemberRole role; | ||
| 1625 | - | ||
| 1626 | -/** | ||
| 1627 | - * 自定义字段集合,key是NSString*类型,value是NSData*类型 | ||
| 1628 | - */ | ||
| 1629 | -@property(nonatomic,strong) NSDictionary* customInfo; | ||
| 1630 | - | ||
| 1631 | -@end | ||
| 1632 | - | ||
| 1633 | -/** | ||
| 1634 | - * 成员操作返回值 | ||
| 1635 | - */ | ||
| 1636 | -@interface TIMGroupMemberResult : NSObject | ||
| 1637 | - | ||
| 1638 | -/** | ||
| 1639 | - * 被操作成员 | ||
| 1640 | - */ | ||
| 1641 | -@property(nonatomic,strong) NSString* member; | ||
| 1642 | -/** | ||
| 1643 | - * 返回状态 | ||
| 1644 | - */ | ||
| 1645 | -@property(nonatomic,assign) TIMGroupMemberStatus status; | ||
| 1646 | - | ||
| 1647 | -@end | ||
| 1648 | - | ||
| 1649 | -/** | ||
| 1650 | - * 未决申请 | ||
| 1651 | - */ | ||
| 1652 | -@interface TIMGroupPendencyItem : TIMCodingModel | ||
| 1653 | - | ||
| 1654 | -/** | ||
| 1655 | - * 相关群组id | ||
| 1656 | - */ | ||
| 1657 | -@property(nonatomic,strong) NSString* groupId; | ||
| 1658 | - | ||
| 1659 | -/** | ||
| 1660 | - * 请求者id,请求加群:请求者,邀请加群:邀请人 | ||
| 1661 | - */ | ||
| 1662 | -@property(nonatomic,strong) NSString* fromUser; | ||
| 1663 | - | ||
| 1664 | -/** | ||
| 1665 | - * 判决者id,请求加群:0,邀请加群:被邀请人 | ||
| 1666 | - */ | ||
| 1667 | -@property(nonatomic,strong) NSString* toUser; | ||
| 1668 | - | ||
| 1669 | -/** | ||
| 1670 | - * 未决添加时间 | ||
| 1671 | - */ | ||
| 1672 | -@property(nonatomic,assign) uint64_t addTime; | ||
| 1673 | - | ||
| 1674 | -/** | ||
| 1675 | - * 未决请求类型 | ||
| 1676 | - */ | ||
| 1677 | -@property(nonatomic,assign) TIMGroupPendencyGetType getType; | ||
| 1678 | - | ||
| 1679 | -/** | ||
| 1680 | - * 已决标志 | ||
| 1681 | - */ | ||
| 1682 | -@property(nonatomic,assign) TIMGroupPendencyHandleStatus handleStatus; | ||
| 1683 | - | ||
| 1684 | -/** | ||
| 1685 | - * 已决结果 | ||
| 1686 | - */ | ||
| 1687 | -@property(nonatomic,assign) TIMGroupPendencyHandleResult handleResult; | ||
| 1688 | - | ||
| 1689 | -/** | ||
| 1690 | - * 申请或邀请附加信息 | ||
| 1691 | - */ | ||
| 1692 | -@property(nonatomic,strong) NSString* requestMsg; | ||
| 1693 | - | ||
| 1694 | -/** | ||
| 1695 | - * 审批信息:同意或拒绝信息 | ||
| 1696 | - */ | ||
| 1697 | -@property(nonatomic,strong) NSString* handledMsg; | ||
| 1698 | - | ||
| 1699 | - | ||
| 1700 | -/** | ||
| 1701 | - * 同意申请 | ||
| 1702 | - * | ||
| 1703 | - * @param msg 同意理由,选填 | ||
| 1704 | - * @param succ 成功回调 | ||
| 1705 | - * @param fail 失败回调,返回错误码和错误描述 | ||
| 1706 | - */ | ||
| 1707 | --(void) accept:(NSString*)msg succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
| 1708 | - | ||
| 1709 | -/** | ||
| 1710 | - * 拒绝申请 | ||
| 1711 | - * | ||
| 1712 | - * @param msg 拒绝理由,选填 | ||
| 1713 | - * @param succ 成功回调 | ||
| 1714 | - * @param fail 失败回调,返回错误码和错误描述 | ||
| 1715 | - */ | ||
| 1716 | --(void) refuse:(NSString*)msg succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
| 1717 | - | ||
| 1718 | - | ||
| 1719 | -/** | ||
| 1720 | - * 用户自己的id | ||
| 1721 | - */ | ||
| 1722 | -@property(nonatomic,strong) NSString* selfIdentifier; | ||
| 1723 | - | ||
| 1724 | -@end | ||
| 1725 | - | ||
| 1726 | -/** | ||
| 1727 | - * 关系链变更详细信息 | ||
| 1728 | - */ | ||
| 1729 | -@interface TIMSNSChangeInfo : NSObject | ||
| 1730 | - | ||
| 1731 | -/** | ||
| 1732 | - * 用户 identifier | ||
| 1733 | - */ | ||
| 1734 | -@property(nonatomic,strong) NSString * identifier; | ||
| 1735 | - | ||
| 1736 | -/** | ||
| 1737 | - * 用户昵称 | ||
| 1738 | - */ | ||
| 1739 | -@property(nonatomic,strong) NSString * nickname; | ||
| 1740 | - | ||
| 1741 | -/** | ||
| 1742 | - * 申请添加时有效,添加理由 | ||
| 1743 | - */ | ||
| 1744 | -@property(nonatomic,strong) NSString * wording; | ||
| 1745 | - | ||
| 1746 | -/** | ||
| 1747 | - * 申请时填写,添加来源 | ||
| 1748 | - */ | ||
| 1749 | -@property(nonatomic,strong) NSString * source; | ||
| 1750 | - | ||
| 1751 | - | ||
| 1752 | -/** | ||
| 1753 | - * 备注 type=TIM_SNS_SYSTEM_SNS_PROFILE_CHANGE 有效 | ||
| 1754 | - */ | ||
| 1755 | -@property(nonatomic,strong) NSString * remark; | ||
| 1756 | - | ||
| 1757 | -@end | ||
| 1758 | - | ||
| 1759 | -/** | ||
| 1760 | - * 发送消息给多用户的失败回调信息 | ||
| 1761 | - */ | ||
| 1762 | -@interface TIMSendToUsersDetailInfo : NSObject | ||
| 1763 | -/** | ||
| 1764 | - * 发送消息成功的目标用户数 | ||
| 1765 | - */ | ||
| 1766 | -@property(nonatomic,assign) uint32_t succCnt; | ||
| 1767 | -/** | ||
| 1768 | - * 发送消息失败的目标用户数 | ||
| 1769 | - */ | ||
| 1770 | -@property(nonatomic,assign) uint32_t failCnt; | ||
| 1771 | -/** | ||
| 1772 | - * 失败信息(TIMSendToUsersErrInfo*)列表 | ||
| 1773 | - */ | ||
| 1774 | -@property(nonatomic,strong) NSArray *errInofs; | ||
| 1775 | -@end | ||
| 1776 | - | ||
| 1777 | -/** | ||
| 1778 | - * 发送消息给多用户的失败信息 | ||
| 1779 | - */ | ||
| 1780 | -@interface TIMSendToUsersErrInfo : NSObject | ||
| 1781 | -/** | ||
| 1782 | - * 发送消息失败的目标用户id | ||
| 1783 | - */ | ||
| 1784 | -@property(nonatomic,strong) NSString *identifier; | ||
| 1785 | -/** | ||
| 1786 | - * 错误码 | ||
| 1787 | - */ | ||
| 1788 | -@property(nonatomic,assign) int code; | ||
| 1789 | -/** | ||
| 1790 | - * 错误描述 | ||
| 1791 | - */ | ||
| 1792 | -@property(nonatomic,strong) NSString *err; | ||
| 1793 | -@end | ||
| 1794 | -#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 */ |
| 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 |
| 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 | - | ||
| 19 | -#pragma mark - 枚举类型 | ||
| 20 | - | ||
| 21 | -/** | ||
| 22 | - * 好友操作状态 | ||
| 23 | - * | ||
| 24 | - * 详细错误码参见 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 | ||
| 25 | - */ | ||
| 26 | -typedef NS_ENUM(NSInteger, TIMFriendStatus) { | ||
| 27 | - /** | ||
| 28 | - * 操作成功 | ||
| 29 | - */ | ||
| 30 | - TIM_FRIEND_STATUS_SUCC = 0, | ||
| 31 | - | ||
| 32 | - /** | ||
| 33 | - * 请求参数错误,请根据错误描述检查请求是否正确 | ||
| 34 | - */ | ||
| 35 | - TIM_FRIEND_PARAM_INVALID = 30001, | ||
| 36 | - | ||
| 37 | - /** | ||
| 38 | - * 请求参数错误,SdkAppid 不匹配。 | ||
| 39 | - */ | ||
| 40 | - TIM_FRIEND_SDK_APPID_INVALID = 30002, | ||
| 41 | - | ||
| 42 | - /** | ||
| 43 | - * 请求的用户帐号不存在 | ||
| 44 | - */ | ||
| 45 | - TIM_FRIEND_ID_INVALID = 30003, | ||
| 46 | - | ||
| 47 | - /** | ||
| 48 | - * 请求需要 App 管理员权限 | ||
| 49 | - */ | ||
| 50 | - TIM_FRIEND_NEED_ADMIN_PERMISSON = 30004, | ||
| 51 | - | ||
| 52 | - /** | ||
| 53 | - * 关系链字段中包含敏感词 | ||
| 54 | - */ | ||
| 55 | - TIM_FRIEND_DIRTY_WORD = 30005, | ||
| 56 | - | ||
| 57 | - /** | ||
| 58 | - * 服务器内部错误,请重试 | ||
| 59 | - */ | ||
| 60 | - TIM_FRIEND_SERVER_ERROR = 30006, | ||
| 61 | - | ||
| 62 | - /** | ||
| 63 | - * 网络超时,请稍后重试 | ||
| 64 | - */ | ||
| 65 | - TIM_FRIEND_TIMEOUT = 30007, | ||
| 66 | - | ||
| 67 | - /** | ||
| 68 | - * 并发写导致写冲突,建议使用批量方式 | ||
| 69 | - */ | ||
| 70 | - TIM_FRIEND_WRITE_ERROR = 30008, | ||
| 71 | - | ||
| 72 | - /** | ||
| 73 | - * 后台禁止该用户发起加好友请求 | ||
| 74 | - */ | ||
| 75 | - TIM_ADD_FRIEND_FORBIDEN = 30009, | ||
| 76 | - | ||
| 77 | - /** | ||
| 78 | - * 自己的好友数已达系统上限 | ||
| 79 | - */ | ||
| 80 | - TIM_ADD_FRIEND_STATUS_SELF_FRIEND_FULL = 30010, | ||
| 81 | - | ||
| 82 | - /** | ||
| 83 | - * 分组已达系统上限 | ||
| 84 | - */ | ||
| 85 | - TIM_UPDATE_FRIEND_GROUP_STATUS_MAX_GROUPS_EXCEED = 30011, | ||
| 86 | - | ||
| 87 | - /** | ||
| 88 | - * 未决数已达系统上限。 | ||
| 89 | - */ | ||
| 90 | - TIM_PENDENCY_STATUS_FULL = 30012, | ||
| 91 | - | ||
| 92 | - /** | ||
| 93 | - * 黑名单数已达系统上限 | ||
| 94 | - */ | ||
| 95 | - TIM_ADD_BLACKLIST_STATUS_FULL = 30013, | ||
| 96 | - | ||
| 97 | - /** | ||
| 98 | - * 对方的好友数已达系统上限 | ||
| 99 | - */ | ||
| 100 | - TIM_ADD_FRIEND_STATUS_THEIR_FRIEND_FULL = 30014, | ||
| 101 | - | ||
| 102 | - /** | ||
| 103 | - * 被加好友在自己的黑名单中 | ||
| 104 | - */ | ||
| 105 | - TIM_ADD_FRIEND_STATUS_IN_SELF_BLACK_LIST = 30515, | ||
| 106 | - | ||
| 107 | - /** | ||
| 108 | - * 被加好友设置为禁止加好友 | ||
| 109 | - */ | ||
| 110 | - TIM_ADD_FRIEND_STATUS_FRIEND_SIDE_FORBID_ADD = 30516, | ||
| 111 | - | ||
| 112 | - /** | ||
| 113 | - * 已被被添加好友设置为黑名单 | ||
| 114 | - */ | ||
| 115 | - TIM_ADD_FRIEND_STATUS_IN_OTHER_SIDE_BLACK_LIST = 30525, | ||
| 116 | - | ||
| 117 | - /** | ||
| 118 | - * 等待好友审核同意 | ||
| 119 | - */ | ||
| 120 | - TIM_ADD_FRIEND_STATUS_PENDING = 30539, | ||
| 121 | - | ||
| 122 | - /** | ||
| 123 | - * 添加好友请求被安全策略打击,请勿频繁发起添加好友请求 | ||
| 124 | - */ | ||
| 125 | - TIM_ADD_FRIEND_STATUS_SENSITIVE = 30540, | ||
| 126 | - | ||
| 127 | - /** | ||
| 128 | - * 对方没有申请过好友 | ||
| 129 | - */ | ||
| 130 | - TIM_RESPONSE_FRIEND_STATUS_NO_REQ = 30614, | ||
| 131 | - | ||
| 132 | - /** | ||
| 133 | - * 删除好友请求被安全策略打击,请勿频繁发起删除好友请求 | ||
| 134 | - */ | ||
| 135 | - TIM_DELETE_FRIEND_STATUS_SENSITIVE = 31707, | ||
| 136 | -}; | ||
| 137 | - | ||
| 138 | -typedef NS_ENUM(NSInteger, TIMDelFriendType) { | ||
| 139 | - /** | ||
| 140 | - * 删除单向好友 | ||
| 141 | - */ | ||
| 142 | - TIM_FRIEND_DEL_SINGLE = 1, | ||
| 143 | - | ||
| 144 | - /** | ||
| 145 | - * 删除双向好友 | ||
| 146 | - */ | ||
| 147 | - TIM_FRIEND_DEL_BOTH = 2, | ||
| 148 | -}; | ||
| 149 | - | ||
| 150 | -typedef NS_ENUM(NSInteger, TIMPendencyType) { | ||
| 151 | - /** | ||
| 152 | - * 别人发给我的 | ||
| 153 | - */ | ||
| 154 | - TIM_PENDENCY_COME_IN = 1, | ||
| 155 | - | ||
| 156 | - /** | ||
| 157 | - * 我发给别人的 | ||
| 158 | - */ | ||
| 159 | - TIM_PENDENCY_SEND_OUT = 2, | ||
| 160 | - | ||
| 161 | - /** | ||
| 162 | - * 别人发给我的 和 我发给别人的。仅拉取时有效 | ||
| 163 | - */ | ||
| 164 | - TIM_PENDENCY_BOTH = 3, | ||
| 165 | -}; | ||
| 166 | - | ||
| 167 | -/** | ||
| 168 | - * 推荐好友类型 | ||
| 169 | - */ | ||
| 170 | -typedef NS_ENUM(NSInteger, TIMFutureFriendType) { | ||
| 171 | - /** | ||
| 172 | - * 收到的未决请求 | ||
| 173 | - */ | ||
| 174 | - TIM_FUTURE_FRIEND_PENDENCY_IN_TYPE = 0x1, | ||
| 175 | - | ||
| 176 | - /** | ||
| 177 | - * 发出去的未决请求 | ||
| 178 | - */ | ||
| 179 | - TIM_FUTURE_FRIEND_PENDENCY_OUT_TYPE = 0x2, | ||
| 180 | - | ||
| 181 | - /** | ||
| 182 | - * 推荐好友 | ||
| 183 | - */ | ||
| 184 | - TIM_FUTURE_FRIEND_RECOMMEND_TYPE = 0x4, | ||
| 185 | - | ||
| 186 | - /** | ||
| 187 | - * 已决好友 | ||
| 188 | - */ | ||
| 189 | - TIM_FUTURE_FRIEND_DECIDE_TYPE = 0x8, | ||
| 190 | -}; | ||
| 191 | - | ||
| 192 | -/** | ||
| 193 | - * 翻页选项 | ||
| 194 | - */ | ||
| 195 | -typedef NS_ENUM(NSInteger, TIMPageDirectionType) { | ||
| 196 | - /** | ||
| 197 | - * 向上翻页 | ||
| 198 | - */ | ||
| 199 | - TIM_PAGE_DIRECTION_UP_TYPE = 1, | ||
| 200 | - | ||
| 201 | - /** | ||
| 202 | - * 向下翻页 | ||
| 203 | - */ | ||
| 204 | - TIM_PAGE_DIRECTION_DOWN_TYPE = 2, | ||
| 205 | -}; | ||
| 206 | - | ||
| 207 | -/** | ||
| 208 | - * 好友检查类型 | ||
| 209 | - */ | ||
| 210 | -typedef NS_ENUM(NSInteger,TIMFriendCheckType) { | ||
| 211 | - /** | ||
| 212 | - * 单向好友 | ||
| 213 | - */ | ||
| 214 | - TIM_FRIEND_CHECK_TYPE_UNIDIRECTION = 0x1, | ||
| 215 | - /** | ||
| 216 | - * 互为好友 | ||
| 217 | - */ | ||
| 218 | - TIM_FRIEND_CHECK_TYPE_BIDIRECTION = 0x2, | ||
| 219 | -}; | ||
| 220 | - | ||
| 221 | -/** | ||
| 222 | - * 好友关系类型 | ||
| 223 | - */ | ||
| 224 | -typedef NS_ENUM(NSInteger,TIMFriendRelationType) { | ||
| 225 | - /** | ||
| 226 | - * 不是好友 | ||
| 227 | - */ | ||
| 228 | - TIM_FRIEND_RELATION_TYPE_NONE = 0x0, | ||
| 229 | - /** | ||
| 230 | - * 对方在我的好友列表中 | ||
| 231 | - */ | ||
| 232 | - TIM_FRIEND_RELATION_TYPE_MY_UNI = 0x1, | ||
| 233 | - /** | ||
| 234 | - * 我在对方的好友列表中 | ||
| 235 | - */ | ||
| 236 | - TIM_FRIEND_RELATION_TYPE_OTHER_UNI = 0x2, | ||
| 237 | - /** | ||
| 238 | - * 互为好友 | ||
| 239 | - */ | ||
| 240 | - TIM_FRIEND_RELATION_TYPE_BOTHWAY = 0x3, | ||
| 241 | -}; | ||
| 242 | - | ||
| 243 | -typedef NS_ENUM(NSInteger, TIMFriendResponseType) { | ||
| 244 | - /** | ||
| 245 | - * 同意加好友(建立单向好友) | ||
| 246 | - */ | ||
| 247 | - TIM_FRIEND_RESPONSE_AGREE = 0, | ||
| 248 | - | ||
| 249 | - /** | ||
| 250 | - * 同意加好友并加对方为好友(建立双向好友) | ||
| 251 | - */ | ||
| 252 | - TIM_FRIEND_RESPONSE_AGREE_AND_ADD = 1, | ||
| 253 | - | ||
| 254 | - /** | ||
| 255 | - * 拒绝对方好友请求 | ||
| 256 | - */ | ||
| 257 | - TIM_FRIEND_RESPONSE_REJECT = 2, | ||
| 258 | -}; | ||
| 259 | - | ||
| 260 | -/** | ||
| 261 | - * 好友检查类型 | ||
| 262 | - */ | ||
| 263 | -typedef NS_ENUM(NSInteger,TIMFriendAddType) { | ||
| 264 | - /** | ||
| 265 | - * 单向好友 | ||
| 266 | - */ | ||
| 267 | - TIM_FRIEND_ADD_TYPE_SINGLE = 1, | ||
| 268 | - /** | ||
| 269 | - * 互为好友 | ||
| 270 | - */ | ||
| 271 | - TIM_FRIEND_ADD_TYPE_BOTH = 2, | ||
| 272 | -}; | ||
| 273 | -#pragma mark - block回调 | ||
| 274 | - | ||
| 275 | -/** | ||
| 276 | - * 获取未决请求列表成功 | ||
| 277 | - * | ||
| 278 | - * @param pendencyResponse 未决请求元信息 | ||
| 279 | - */ | ||
| 280 | -typedef void (^TIMGetFriendPendencyListSucc)(TIMFriendPendencyResponse *pendencyResponse); | ||
| 281 | - | ||
| 282 | -/** | ||
| 283 | - * 群搜索回调 | ||
| 284 | - * | ||
| 285 | - * @param totalNum 搜索结果的总数 | ||
| 286 | - * @param users 请求的用户列表片段 | ||
| 287 | - */ | ||
| 288 | -typedef void (^TIMUserSearchSucc)(uint64_t totalNum, NSArray * users); | ||
| 289 | - | ||
| 290 | -/** | ||
| 291 | - * 好友分组列表 | ||
| 292 | - * | ||
| 293 | - * @param groups 好友分组(TIMFriendGroup*)列表 | ||
| 294 | - */ | ||
| 295 | -typedef void (^TIMFriendGroupArraySucc)(NSArray<TIMFriendGroup *> * groups); | ||
| 296 | - | ||
| 297 | -/** | ||
| 298 | - * 好友关系检查回调 | ||
| 299 | - * | ||
| 300 | - * @param results TIMCheckFriendResult列表 | ||
| 301 | - */ | ||
| 302 | -typedef void (^TIMFriendCheckSucc)(NSArray* results); | ||
| 303 | - | ||
| 304 | -#pragma mark - 基本类型 | ||
| 305 | - | ||
| 306 | -/** | ||
| 307 | - * 加好友请求 | ||
| 308 | - */ | ||
| 309 | -@interface TIMFriendRequest : TIMCodingModel | ||
| 310 | - | ||
| 311 | -/** | ||
| 312 | - * 用户identifier(必填) | ||
| 313 | - */ | ||
| 314 | -@property (nonatomic,strong) NSString* identifier; | ||
| 315 | - | ||
| 316 | -/** | ||
| 317 | - * 备注(备注最大96字节) | ||
| 318 | - */ | ||
| 319 | -@property (nonatomic,strong) NSString* remark; | ||
| 320 | - | ||
| 321 | -/** | ||
| 322 | - * 请求说明(最大120字节) | ||
| 323 | - */ | ||
| 324 | -@property (nonatomic,strong) NSString* addWording; | ||
| 325 | - | ||
| 326 | -/** | ||
| 327 | - * 添加来源 | ||
| 328 | - * 来源需要添加“AddSource_Type_”前缀 | ||
| 329 | - */ | ||
| 330 | -@property (nonatomic,strong) NSString* addSource; | ||
| 331 | - | ||
| 332 | -/** | ||
| 333 | - * 分组 | ||
| 334 | - */ | ||
| 335 | -@property (nonatomic,strong) NSString* group; | ||
| 336 | - | ||
| 337 | -/** | ||
| 338 | - * 加好友方式 (可选) | ||
| 339 | - */ | ||
| 340 | -@property (nonatomic,assign) TIMFriendAddType addType; | ||
| 341 | - | ||
| 342 | -@end | ||
| 343 | - | ||
| 344 | -/** | ||
| 345 | - * 未决请求 | ||
| 346 | - */ | ||
| 347 | -@interface TIMFriendPendencyItem : TIMCodingModel | ||
| 348 | - | ||
| 349 | -/** | ||
| 350 | - * 用户标识 | ||
| 351 | - */ | ||
| 352 | -@property(nonatomic,strong) NSString* identifier; | ||
| 353 | -/** | ||
| 354 | - * 增加时间 | ||
| 355 | - */ | ||
| 356 | -@property(nonatomic,assign) uint64_t addTime; | ||
| 357 | -/** | ||
| 358 | - * 来源 | ||
| 359 | - */ | ||
| 360 | -@property(nonatomic,strong) NSString* addSource; | ||
| 361 | -/** | ||
| 362 | - * 加好友附言 | ||
| 363 | - */ | ||
| 364 | -@property(nonatomic,strong) NSString* addWording; | ||
| 365 | - | ||
| 366 | -/** | ||
| 367 | - * 加好友昵称 | ||
| 368 | - */ | ||
| 369 | -@property(nonatomic,strong) NSString* nickname; | ||
| 370 | - | ||
| 371 | -/** | ||
| 372 | - * 未决请求类型 | ||
| 373 | - */ | ||
| 374 | -@property(nonatomic,assign) TIMPendencyType type; | ||
| 375 | - | ||
| 376 | -@end | ||
| 377 | - | ||
| 378 | -/** | ||
| 379 | - * 未决推送 | ||
| 380 | - */ | ||
| 381 | -@interface TIMFriendPendencyInfo : TIMCodingModel | ||
| 382 | -/** | ||
| 383 | - * 用户标识 | ||
| 384 | - */ | ||
| 385 | -@property(nonatomic,strong) NSString* identifier; | ||
| 386 | -/** | ||
| 387 | - * 来源 | ||
| 388 | - */ | ||
| 389 | -@property(nonatomic,strong) NSString* addSource; | ||
| 390 | -/** | ||
| 391 | - * 加好友附言 | ||
| 392 | - */ | ||
| 393 | -@property(nonatomic,strong) NSString* addWording; | ||
| 394 | - | ||
| 395 | -/** | ||
| 396 | - * 加好友昵称 | ||
| 397 | - */ | ||
| 398 | -@property(nonatomic,strong) NSString* nickname; | ||
| 399 | -@end | ||
| 400 | - | ||
| 401 | -/** | ||
| 402 | - * 未决请求信息 | ||
| 403 | - */ | ||
| 404 | -@interface TIMFriendPendencyRequest : TIMCodingModel | ||
| 405 | - | ||
| 406 | -/** | ||
| 407 | - * 序列号,未决列表序列号 | ||
| 408 | - * 建议客户端保存seq和未决列表,请求时填入server返回的seq | ||
| 409 | - * 如果seq是server最新的,则不返回数据 | ||
| 410 | - */ | ||
| 411 | -@property(nonatomic,assign) uint64_t seq; | ||
| 412 | - | ||
| 413 | -/** | ||
| 414 | - * 翻页时间戳,只用来翻页,server返回0时表示没有更多数据,第一次请求填0 | ||
| 415 | - * 特别注意的是,如果server返回的seq跟填入的seq不同,翻页过程中,需要使用客户端原始seq请求,直到数据请求完毕,才能更新本地seq | ||
| 416 | - */ | ||
| 417 | -@property(nonatomic,assign) uint64_t timestamp; | ||
| 418 | - | ||
| 419 | -/** | ||
| 420 | - * 每页的数量,即本次请求最多返回多个数据,最大不超过 100,设置太大一次请求回包的时间会过长。默认值100 | ||
| 421 | - * 注意:后台最多只保存100条未决 | ||
| 422 | - */ | ||
| 423 | -@property(nonatomic,assign) uint64_t numPerPage; | ||
| 424 | - | ||
| 425 | -/** | ||
| 426 | - * 未决请求拉取类型 | ||
| 427 | - */ | ||
| 428 | -@property(nonatomic,assign) TIMPendencyType type; | ||
| 429 | - | ||
| 430 | -@end | ||
| 431 | - | ||
| 432 | -/** | ||
| 433 | - * 未决返回信息 | ||
| 434 | - */ | ||
| 435 | -@interface TIMFriendPendencyResponse : TIMCodingModel | ||
| 436 | - | ||
| 437 | -/** | ||
| 438 | - * 本次请求的未决列表序列号 | ||
| 439 | - */ | ||
| 440 | -@property(nonatomic,assign) uint64_t seq; | ||
| 441 | - | ||
| 442 | -/** | ||
| 443 | - * 本次请求的翻页时间戳 | ||
| 444 | - */ | ||
| 445 | -@property(nonatomic,assign) uint64_t timestamp; | ||
| 446 | - | ||
| 447 | -/** | ||
| 448 | - * 未决请求未读数量 | ||
| 449 | - */ | ||
| 450 | -@property(nonatomic,assign) uint64_t unreadCnt; | ||
| 451 | - | ||
| 452 | -/** | ||
| 453 | - * 未决数据 | ||
| 454 | - */ | ||
| 455 | -@property NSArray<TIMFriendPendencyItem *> * pendencies; | ||
| 456 | - | ||
| 457 | -@end | ||
| 458 | - | ||
| 459 | -/** | ||
| 460 | - * 好友分组信息 | ||
| 461 | - */ | ||
| 462 | -@interface TIMFriendGroup : TIMCodingModel | ||
| 463 | -/** | ||
| 464 | - * 好友分组名称 | ||
| 465 | - */ | ||
| 466 | -@property(nonatomic,strong) NSString* name; | ||
| 467 | - | ||
| 468 | -/** | ||
| 469 | - * 分组成员数量 | ||
| 470 | - */ | ||
| 471 | -@property(nonatomic,assign) uint64_t userCnt; | ||
| 472 | - | ||
| 473 | -/** | ||
| 474 | - * 分组成员identifier列表 | ||
| 475 | - */ | ||
| 476 | -@property(nonatomic,strong) NSArray* friends; | ||
| 477 | - | ||
| 478 | -@end | ||
| 479 | - | ||
| 480 | -/** | ||
| 481 | - * 好友关系检查 | ||
| 482 | - */ | ||
| 483 | -@interface TIMFriendCheckInfo : NSObject | ||
| 484 | -/** | ||
| 485 | - * 检查用户的id列表(NSString*) | ||
| 486 | - */ | ||
| 487 | -@property(nonatomic,strong) NSArray* users; | ||
| 488 | - | ||
| 489 | -/** | ||
| 490 | - * 检查类型 | ||
| 491 | - */ | ||
| 492 | -@property(nonatomic,assign) TIMFriendCheckType checkType; | ||
| 493 | - | ||
| 494 | -@end | ||
| 495 | - | ||
| 496 | -@interface TIMCheckFriendResult : NSObject | ||
| 497 | -/** | ||
| 498 | - * 用户id | ||
| 499 | - */ | ||
| 500 | -@property NSString* identifier; | ||
| 501 | - | ||
| 502 | -/** | ||
| 503 | - * 返回码 | ||
| 504 | - */ | ||
| 505 | -@property NSInteger result_code; | ||
| 506 | - | ||
| 507 | -/** | ||
| 508 | - * 返回信息 | ||
| 509 | - */ | ||
| 510 | -@property NSString *result_info; | ||
| 511 | - | ||
| 512 | -/** | ||
| 513 | - * 检查结果 | ||
| 514 | - */ | ||
| 515 | -@property(nonatomic,assign) TIMFriendRelationType resultType; | ||
| 516 | - | ||
| 517 | -@end | ||
| 518 | - | ||
| 519 | -@interface TIMFriendResult : NSObject | ||
| 520 | - | ||
| 521 | -/** | ||
| 522 | - * 用户Id | ||
| 523 | - */ | ||
| 524 | -@property NSString* identifier; | ||
| 525 | - | ||
| 526 | -/** | ||
| 527 | - * 返回码 | ||
| 528 | - */ | ||
| 529 | -@property NSInteger result_code; | ||
| 530 | - | ||
| 531 | -/** | ||
| 532 | - * 返回信息 | ||
| 533 | - */ | ||
| 534 | -@property NSString *result_info; | ||
| 535 | - | ||
| 536 | -@end | ||
| 537 | - | ||
| 538 | -/** | ||
| 539 | - * 响应好友请求 | ||
| 540 | - */ | ||
| 541 | -@interface TIMFriendResponse : NSObject | ||
| 542 | - | ||
| 543 | -/** | ||
| 544 | - * 响应类型 | ||
| 545 | - */ | ||
| 546 | -@property(nonatomic,assign) TIMFriendResponseType responseType; | ||
| 547 | - | ||
| 548 | -/** | ||
| 549 | - * 用户identifier | ||
| 550 | - */ | ||
| 551 | -@property(nonatomic,strong) NSString* identifier; | ||
| 552 | - | ||
| 553 | -/** | ||
| 554 | - * 备注好友(可选,如果要加对方为好友)。备注最大96字节 | ||
| 555 | - */ | ||
| 556 | -@property(nonatomic,strong) NSString* remark; | ||
| 557 | - | ||
| 558 | -@end | ||
| 559 | - | ||
| 560 | - | ||
| 561 | -/** | ||
| 562 | - * 好友分组信息扩展 | ||
| 563 | - */ | ||
| 564 | -@interface TIMFriendGroupWithProfiles : TIMFriendGroup | ||
| 565 | -/** | ||
| 566 | - * 好友资料(TIMUserProfile*)列表 | ||
| 567 | - */ | ||
| 568 | -@property(nonatomic,strong) NSArray* profiles; | ||
| 569 | -@end | ||
| 570 | - | ||
| 571 | -// 用户资料KEY | ||
| 572 | - | ||
| 573 | -/** | ||
| 574 | - * 昵称 | ||
| 575 | - * 值类型: NSString | ||
| 576 | - */ | ||
| 577 | -extern NSString *const TIMProfileTypeKey_Nick; | ||
| 578 | -/** | ||
| 579 | - * 头像 | ||
| 580 | - * 值类型: NSString | ||
| 581 | - */ | ||
| 582 | -extern NSString *const TIMProfileTypeKey_FaceUrl; | ||
| 583 | -/** | ||
| 584 | - * 好友申请 | ||
| 585 | - * 值类型: NSNumber [TIM_FRIEND_ALLOW_ANY,TIM_FRIEND_NEED_CONFIRM,TIM_FRIEND_DENY_ANY] | ||
| 586 | - */ | ||
| 587 | -extern NSString *const TIMProfileTypeKey_AllowType; | ||
| 588 | -/** | ||
| 589 | - * 性别 | ||
| 590 | - * 值类型: NSNumber [TIM_GENDER_UNKNOWN,TIM_GENDER_MALE,TIM_GENDER_FEMALE] | ||
| 591 | - */ | ||
| 592 | -extern NSString *const TIMProfileTypeKey_Gender; | ||
| 593 | -/** | ||
| 594 | - * 生日 | ||
| 595 | - * 值类型: NSNumber | ||
| 596 | - */ | ||
| 597 | -extern NSString *const TIMProfileTypeKey_Birthday; | ||
| 598 | -/** | ||
| 599 | - * 位置 | ||
| 600 | - * 值类型: NSString | ||
| 601 | - */ | ||
| 602 | -extern NSString *const TIMProfileTypeKey_Location; | ||
| 603 | -/** | ||
| 604 | - * 语言 | ||
| 605 | - * 值类型: NSNumber | ||
| 606 | - */ | ||
| 607 | -extern NSString *const TIMProfileTypeKey_Language; | ||
| 608 | -/** | ||
| 609 | - * 等级 | ||
| 610 | - * 值类型: NSNumber | ||
| 611 | - */ | ||
| 612 | -extern NSString *const TIMProfileTypeKey_Level; | ||
| 613 | -/** | ||
| 614 | - * 角色 | ||
| 615 | - * 值类型: NSNumber | ||
| 616 | - */ | ||
| 617 | -extern NSString *const TIMProfileTypeKey_Role; | ||
| 618 | -/** | ||
| 619 | - * 签名 | ||
| 620 | - * 值类型: NSString | ||
| 621 | - */ | ||
| 622 | -extern NSString *const TIMProfileTypeKey_SelfSignature; | ||
| 623 | -/** | ||
| 624 | - * 自定义字段前缀 | ||
| 625 | - * 值类型: [NSString,NSData|NSNumber] | ||
| 626 | - * @note 当设置自定义字的值NSString对象时,后台会将其转为UTF8保存在数据库中。由于部分用户迁移资料时可能不是UTF8类型,所以在获取资料时,统一返回NSData类型。 | ||
| 627 | - */ | ||
| 628 | -extern NSString *const TIMProfileTypeKey_Custom_Prefix; | ||
| 629 | - | ||
| 630 | -// 好友资料KEY | ||
| 631 | - | ||
| 632 | -/** | ||
| 633 | - * 备注 | ||
| 634 | - * 值类型: NSString | ||
| 635 | - */ | ||
| 636 | -extern NSString *const TIMFriendTypeKey_Remark; | ||
| 637 | -/** | ||
| 638 | - * 分组 | ||
| 639 | - * 值类型: [NSArray] | ||
| 640 | - */ | ||
| 641 | -extern NSString *const TIMFriendTypeKey_Group; | ||
| 642 | -/** | ||
| 643 | - * 自定义字段前缀 | ||
| 644 | - * 值类型: [NSString,NSData|NSNumber] | ||
| 645 | - */ | ||
| 646 | -extern NSString *const TIMFriendTypeKey_Custom_Prefix; | ||
| 647 | -#endif /* TIMFriendshipDefine_h */ | ||
| 648 | - |
| 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 | - * | ||
| 86 | - * @praram identifier 用户id | ||
| 87 | - * | ||
| 88 | - * @return 返回缓存的关系链数据,未找到返回nil | ||
| 89 | - * @note 缓存数据来自于上一次调用getFriendList,请确保已调用了获取好友列表方法 | ||
| 90 | - */ | ||
| 91 | -- (TIMFriend *)queryFriend:(NSString *)identifier; | ||
| 92 | - | ||
| 93 | -/** | ||
| 94 | - * 获取缓存中的关系链列表 | ||
| 95 | - * | ||
| 96 | - * @return 返回缓存的关系链数据 | ||
| 97 | - * @note 缓存数据来自于上一次调用getFriendList,请确保已调用了获取好友列表方法 | ||
| 98 | - */ | ||
| 99 | -- (NSArray<TIMFriend *> *)queryFriendList; | ||
| 100 | - | ||
| 101 | -/** | ||
| 102 | - * 检查指定用户的好友关系 | ||
| 103 | - * | ||
| 104 | - * @param checkInfo 好友检查信息 | ||
| 105 | - * @param succ 成功回调,返回检查结果 | ||
| 106 | - * @param fail 失败回调 | ||
| 107 | - * | ||
| 108 | - * @return 0:发送成功;-1:checkInfo->users 参数异常;-2:checkInfo->checkType 参数异常 | ||
| 109 | - */ | ||
| 110 | -- (int)checkFriends:(TIMFriendCheckInfo *)checkInfo succ:(TIMCheckFriendResultArraySucc)succ fail:(TIMFail)fail; | ||
| 111 | - | ||
| 112 | -/** | ||
| 113 | - * 添加好友 | ||
| 114 | - * | ||
| 115 | - * @param request 添加好友请求 | ||
| 116 | - * @param succ 成功回调(TIMFriendResult) | ||
| 117 | - * @param fail 失败回调 | ||
| 118 | - * | ||
| 119 | - * @return 0 发送请求成功 | ||
| 120 | - */ | ||
| 121 | -- (int)addFriend:(TIMFriendRequest *)request succ:(TIMFriendResultSucc)succ fail:(TIMFail)fail; | ||
| 122 | - | ||
| 123 | -/** | ||
| 124 | - * 响应对方好友邀请 | ||
| 125 | - * | ||
| 126 | - * @param response 响应请求 | ||
| 127 | - * @param succ 成功回调 | ||
| 128 | - * @param fail 失败回调 | ||
| 129 | - * | ||
| 130 | - * @return 0 发送请求成功 | ||
| 131 | - */ | ||
| 132 | -- (int)doResponse:(TIMFriendResponse *)response succ:(TIMFriendResultSucc)succ fail:(TIMFail)fail; | ||
| 133 | - | ||
| 134 | -/** | ||
| 135 | - * 删除好友 | ||
| 136 | - * | ||
| 137 | - * @param identifiers 好友id | ||
| 138 | - * @param delType 删除类型(单向好友、双向好友) | ||
| 139 | - * @param succ 成功回调([TIMFriendResult]) | ||
| 140 | - * @param fail 失败回调 | ||
| 141 | - * | ||
| 142 | - * @return 0 发送请求成功 | ||
| 143 | - */ | ||
| 144 | -- (int)deleteFriends:(NSArray *)identifiers delType:(TIMDelFriendType)delType succ:(TIMFriendResultArraySucc)succ fail:(TIMFail)fail; | ||
| 145 | - | ||
| 146 | -/** | ||
| 147 | - * 修改好友 | ||
| 148 | - * | ||
| 149 | - * @param identifier 好友id | ||
| 150 | - * @param values 需要更新的属性,可一次更新多个字段. 参见 TIMFriendshipDefine.h 的 TIMFriendTypeKey_XXX | ||
| 151 | - * @param succ 成功回调 | ||
| 152 | - * @param fail 失败回调 | ||
| 153 | - * | ||
| 154 | - * @return 0 发送请求成功 | ||
| 155 | - */ | ||
| 156 | -- (int)modifyFriend:(NSString *)identifier values:(NSDictionary<NSString *, id> *)values succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
| 157 | - | ||
| 158 | -/** | ||
| 159 | - * 获取未决列表 | ||
| 160 | - * | ||
| 161 | - * @param pendencyRequest 请求信息,详细参考TIMFriendPendencyRequest | ||
| 162 | - * @param succ 成功回调 | ||
| 163 | - * @param fail 失败回调 | ||
| 164 | - * | ||
| 165 | - * @return 0 发送请求成功 | ||
| 166 | - */ | ||
| 167 | -- (int)getPendencyList:(TIMFriendPendencyRequest *)pendencyRequest succ:(TIMGetFriendPendencyListSucc)succ fail:(TIMFail)fail; | ||
| 168 | - | ||
| 169 | -/** | ||
| 170 | - * 未决删除 | ||
| 171 | - * | ||
| 172 | - * @param type 未决好友类型 | ||
| 173 | - * @param identifiers 要删除的未决列表 | ||
| 174 | - * @param succ 成功回调 | ||
| 175 | - * @param fail 失败回调 | ||
| 176 | - * | ||
| 177 | - * @return 0 发送请求成功 | ||
| 178 | - */ | ||
| 179 | -- (int)deletePendency:(TIMPendencyType)type users:(NSArray *)identifiers succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
| 180 | - | ||
| 181 | -/** | ||
| 182 | - * 未决已读上报 | ||
| 183 | - * | ||
| 184 | - * @param timestamp 已读时间戳,此时间戳以前的消息都将置为已读 | ||
| 185 | - * @param succ 成功回调 | ||
| 186 | - * @param fail 失败回调 | ||
| 187 | - * | ||
| 188 | - * @return 0 发送请求成功 | ||
| 189 | - */ | ||
| 190 | -- (int)pendencyReport:(uint64_t)timestamp succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
| 191 | - | ||
| 192 | -/** | ||
| 193 | - * 获取黑名单列表 | ||
| 194 | - * | ||
| 195 | - * @param succ 成功回调,返回NSString*列表 | ||
| 196 | - * @param fail 失败回调 | ||
| 197 | - * | ||
| 198 | - * @return 0 发送请求成功 | ||
| 199 | - */ | ||
| 200 | -- (int)getBlackList:(TIMFriendArraySucc)succ fail:(TIMFail)fail; | ||
| 201 | - | ||
| 202 | -/** | ||
| 203 | - * 添加用户到黑名单 | ||
| 204 | - * | ||
| 205 | - * @param identifiers 用户列表 | ||
| 206 | - * @param succ 成功回调 | ||
| 207 | - * @param fail 失败回调 | ||
| 208 | - * | ||
| 209 | - * @return 0 发送请求成功 | ||
| 210 | - */ | ||
| 211 | -- (int)addBlackList:(NSArray *)identifiers succ:(TIMFriendResultArraySucc)succ fail:(TIMFail)fail; | ||
| 212 | - | ||
| 213 | -/** | ||
| 214 | - * 把用户从黑名单中删除 | ||
| 215 | - * | ||
| 216 | - * @param identifiers 用户列表 | ||
| 217 | - * @param succ 成功回调 | ||
| 218 | - * @param fail 失败回调 | ||
| 219 | - * | ||
| 220 | - * @return 0 发送请求成功 | ||
| 221 | - */ | ||
| 222 | -- (int)deleteBlackList:(NSArray *)identifiers succ:(TIMFriendResultArraySucc)succ fail:(TIMFail)fail; | ||
| 223 | - | ||
| 224 | -/** | ||
| 225 | - * 新建好友分组 | ||
| 226 | - * | ||
| 227 | - * @param groupNames 分组名称列表,必须是当前不存在的分组 | ||
| 228 | - * @param identifiers 要添加到分组中的好友 | ||
| 229 | - * @param succ 成功回调 | ||
| 230 | - * @param fail 失败回调 | ||
| 231 | - * | ||
| 232 | - * @return 0 发送请求成功 | ||
| 233 | - */ | ||
| 234 | -- (int)createFriendGroup:(NSArray *)groupNames users:(NSArray *)identifiers succ:(TIMFriendResultArraySucc)succ fail:(TIMFail)fail; | ||
| 235 | - | ||
| 236 | -/** | ||
| 237 | - * 获取指定的好友分组信息 | ||
| 238 | - * | ||
| 239 | - * @param groupNames 要获取信息的好友分组名称列表,传入nil获得所有分组信息 | ||
| 240 | - * @param succ 成功回调,返回 TIMFriendGroup* 列表 | ||
| 241 | - * @param fail 失败回调 | ||
| 242 | - * | ||
| 243 | - * @return 0 发送请求成功 | ||
| 244 | - */ | ||
| 245 | -- (int)getFriendGroups:(NSArray *)groupNames succ:(TIMFriendGroupArraySucc)succ fail:(TIMFail)fail; | ||
| 246 | - | ||
| 247 | -/** | ||
| 248 | - * 删除好友分组 | ||
| 249 | - * | ||
| 250 | - * @param groupNames 要删除的好友分组名称列表 | ||
| 251 | - * @param succ 成功回调 | ||
| 252 | - * @param fail 失败回调 | ||
| 253 | - * | ||
| 254 | - * @return 0 发送请求成功 | ||
| 255 | - */ | ||
| 256 | -- (int)deleteFriendGroup:(NSArray *)groupNames succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
| 257 | - | ||
| 258 | -/** | ||
| 259 | - * 修改好友分组的名称 | ||
| 260 | - * | ||
| 261 | - * @param oldName 原来的分组名称 | ||
| 262 | - * @param newName 新的分组名称 | ||
| 263 | - * @param succ 成功回调 | ||
| 264 | - * @param fail 失败回调 | ||
| 265 | - * | ||
| 266 | - * @return 0 发送请求成功 | ||
| 267 | - */ | ||
| 268 | -- (int)renameFriendGroup:(NSString*)oldName newName:(NSString*)newName succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
| 269 | - | ||
| 270 | -/** | ||
| 271 | - * 添加好友到一个好友分组 | ||
| 272 | - * | ||
| 273 | - * @param groupName 好友分组名称 | ||
| 274 | - * @param identifiers 要添加到分组中的好友 | ||
| 275 | - * @param succ 成功回调 | ||
| 276 | - * @param fail 失败回调 | ||
| 277 | - * | ||
| 278 | - * @return 0 发送请求成功 | ||
| 279 | - */ | ||
| 280 | -- (int)addFriendsToFriendGroup:(NSString *)groupName users:(NSArray *)identifiers succ:(TIMFriendResultArraySucc)succ fail:(TIMFail)fail; | ||
| 281 | - | ||
| 282 | -/** | ||
| 283 | - * 从好友分组中删除好友 | ||
| 284 | - * | ||
| 285 | - * @param groupName 好友分组名称 | ||
| 286 | - * @param identifiers 要移出分组的好友 | ||
| 287 | - * @param succ 成功回调 | ||
| 288 | - * @param fail 失败回调 | ||
| 289 | - * | ||
| 290 | - * @return 0 发送请求成功 | ||
| 291 | - */ | ||
| 292 | -- (int)deleteFriendsFromFriendGroup:(NSString *)groupName users:(NSArray *)identifiers succ:(TIMFriendResultArraySucc)succ fail:(TIMFail)fail; | ||
| 293 | -@end | ||
| 294 | - | ||
| 295 | -#endif /* TIMFriendshipManager_h */ |
| 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 | - * | ||
| 404 | - * @param groupId 群组Id | ||
| 405 | - * @param opt 加群选项,详见 TIMGroupAddOpt | ||
| 406 | - * @param succ 成功回调 | ||
| 407 | - * @param fail 失败回调 | ||
| 408 | - * | ||
| 409 | - * @return 0:成功;1:失败 | ||
| 410 | - */ | ||
| 411 | -- (int)modifyGroupAddOpt:(NSString*)groupId opt:(TIMGroupAddOpt)opt succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
| 412 | - | ||
| 413 | -/** | ||
| 414 | - * 5.6 修改群组是否可被搜索属性 | ||
| 415 | - * | ||
| 416 | - * @param groupId 群组Id | ||
| 417 | - * @param searchable 是否能被搜索 | ||
| 418 | - * @param succ 成功回调 | ||
| 419 | - * @param fail 失败回调 | ||
| 420 | - * | ||
| 421 | - * @return 0:成功;1:失败 | ||
| 422 | - */ | ||
| 423 | -- (int)modifyGroupSearchable:(NSString*)groupId searchable:(BOOL)searchable succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
| 424 | - | ||
| 425 | -/** | ||
| 426 | - * 5.8 修改群组全员禁言属性 | ||
| 427 | - * | ||
| 428 | - * 1. 群主、管理员:有权限进行全员禁言的操作。 | ||
| 429 | - * 2. 所有群组类型:都支持全员禁言的操作。 | ||
| 430 | - * | ||
| 431 | - * @param groupId 群组Id | ||
| 432 | - * @param shutup 是否禁言 | ||
| 433 | - * @param succ 成功回调 | ||
| 434 | - * @param fail 失败回调 | ||
| 435 | - * | ||
| 436 | - * @return 0:成功;1:失败 | ||
| 437 | - */ | ||
| 438 | -- (int)modifyGroupAllShutup:(NSString*)groupId shutup:(BOOL)shutup succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
| 439 | - | ||
| 440 | -/** | ||
| 441 | - * 5.9 修改群自定义字段集合 | ||
| 442 | - * | ||
| 443 | - * 通过 [IM 控制台](https://console.cloud.tencent.com/avc) -> 功能配置 -> 群维度自定义字段 配置相关的 key 和权限。 | ||
| 444 | - * | ||
| 445 | - * | ||
| 446 | - * @param groupId 群组Id | ||
| 447 | - * @param customInfo 自定义字段集合,key 是 NSString* 类型,value 是 NSData* 类型,value 长度不超过 512 字节 | ||
| 448 | - * @param succ 成功回调 | ||
| 449 | - * @param fail 失败回调 | ||
| 450 | - * | ||
| 451 | - * @return 0:成功;1:失败 | ||
| 452 | - */ | ||
| 453 | -- (int)modifyGroupCustomInfo:(NSString*)groupId customInfo:(NSDictionary<NSString *,NSData *>*)customInfo succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
| 454 | - | ||
| 455 | -/** | ||
| 456 | - * 5.10 转让群给新群主 | ||
| 457 | - * | ||
| 458 | - * 1. 只有群主才有权限进行群转让操作。 | ||
| 459 | - * 2. 直播大群不能进行群转让操作。 | ||
| 460 | - * | ||
| 461 | - * @param groupId 群组Id | ||
| 462 | - * @param identifier 新的群主Id | ||
| 463 | - * @param succ 成功回调 | ||
| 464 | - * @param fail 失败回调 | ||
| 465 | - * | ||
| 466 | - * @return 0:成功;1:失败 | ||
| 467 | - */ | ||
| 468 | -- (int)modifyGroupOwner:(NSString*)groupId user:(NSString*)identifier succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
| 469 | - | ||
| 470 | -///@} | ||
| 471 | - | ||
| 472 | -#pragma mark 六,修改群成员信息 | ||
| 473 | -///////////////////////////////////////////////////////////////////////////////// | ||
| 474 | -// | ||
| 475 | -// (六)修改群成员信息 | ||
| 476 | -// | ||
| 477 | -///////////////////////////////////////////////////////////////////////////////// | ||
| 478 | -/// @name 修改群成员信息 | ||
| 479 | -/// @{ | ||
| 480 | - | ||
| 481 | -/** | ||
| 482 | - * 6.1 修改群成员名片 | ||
| 483 | - * | ||
| 484 | - * 只有本人、管理员或群主能够调用 | ||
| 485 | - * | ||
| 486 | - * @param groupId 群组Id | ||
| 487 | - * @param identifier 被操作用户identifier | ||
| 488 | - * @param nameCard 群名片 | ||
| 489 | - * @param succ 成功回调 | ||
| 490 | - * @param fail 失败回调 | ||
| 491 | - * | ||
| 492 | - * @return 0:成功;1:失败 | ||
| 493 | - */ | ||
| 494 | -- (int)modifyGroupMemberInfoSetNameCard:(NSString*)groupId user:(NSString*)identifier nameCard:(NSString*)nameCard succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
| 495 | - | ||
| 496 | -/** | ||
| 497 | - * 6.2 修改群成员角色 | ||
| 498 | - * | ||
| 499 | - * 1. 群主、管理员:可以进行对群成员的身份进行修改。 | ||
| 500 | - * 2. 直播大群:不支持修改用户群内身份。 | ||
| 501 | - * | ||
| 502 | - * @param groupId 群组Id | ||
| 503 | - * @param identifier 被修改角色的用户identifier | ||
| 504 | - * @param role 角色(注意:不能修改为群主),详见 TIMGroupMemberRole | ||
| 505 | - * @param succ 成功回调 | ||
| 506 | - * @param fail 失败回调 | ||
| 507 | - * | ||
| 508 | - * @return 0:成功;1:失败 | ||
| 509 | - */ | ||
| 510 | -- (int)modifyGroupMemberInfoSetRole:(NSString*)groupId user:(NSString*)identifier role:(TIMGroupMemberRole)role succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
| 511 | - | ||
| 512 | -/** | ||
| 513 | - * 6.3 修改群组成员是否可见属性 | ||
| 514 | - * | ||
| 515 | - * @param groupId 群组Id | ||
| 516 | - * @param visible 是否可见 | ||
| 517 | - * @param succ 成功回调 | ||
| 518 | - * @param fail 失败回调 | ||
| 519 | - * | ||
| 520 | - * @return 0:成功;1:失败 | ||
| 521 | - */ | ||
| 522 | -- (int)modifyGroupMemberVisible:(NSString*)groupId visible:(BOOL)visible succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
| 523 | - | ||
| 524 | -/** | ||
| 525 | - * 6.4 禁言用户 | ||
| 526 | - * | ||
| 527 | - * 只有管理员或群主能够调用 | ||
| 528 | - * | ||
| 529 | - * @param groupId 群组Id | ||
| 530 | - * @param identifier 被禁言的用户identifier | ||
| 531 | - * @param stime 禁言时间 | ||
| 532 | - * @param succ 成功回调 | ||
| 533 | - * @param fail 失败回调 | ||
| 534 | - * | ||
| 535 | - * @return 0:成功;1:失败 | ||
| 536 | - */ | ||
| 537 | -- (int)modifyGroupMemberInfoSetSilence:(NSString*)groupId user:(NSString*)identifier stime:(uint32_t)stime succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
| 538 | - | ||
| 539 | -/** | ||
| 540 | - * 5.7 修改个人接受消息选项 | ||
| 541 | - * | ||
| 542 | - * 默认情况下,公开群和私有群是接收并离线推送群消息,聊天室和直播大群是接收但不离线推送群消息。 | ||
| 543 | - * | ||
| 544 | - * @param groupId 群组Id | ||
| 545 | - * @param opt 接受消息选项,详见 TIMGroupReceiveMessageOpt | ||
| 546 | - * @param succ 成功回调 | ||
| 547 | - * @param fail 失败回调 | ||
| 548 | - * | ||
| 549 | - * @return 0:成功;1:失败 | ||
| 550 | - */ | ||
| 551 | -- (int)modifyReceiveMessageOpt:(NSString*)groupId opt:(TIMGroupReceiveMessageOpt)opt succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
| 552 | - | ||
| 553 | -/** | ||
| 554 | - * 6.5 修改群成员自定义字段集合 | ||
| 555 | - * | ||
| 556 | - * 通过 [IM 控制台](https://console.cloud.tencent.com/avc) -> 功能配置 -> 群成员维度自定义字段 配置相关的 key 和权限。 | ||
| 557 | - * | ||
| 558 | - * @param groupId 群组 Id | ||
| 559 | - * @param identifier 被操作用户 identifier | ||
| 560 | - * @param customInfo 自定义字段集合,key 是 NSString* 类型,value 是 NSData* 类型,value 长度不超过 64 字节 | ||
| 561 | - * @param succ 成功回调 | ||
| 562 | - * @param fail 失败回调 | ||
| 563 | - * | ||
| 564 | - * @return 0:成功;1:失败 | ||
| 565 | - */ | ||
| 566 | -- (int)modifyGroupMemberInfoSetCustomInfo:(NSString*)groupId user:(NSString*)identifier customInfo:(NSDictionary<NSString*,NSData*> *)customInfo succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
| 567 | - | ||
| 568 | -///@} | ||
| 569 | - | ||
| 570 | -#pragma mark 七,群未决逻辑 | ||
| 571 | -///////////////////////////////////////////////////////////////////////////////// | ||
| 572 | -// | ||
| 573 | -// (七)群未处理请求逻辑 | ||
| 574 | -// | ||
| 575 | -///////////////////////////////////////////////////////////////////////////////// | ||
| 576 | -/// @name 群未处理请求逻辑 | ||
| 577 | -/// @{ | ||
| 578 | - | ||
| 579 | -/** | ||
| 580 | - * 7.1 获取群组未处理请求列表 | ||
| 581 | - * | ||
| 582 | - * 1. 群未处理请求泛指所有需要审批的群相关的操作(例如:加群待审批,拉人入群待审批等等)。即便审核通过或者拒绝后,该条信息也可通过此接口拉回,拉回的信息中有已处理标志 | ||
| 583 | - * 2. 审批人:有权限拉取相关信息,如果 UserA 申请加入群 GroupA,则群管理员可获取此未处理相关信息,UserA 因为没有审批权限,不需要拉取未处理信息。如果 AdminA 拉 UserA 进去 GroupA,则 UserA 可以拉取此未处理相关信息,因为该未处理信息待 UserA 审批。 | ||
| 584 | - * | ||
| 585 | - * @param option 拉取群未处理请求参数配置,详情请参考 TIMComm.h -> TIMGroupPendencyOption | ||
| 586 | - * @param succ 成功回调,返回未决列表 | ||
| 587 | - * @param fail 失败回调 | ||
| 588 | - * | ||
| 589 | - * @return 0:成功;1:失败 | ||
| 590 | - */ | ||
| 591 | -- (int)getPendencyFromServer:(TIMGroupPendencyOption*)option succ:(TIMGetGroupPendencyListSucc)succ fail:(TIMFail)fail; | ||
| 592 | - | ||
| 593 | -/** | ||
| 594 | - * 7.2 群未处理列表已读上报 | ||
| 595 | - * | ||
| 596 | - * 对于未处理信息,SDK 可对其和之前的所有未处理请求上报已读。上报已读后,仍然可以拉取到这些未决信息,但可通过对已读时戳的判断判定未决信息是否已读。 | ||
| 597 | - * | ||
| 598 | - * @param timestamp 上报已读时间戳 | ||
| 599 | - * @param succ 成功回调 | ||
| 600 | - * @param fail 失败回调 | ||
| 601 | - * | ||
| 602 | - * @return 0:成功;1:失败 | ||
| 603 | - */ | ||
| 604 | -- (int)pendencyReport:(uint64_t)timestamp succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
| 605 | - | ||
| 606 | -///@} | ||
| 607 | - | ||
| 608 | -@end | ||
| 609 | -#endif |
| 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 */ |
| 1 | -///////////////////////////////////////////////////////////////////// | ||
| 2 | -// | ||
| 3 | -// 腾讯云通信服务 IMSDK | ||
| 4 | -// | ||
| 5 | -// 模块名称:TIMManager | ||
| 6 | -// | ||
| 7 | -// 模块功能:IMSDK 主核心模块,负责 IMSDK 的初始化、登录、创建会话、管理推送等功能。 | ||
| 8 | -// | ||
| 9 | -// (1) 初始化:初始化是使用 TIMSDK 的前提,任何其它 API 的调用都应该在 initSdk 接口之后被调用。 | ||
| 10 | -// | ||
| 11 | -// (2) 登录:需要设置 SDKAppID,userID 和 userSig 才能使用腾讯云服务。 | ||
| 12 | -// | ||
| 13 | -// (3) 会话:一个会话对应一个聊天窗口,比如跟一个好友的 C2C 聊天,或者一个聊天群,都是一个会话。 | ||
| 14 | -// | ||
| 15 | -// (4) 推送:管理和设置 APNS 的相关功能,包括 token 和开关等。 | ||
| 16 | -// | ||
| 17 | -///////////////////////////////////////////////////////////////////// | ||
| 18 | - | ||
| 19 | - | ||
| 20 | -#ifndef ImSDK_TIMManager_h | ||
| 21 | -#define ImSDK_TIMManager_h | ||
| 22 | - | ||
| 23 | -#import "TIMComm.h" | ||
| 24 | -#import "TIMCallback.h" | ||
| 25 | - | ||
| 26 | -@class TIMGroupManager; | ||
| 27 | -@class TIMFriendshipManager; | ||
| 28 | - | ||
| 29 | - | ||
| 30 | -/** | ||
| 31 | - * IMSDK 主核心类,负责 IMSDK 的初始化、登录、创建会话、管理推送等功能。 | ||
| 32 | - */ | ||
| 33 | -@interface TIMManager : NSObject | ||
| 34 | - | ||
| 35 | -#pragma mark 一,初始化相关接口函数 | ||
| 36 | - | ||
| 37 | -///////////////////////////////////////////////////////////////////////////////// | ||
| 38 | -// | ||
| 39 | -// (一)初始化相关接口函数 | ||
| 40 | -// | ||
| 41 | -///////////////////////////////////////////////////////////////////////////////// | ||
| 42 | - | ||
| 43 | -/// @name 初始化相关接口 | ||
| 44 | -/// @{ | ||
| 45 | - | ||
| 46 | -/** | ||
| 47 | - * 1.1 获取管理器实例 TIMManager | ||
| 48 | - * | ||
| 49 | - * @return 管理器实例 | ||
| 50 | - */ | ||
| 51 | -+ (TIMManager*)sharedInstance; | ||
| 52 | - | ||
| 53 | -/** | ||
| 54 | - * 1.2 初始化 SDK,设置全局配置信息 | ||
| 55 | - * | ||
| 56 | - * 初始化 SDK 需要设置 TIMSdkConfig 信息,TIMSdkConfig 主要包含 sdkAppId 设置、Log 相关逻辑设置、数据库存储路径设置、网络监听设置等, | ||
| 57 | - * 其中 sdkAppId 的获取请参考官网文档 [跑通Demo(iOS与Mac)](https://cloud.tencent.com/document/product/269/32674)。 | ||
| 58 | - * | ||
| 59 | - * @param globalConfig 配置信息,全局有效,详情请参考 TIMComm.h 中的 TIMSdkConfig 定义。 | ||
| 60 | - * @return 0:成功;1:失败,config 为 nil | ||
| 61 | - */ | ||
| 62 | -- (int)initSdk:(TIMSdkConfig*)globalConfig; | ||
| 63 | - | ||
| 64 | -/** | ||
| 65 | - * 1.3 反初始化 | ||
| 66 | - */ | ||
| 67 | -- (void)unInit; | ||
| 68 | - | ||
| 69 | -/** | ||
| 70 | - * 1.4 获取全局配置信息 | ||
| 71 | - * | ||
| 72 | - * @return 全局配置,详情请参考 TIMComm.h 中的 TIMSdkConfig 定义 | ||
| 73 | - */ | ||
| 74 | -- (TIMSdkConfig*)getGlobalConfig; | ||
| 75 | - | ||
| 76 | -/** | ||
| 77 | - * 1.5 设置用户配置信息 | ||
| 78 | - * | ||
| 79 | - * 主要用来开启/关闭自动已读上报和已读回执,设置默认拉取的群组资料,群成员资料字段,监听用户登录状态、会话刷新、消息已读回执、文件上传进度、群组事件通知。 | ||
| 80 | - * | ||
| 81 | - * 1. disableAutoReport 是否开启多终端同步未读提醒,这个选项主要影响多终端登录时的未读消息提醒逻辑。 | ||
| 82 | - * YES:只有当一个终端调用 setReadMessage() 将消息标记为已读,另一个终端再登录时才不会收到未读提醒; | ||
| 83 | - * NO:消息一旦被一个终端接收,另一个终端都不会再次提醒。同理,卸载 APP 再安装也无法再次收到这些未读消息。 | ||
| 84 | - * 2. enableReadReceipt 是否开启被阅回执,接收端设置,发送端才会生效。 | ||
| 85 | - * YES:接收者查看消息(setReadMessage)后,消息的发送者会收到 TIMMessageReceiptListener 的回调提醒; | ||
| 86 | - * NO: 不开启被阅回执,默认不开启。 | ||
| 87 | - * 3. groupInfoOpt 设置拉取群资料中的自定义字段。 | ||
| 88 | - * 4. groupMemberInfoOpt 设置拉群成员资料中的自定义字段。 | ||
| 89 | - * | ||
| 90 | - * @note setUserConfig() 要在 initSdk() 之后 和 login() 之前调用。 | ||
| 91 | - * | ||
| 92 | - * @param config 配置信息,对当前 TIMManager 有效,详情请参考 TIMComm.h 中的 TIMUserConfig 定义 | ||
| 93 | - * @return 0:成功;1:失败,config 为 nil | ||
| 94 | - */ | ||
| 95 | -- (int)setUserConfig:(TIMUserConfig*)config; | ||
| 96 | - | ||
| 97 | -/** | ||
| 98 | - * 1.6 获取用户配置信息 | ||
| 99 | - * | ||
| 100 | - * @return 当前 manager 绑定用户的配置,详情请参考 TIMComm.h 中的 TIMUserConfig 定义 | ||
| 101 | - */ | ||
| 102 | -- (TIMUserConfig*)getUserConfig; | ||
| 103 | - | ||
| 104 | -/** | ||
| 105 | - * 1.7 新消息接收监听 | ||
| 106 | - * | ||
| 107 | - * 添加消息监听后,会在 TIMMessageListener 的 onNewMessage 收到回调消息,消息内容通过参数 TIMMessage 传递。 | ||
| 108 | - * 消息的解析可参阅 [消息解析](https://cloud.tencent.com/document/product/269/9150#.E6.B6.88.E6.81.AF.E8.A7.A3.E6.9E.90) 。 | ||
| 109 | - * | ||
| 110 | - * @param listener 回调,详情请参考 TIMCallback.h 中的 TIMMessageListener 定义 | ||
| 111 | - * @return 0:成功;1:失败,listener 为 nil | ||
| 112 | - */ | ||
| 113 | -- (int)addMessageListener:(id<TIMMessageListener>)listener; | ||
| 114 | - | ||
| 115 | -/** | ||
| 116 | - * 1.8 移除消息监听 | ||
| 117 | - * | ||
| 118 | - * @param listener 回调,详情请参考 TIMCallback.h 中的 TIMMessageListener 定义 | ||
| 119 | - * @return 0:成功;1:失败,listener 为 nil | ||
| 120 | - */ | ||
| 121 | -- (int)removeMessageListener:(id<TIMMessageListener>)listener; | ||
| 122 | - | ||
| 123 | -/// @} | ||
| 124 | - | ||
| 125 | -#pragma mark 二,登录相关接口 | ||
| 126 | -///////////////////////////////////////////////////////////////////////////////// | ||
| 127 | -// | ||
| 128 | -// (二)登录相关接口 | ||
| 129 | -// | ||
| 130 | -///////////////////////////////////////////////////////////////////////////////// | ||
| 131 | - | ||
| 132 | -/// @name 登录相关接口 | ||
| 133 | -/// @{ | ||
| 134 | -/** | ||
| 135 | - * 2.1 登录 | ||
| 136 | - * | ||
| 137 | - * 1. 登录需要设置用户名 userID 和用户签名 userSig,userSig 生成请参 [UserSig 后台 API](https://cloud.tencent.com/document/product/269/32688)。 | ||
| 138 | - * 2. 如果 userSig 过期,登录会返回 ERR_USER_SIG_EXPIRED:6206 错误码,收到错误码后请生成新的 userSig 重新登录。 | ||
| 139 | - * 3. 用户在线情况下被踢,会在 TIMUserConfig 里面配置的 TIMUserStatusListener 监听器获取 onForceOffline 回调,收到回调后可以选择重新登录。 | ||
| 140 | - * 4. 用户离线状态下被踢,会在用户重新登录时收到 (ERR_IMSDK_KICKED_BY_OTHERS:6208) 错误码,此时需要再次调用 login() 强制上线。 | ||
| 141 | - * 5. 如果当前是登录中,则本次登录无效,本次回调不会有任何返回,登录结果会通过第一次登录的回调返回,可以通过 getLoginStatus() 获取登录状态。 | ||
| 142 | - * | ||
| 143 | - * 更多详情请参考 [用户状态变更](https://cloud.tencent.com/document/product/269/9148#5.-.E7.94.A8.E6.88.B7.E7.8A.B6.E6.80.81.E5.8F.98.E6.9B.B4)。 | ||
| 144 | - * | ||
| 145 | - * @param param 登录参数,详情请参考 TIMComm.h 中的 TIMLoginParam 定义 | ||
| 146 | - * @param succ 成功回调,详情请参考 TIMComm.h 中的 TIMLoginSucc 定义 | ||
| 147 | - * @param fail 失败回调,详情请参考 TIMComm.h 中的 TIMFail 定义 | ||
| 148 | - * | ||
| 149 | - * @return 0:成功;1:失败,请检查 param 参数是否正常 | ||
| 150 | - */ | ||
| 151 | -- (int)login: (TIMLoginParam*)param succ:(TIMLoginSucc)succ fail:(TIMFail)fail; | ||
| 152 | - | ||
| 153 | -/** | ||
| 154 | - * 2.2 自动登录 | ||
| 155 | - * | ||
| 156 | - * 自动登录类似“记住密码”的功能,如果上一次已经成功登录,那么一段时间内都只需要传入用户名就可以完成登录。 | ||
| 157 | - * 相比于普通的 login(TIMLoginParam) 接口,该接口可以减少 IM SDK 向您的服务器索要 UserSig 的频率, | ||
| 158 | - * 既可以加快登录速度,又能减少你的 UserSig 服务器压力,也在一定程度上降低了 UserSig 泄漏的风险。 | ||
| 159 | - * | ||
| 160 | - * 1. 首次登录之后,SDK 会把登录信息存在在本地,下次登录即可调用自动登录 | ||
| 161 | - * 2. 如果用户之前没有登录过,或则 APP 被卸载过,自动登录会报 ERR_NO_PREVIOUS_LOGIN:6026 错误,这个时候请调用 login 接口重新登录。 | ||
| 162 | - * | ||
| 163 | - * @param userID 自动登录用户名 | ||
| 164 | - * @param succ 成功回调,详情请参考 TIMComm.h 中的 TIMLoginSucc 定义 | ||
| 165 | - * @param fail 失败回调,详情请参考 TIMComm.h 中的 TIMFail 定义 | ||
| 166 | - * | ||
| 167 | - * @return 0:成功;1:失败,请检查 param 参数是否正常 | ||
| 168 | - */ | ||
| 169 | -- (int)autoLogin:(NSString*)userID succ:(TIMLoginSucc)succ fail:(TIMFail)fail; | ||
| 170 | - | ||
| 171 | -/** | ||
| 172 | - * 2.3 登出 | ||
| 173 | - * | ||
| 174 | - * 退出登录,如果切换账号,需要 logout 回调成功或者失败后才能再次 login,否则 login 可能会失败。 | ||
| 175 | - * | ||
| 176 | - * @param succ 成功回调,登出成功 | ||
| 177 | - * @param fail 失败回调,返回错误码和错误信息 | ||
| 178 | - * | ||
| 179 | - * @return 0:发送登出包成功,等待回调;1:失败 | ||
| 180 | - */ | ||
| 181 | -- (int)logout:(TIMLoginSucc)succ fail:(TIMFail)fail; | ||
| 182 | - | ||
| 183 | -/** | ||
| 184 | - * 2.4 获取当前登录的用户 | ||
| 185 | - * | ||
| 186 | - * @return 如果登录返回用户的 userID,如果未登录返回 nil | ||
| 187 | - */ | ||
| 188 | -- (NSString*)getLoginUser; | ||
| 189 | - | ||
| 190 | -/** | ||
| 191 | - * 2.5 获取当前登录状态 | ||
| 192 | - * | ||
| 193 | - * @return 登录状态,详情请参考 TIMComm.h 中的 TIMLoginStatus 定义 | ||
| 194 | - */ | ||
| 195 | -- (TIMLoginStatus)getLoginStatus; | ||
| 196 | - | ||
| 197 | -/// @} | ||
| 198 | - | ||
| 199 | -#pragma mark 三,会话管理器 | ||
| 200 | -///////////////////////////////////////////////////////////////////////////////// | ||
| 201 | -// | ||
| 202 | -// (三)会话管理器 | ||
| 203 | -// | ||
| 204 | -///////////////////////////////////////////////////////////////////////////////// | ||
| 205 | -/// @name 会话管理器 | ||
| 206 | -/// @{ | ||
| 207 | - | ||
| 208 | -/** | ||
| 209 | - * 3.1 获取会话列表 | ||
| 210 | - * | ||
| 211 | - * 一个会话对应一个聊天窗口,比如跟一个好友的 1v1 聊天,或者一个聊天群,都是一个会话。 | ||
| 212 | - * | ||
| 213 | - * @return 会话列表 | ||
| 214 | - */ | ||
| 215 | -- (NSArray<TIMConversation *>*)getConversationList; | ||
| 216 | - | ||
| 217 | -/** | ||
| 218 | - * 3.2 获取单个会话 | ||
| 219 | - * | ||
| 220 | - * TIMConversation 负责会话相关操作,包含发送消息、获取会话消息缓存、获取未读计数等。 | ||
| 221 | - * | ||
| 222 | - * @param type 详情请参考 TIMComm.h 里面的 TIMConversationType 定义 | ||
| 223 | - * @param conversationId 会话 ID | ||
| 224 | - 单聊类型(C2C) :为对方 userID; | ||
| 225 | - 群组类型(GROUP) :为群组 groupId; | ||
| 226 | - 系统类型(SYSTEM):为 @"" | ||
| 227 | - * | ||
| 228 | - * @return 会话对象,详情请参考 TIMConversation.h 里面的 TIMConversation 定义 | ||
| 229 | - */ | ||
| 230 | -- (TIMConversation*)getConversation:(TIMConversationType)type receiver:(NSString*)conversationId; | ||
| 231 | - | ||
| 232 | -/** | ||
| 233 | - * 3.3 删除单个会话 | ||
| 234 | - * | ||
| 235 | - * @param type 会话类型,详情请参考 TIMComm.h 里面的 TIMConversationType 定义 | ||
| 236 | - * @param conversationId 会话 Id | ||
| 237 | - * 单聊类型(C2C) :为对方 userID; | ||
| 238 | - * 群组类型(GROUP) :为群组 groupId; | ||
| 239 | - * 系统类型(SYSTEM):为 @"" | ||
| 240 | - * | ||
| 241 | - * @return YES:删除成功;NO:删除失败 | ||
| 242 | - */ | ||
| 243 | -- (BOOL)deleteConversation:(TIMConversationType)type receiver:(NSString*)conversationId; | ||
| 244 | - | ||
| 245 | -/** | ||
| 246 | - * 3.4 删除单个会话和对应的会话消息 | ||
| 247 | - * | ||
| 248 | - * 本接口与 deleteConversation() 的差异在于,deleteConversation() 只是删除单个会话,而本接口会额外把本地缓存的消息记录也一并删除掉。 | ||
| 249 | - * | ||
| 250 | - * @note 本接口只能删除本地缓存的历史消息,无法删除云端保存的历史消息。 | ||
| 251 | - * @param type 会话类型,详情请参考 TIMComm.h 里面的 TIMConversationType 定义 | ||
| 252 | - * @param conversationId 会话 Id | ||
| 253 | - * 单聊类型(C2C) :为对方 userID; | ||
| 254 | - * 群组类型(GROUP) :为群组 groupId; | ||
| 255 | - * 系统类型(SYSTEM):为 @"" | ||
| 256 | - * | ||
| 257 | - * @return YES:删除成功;NO:删除失败 | ||
| 258 | - */ | ||
| 259 | -- (BOOL)deleteConversationAndMessages:(TIMConversationType)type receiver:(NSString*)conversationId; | ||
| 260 | - | ||
| 261 | -/// @} | ||
| 262 | - | ||
| 263 | -#pragma mark 四,设置 APNs 推送 | ||
| 264 | -///////////////////////////////////////////////////////////////////////////////// | ||
| 265 | -// | ||
| 266 | -// (四)设置 APNs 推送 | ||
| 267 | -// | ||
| 268 | -///////////////////////////////////////////////////////////////////////////////// | ||
| 269 | -/// @name 设置 APNs 推送 | ||
| 270 | -/// @{ | ||
| 271 | - | ||
| 272 | -/** | ||
| 273 | - * 4.1. 设置客户端 Token 和证书 busiId | ||
| 274 | - * | ||
| 275 | - * token 是苹果后台对客户端的唯一标识,需要主动调用系统 API 向苹果请求获取,请求成功后, | ||
| 276 | - * 可以在 didRegisterForRemoteNotificationsWithDeviceToken 回调收到对应的 token 信息。 | ||
| 277 | - * 具体实现见下面代码示例: | ||
| 278 | - * | ||
| 279 | - * <pre> | ||
| 280 | - * | ||
| 281 | - * //获取 token 代码示例 | ||
| 282 | - * if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) { | ||
| 283 | - * [[UIApplication sharedApplication] registerUserNotificationSettings: | ||
| 284 | - * [UIUserNotificationSettings settingsForTypes: | ||
| 285 | - * (UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]]; | ||
| 286 | - * [[UIApplication sharedApplication] registerForRemoteNotifications]; | ||
| 287 | - * } | ||
| 288 | - * else{ | ||
| 289 | - * [[UIApplication sharedApplication] registerForRemoteNotificationTypes: | ||
| 290 | - * (UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert)]; | ||
| 291 | - * } | ||
| 292 | - * | ||
| 293 | - * //收到 token 代码示例 | ||
| 294 | - * -(void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { | ||
| 295 | - * //回调的 deviceToken 就是需要的 token 信息 | ||
| 296 | - * } | ||
| 297 | - * | ||
| 298 | - * </pre> | ||
| 299 | - * | ||
| 300 | - * busiId 是推送证书 ID,是向 IM 控制台上传 iOS 证书(p.12)生成的, | ||
| 301 | - * 具体步骤请参考 [离线推送](https://cloud.tencent.com/document/product/269/9154)。 | ||
| 302 | - * | ||
| 303 | - * @param token 详情请参考 TIMComm.h 中的 TIMTokenParam 定义 | ||
| 304 | - * @param succ 成功回调,详情请参考 TIMComm.h 中的 TIMSucc 定义 | ||
| 305 | - * @param fail 失败回调,详情请参考 TIMComm.h 中的 TIMFail 定义 | ||
| 306 | - * | ||
| 307 | - * @return 0:成功;1:失败,token 参数异常 | ||
| 308 | - */ | ||
| 309 | -- (int)setToken:(TIMTokenParam*)token succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
| 310 | - | ||
| 311 | -/** | ||
| 312 | - * 4.2. 设置 APNS | ||
| 313 | - * | ||
| 314 | - * 设置 APNS,可设置单聊、群组推送声音,也可以设置是否开启推送。 | ||
| 315 | - * | ||
| 316 | - * @param config APNS 配置,详情请参考 TIMComm.h 中的 TIMAPNSConfig 定义 | ||
| 317 | - * @param succ 成功回调,详情请参考 TIMComm.h 中的 TIMSucc 定义 | ||
| 318 | - * @param fail 失败回调,详情请参考 TIMComm.h 中的 TIMFail 定义 | ||
| 319 | - * | ||
| 320 | - * @return 0:成功;1:失败,config 参数异常 | ||
| 321 | - */ | ||
| 322 | -- (int)setAPNS:(TIMAPNSConfig*)config succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
| 323 | - | ||
| 324 | -/** | ||
| 325 | - * 4.3. 获取 APNS 配置 | ||
| 326 | - * | ||
| 327 | - * @param succ 成功回调,返回配置信息,详情请参考 TIMComm.h 中的 TIMAPNSConfigSucc 定义 | ||
| 328 | - * @param fail 失败回调,详情请参考 TIMComm.h 中的 TIMFail 定义 | ||
| 329 | - * | ||
| 330 | - * @return 0:成功;1:失败 | ||
| 331 | - */ | ||
| 332 | -- (int)getAPNSConfig:(TIMAPNSConfigSucc)succ fail:(TIMFail)fail; | ||
| 333 | - | ||
| 334 | -/** | ||
| 335 | - * 4.4. APP 进后台 | ||
| 336 | - * | ||
| 337 | - * APP 进后台的时候需要主动调用 doBackground ,这个时候后台知道 APP 的状态,之后的消息会下发推送通知。 | ||
| 338 | - * | ||
| 339 | - * <pre> | ||
| 340 | - * | ||
| 341 | - * - (void)applicationDidEnterBackground:(UIApplication *)application { | ||
| 342 | - * TIMBackgroundParam *param = [[TIMBackgroundParam alloc] init]; | ||
| 343 | - * [param setC2cUnread:unReadCount]; | ||
| 344 | - * [[TIMManager sharedInstance] doBackground:param succ:^() { | ||
| 345 | - * // to do | ||
| 346 | - * } fail:^(int code, NSString * err) { | ||
| 347 | - * // to do | ||
| 348 | - * }]; | ||
| 349 | - * } | ||
| 350 | - * | ||
| 351 | - * </pre> | ||
| 352 | - * | ||
| 353 | - * @param param 上报参数,详情请参考 TIMComm.h 中的 TIMBackgroundParam 定义 | ||
| 354 | - * @param succ 成功时回调,详情请参考 TIMComm.h 中的 TIMSucc 定义 | ||
| 355 | - * @param fail 失败时回调,详情请参考 TIMComm.h 中的 TIMFail 定义 | ||
| 356 | - * | ||
| 357 | - * @return 0:成功;1:失败 | ||
| 358 | - */ | ||
| 359 | -- (int)doBackground:(TIMBackgroundParam*)param succ:(TIMSucc)succ fail:(TIMFail)fail; | ||
| 360 | - | ||
| 361 | - | ||
| 362 | -/** | ||
| 363 | - * 4.5. APP 进前台 | ||
| 364 | - * | ||
| 365 | - * APP 进前台的时候需要主动调用 doForeground,这个时候后台知道 APP 的状态,之后的消息不会下发推送通知。 | ||
| 366 | - * | ||
| 367 | - * <pre> | ||
| 368 | - * | ||
| 369 | - * - (void)applicationDidBecomeActive:(UIApplication *)application { | ||
| 370 | - * [[TIMManager sharedInstance] doForeground:^() { | ||
| 371 | - * //to do | ||
| 372 | - * } fail:^(int code, NSString * err) { | ||
| 373 | - * //to do | ||
| 374 | - * }]; | ||
| 375 | - * } | ||
| 376 | - * | ||
| 377 | - * </pre> | ||
| 378 | - * | ||
| 379 | - * @param succ 成功时回调,详情请参考 TIMComm.h 中的 TIMSucc 定义 | ||
| 380 | - * @param fail 失败时回调,详情请参考 TIMComm.h 中的 TIMFail 定义 | ||
| 381 | - * | ||
| 382 | - * @return 0:成功;1:失败 | ||
| 383 | - */ | ||
| 384 | -- (int)doForeground:(TIMSucc)succ fail:(TIMFail)fail; | ||
| 385 | - | ||
| 386 | -/// @} | ||
| 387 | - | ||
| 388 | -#pragma mark 五,未登录查看本地会话和消息 | ||
| 389 | -///////////////////////////////////////////////////////////////////////////////// | ||
| 390 | -// | ||
| 391 | -// (五)未登录查看本地会话和消息 | ||
| 392 | -// | ||
| 393 | -///////////////////////////////////////////////////////////////////////////////// | ||
| 394 | -/// @name 未登录查看本地会话和消息 | ||
| 395 | -/// @{ | ||
| 396 | - | ||
| 397 | -/** | ||
| 398 | - * 5.1 在未登录的情况下加载本地存储 | ||
| 399 | - * | ||
| 400 | - * 该接口相当于 login() 函数的无网络版本,适用于在用户没有网络(未登录)的情况下查看用户的本地会话和消息。 | ||
| 401 | - * | ||
| 402 | - * @note 如过已经 login() 成功,请不要调用此函数,否则会导致各种异常问题。 | ||
| 403 | - * | ||
| 404 | - * @param userID 用户名 | ||
| 405 | - * @param succ 成功回调,收到回调时,可以获取会话列表和消息 | ||
| 406 | - * @param fail 失败回调 | ||
| 407 | - * @return 0:加载成功;1:请求失败 | ||
| 408 | - */ | ||
| 409 | -- (int)initStorage:(NSString*)userID succ:(TIMLoginSucc)succ fail:(TIMFail)fail; | ||
| 410 | - | ||
| 411 | -///@} | ||
| 412 | - | ||
| 413 | -#pragma mark 六,调试相关接口 | ||
| 414 | -///////////////////////////////////////////////////////////////////////////////// | ||
| 415 | -// | ||
| 416 | -// (六)调试相关接口 | ||
| 417 | -// | ||
| 418 | -///////////////////////////////////////////////////////////////////////////////// | ||
| 419 | -/// @name 调试相关接口 | ||
| 420 | -/// @{ | ||
| 421 | - | ||
| 422 | -/** | ||
| 423 | - * 6.1 获取版本号 | ||
| 424 | - * | ||
| 425 | - * @return 返回版本号,字符串表示,例如 v1.1.1 | ||
| 426 | - */ | ||
| 427 | -- (NSString*)GetVersion; | ||
| 428 | - | ||
| 429 | -/** | ||
| 430 | - * 6.2 打印日志 | ||
| 431 | - * | ||
| 432 | - * 通过 ImSDK 提供的日志功能打印日志 | ||
| 433 | - * | ||
| 434 | - * @param level 日志级别,详情请参考 TIMComm.h 中的 TIMLogLevel 定义 | ||
| 435 | - * @param tag 模块 tag | ||
| 436 | - * @param msg 要输出的日志内容 | ||
| 437 | - */ | ||
| 438 | -- (void)log:(TIMLogLevel)level tag:(NSString*)tag msg:(NSString*)msg; | ||
| 439 | - | ||
| 440 | -/** | ||
| 441 | - * 6.3 获取日志文件路径 | ||
| 442 | - */ | ||
| 443 | -- (NSString*)getLogPath; | ||
| 444 | - | ||
| 445 | -/** | ||
| 446 | - * 6.4 获取日志打印开启状态 | ||
| 447 | - * | ||
| 448 | - * 您可以在 initSdk -> TIMSdkConfig -> disableLogPrint 设置日志是否打印 | ||
| 449 | - * | ||
| 450 | - * @return YES:允许 log 打印;NO:不允许 log 打印 | ||
| 451 | - */ | ||
| 452 | -- (BOOL)getIsLogPrintEnabled; | ||
| 453 | - | ||
| 454 | -/** | ||
| 455 | - * 6.5 获取日志级别 | ||
| 456 | - * | ||
| 457 | - * @return 返回日志级别,详情请参考 TIMComm.h 中的 TIMLogLevel 定义 | ||
| 458 | - */ | ||
| 459 | --(TIMLogLevel) getLogLevel; | ||
| 460 | - | ||
| 461 | -///@} | ||
| 462 | - | ||
| 463 | -@end | ||
| 464 | -#endif |
-
Please register or login to post a comment