@rongcloud/engine 5.8.2 → 5.8.3-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/index.d.ts +1344 -1168
  2. package/index.esm.js +1 -1
  3. package/index.js +1 -1
  4. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -103,1123 +103,1539 @@ declare enum TagChangeType {
103
103
  }
104
104
 
105
105
  /**
106
- * LogLevel 等级定义,与大数据服务器日志等级保持一致
106
+ * 聊天室 kv 存储操作类型. 对方操作, 己方收到消息(RC:chrmKVNotiMsg)中会带入此值. 根据此值判断是删除还是更新
107
+ * @category Enum
108
+ */
109
+ declare enum ChatroomEntryType {
110
+ UPDATE = 1,
111
+ DELETE = 2
112
+ }
113
+
114
+ /**
115
+ * 聊天室成员进入和退出状态
116
+ * @category Enum
107
117
  */
108
- declare enum LogL {
109
- /**
110
- * IM 质量数据日志,控制台不打印
111
- */
112
- STATISTICS = -2,
113
- /**
114
- * 未明确使用场景,暂未使用,控制台不打印
115
- * TODO:
116
- * 暂未明确使用场景,实时日志系统上报?
117
- * 需要明确下为什么会有 -1,以及与 -2 的区别,并在注释中补充
118
- */
119
- RECORD = -1,
120
- /**
121
- * 未明确使用场景,暂未使用,控制台不打印
122
- */
123
- FATAL = 0,
124
- /**
125
- * ERROR 级
126
- */
127
- ERROR = 1,
128
- /**
129
- * WARN 级
130
- */
131
- WARN = 2,
118
+ declare enum ChatroomUserChangeType {
119
+ QUIT = 0,
120
+ JOIN = 1
121
+ }
122
+
123
+ /**
124
+ * 聊天室多端同步时,消息中的状态:加入/离开
125
+ * @category Enum
126
+ * @since 5.7.9
127
+ */
128
+ declare enum ChrmSyncStatus {
132
129
  /**
133
- * INFO 级
130
+ * 离开
134
131
  */
135
- INFO = 3,
132
+ QUIT = 0,
136
133
  /**
137
- * DEBUG 级
134
+ * 加入
138
135
  */
139
- DEBUG = 4
136
+ JOIN = 1
140
137
  }
141
- /**
142
- * 有效的日志等级声明
143
- */
144
- declare type EnableLogL = LogL.DEBUG | LogL.INFO | LogL.WARN | LogL.ERROR;
145
138
 
146
- declare type LogContent = string | number | boolean | null;
147
- declare type LogType = 'IM' | 'RTC';
148
139
  /**
149
- * 对外暴露的 Logger 工具接口定义,以隐藏 BasicLogger 其他实现
140
+ * 聊天室解封/封禁用户消息,操作类型枚举
141
+ * @category Enum
142
+ * @since 5.7.9
150
143
  */
151
- interface ILogger {
152
- debug(tag: string, content?: LogContent, traceId?: string): void;
153
- info(tag: string, content?: LogContent, traceId?: string): void;
154
- warn(tag: string, content?: LogContent, traceId?: string): void;
155
- error(tag: string, content?: LogContent, traceId?: string): void;
144
+ declare enum ChrmMemOperateType {
156
145
  /**
157
- * 设置日志打印等级,默认为 `LogL.WARN`
158
- * @param level
146
+ * 解封
159
147
  */
160
- setOutputLevel(level?: EnableLogL): void;
148
+ Deblock = 0,
161
149
  /**
162
- * 创建事务追踪 ID,全局唯一,便于跨进程、异步事务追踪,需要考虑多进程
150
+ * 封禁
163
151
  */
164
- createTraceId(): string;
152
+ Blocked = 1
165
153
  }
166
154
 
167
- interface ILogData {
155
+ /**
156
+ * 聊天室禁言/解除禁言操作类型枚举
157
+ * @category Enum
158
+ * @since 5.7.9
159
+ */
160
+ declare enum ChrmMemBanType {
168
161
  /**
169
- * 日志原始内容
162
+ * 解除指定聊天室中用户禁言
170
163
  */
171
- content?: LogContent;
164
+ UnmuteUsers = 0,
172
165
  /**
173
- * 日志标签,如 `L-INIT-O`
166
+ * 禁言指定聊天室中用户
174
167
  */
175
- tag: string;
168
+ MuteUsers = 1,
176
169
  /**
177
- * logger 实例 Id,用于确定日志由谁埋点,如 `RCEngien` 为 engine 包埋点日志
170
+ * 解除聊天室全体禁言
178
171
  */
179
- loggerId: string;
172
+ UnmuteAll = 2,
180
173
  /**
181
- * 日志生成时间
174
+ * 聊天室全体禁言
182
175
  */
183
- time: number;
176
+ MuteAll = 3,
184
177
  /**
185
- * 应用的声明周期 sessionId
186
- * @description
187
- * Electron 环境下,以主进程 sessionId 入库,渲染进程 sessionId 存储于 content 内。
188
- * 日志上报时,通过 `${mainSessionId}:${renderSessionId}` 形式作为 sessionId 上报
189
- * @TODO 需确认服务是否允许 `${mainSessionId}:${renderSessionId}` 的方式,以及 sessionId 是否超出长度。
178
+ * 移出禁言用户白名单
190
179
  */
191
- sessionId: string;
180
+ RemoveWhitelist = 4,
192
181
  /**
193
- * 日志类型,仅用于大数据后台查阅统计
182
+ * 添加禁言用户白名单
194
183
  */
195
- type: 'IM' | 'RTC';
184
+ AddWhitelist = 5,
196
185
  /**
197
- * 日志等级,该等级与服务器统计等级保持一致,为入库等级
186
+ * 解除用户聊天室全局禁言
198
187
  */
199
- level: LogL;
188
+ UnmuteGloble = 6,
200
189
  /**
201
- * 事务跟踪 ID
190
+ * 用户聊天室全局禁言
202
191
  */
203
- traceId?: string;
192
+ MuteGloble = 7
204
193
  }
205
194
 
206
195
  /**
207
- * Logger 抽象基类,定义日志采集接口与进程内打印,
208
- * 由子类继承实现入库逻辑
196
+ * 聊天室多端同步时,离开聊天室的原因
197
+ * @category Enum
198
+ * @since 5.7.9
209
199
  */
210
- declare abstract class BasicLogger implements ILogger {
211
- protected readonly _appkey: string;
212
- protected readonly _id: string;
213
- protected readonly _type: LogType;
214
- constructor(_appkey: string, _id: string, _type: LogType);
215
- private _stdout;
216
- /**
217
- * 用户的打印日志等级配置
218
- */
219
- private outputLevel;
220
- setOutputLevel(level?: EnableLogL): void;
221
- /**
222
- * 由子类继承实现日志入库
223
- * @override
224
- */
225
- protected abstract flush(data: ILogData): void;
226
- private _log;
227
- debug: (tag: string, content?: LogContent | undefined, traceId?: string | undefined) => void;
228
- info: (tag: string, content?: LogContent | undefined, traceId?: string | undefined) => void;
229
- warn: (tag: string, content?: LogContent | undefined, traceId?: string | undefined) => void;
230
- error: (tag: string, content?: LogContent | undefined, traceId?: string | undefined) => void;
231
- /**
232
- * 内部质量数据统计接口,仅限 IMLib 与 RTCLib 内部使用
233
- */
234
- __statistics: (tag: string, content?: LogContent | undefined, traceId?: string | undefined) => void;
200
+ declare enum ChatroomSyncStatusReason {
235
201
  /**
236
- * 创建事务追踪 ID,全局唯一,便于跨进程、异步事务追踪,需要考虑多进程
202
+ * 自己主动离开
237
203
  */
238
- createTraceId(): string;
204
+ LeaveOnMyOwn = 0,
239
205
  /**
240
- * 获取当前进程的 sessionId,全局唯一
241
- * @returns
206
+ * 多端加入互踢导致离开
242
207
  */
243
- getSessionId(): string;
208
+ OtherDeviceLogin = 1
244
209
  }
245
210
 
246
211
  /**
247
- * 实现基于 IndexDB 存储的日志类
212
+ * @category Interface
248
213
  */
249
- declare class IndexDBLogger extends BasicLogger {
250
- protected flush(data: ILogData): void;
214
+ interface IChatroomEntryListenerData {
215
+ /**
216
+ * 更新的键
217
+ */
218
+ key: string;
219
+ /**
220
+ * 更新的值
221
+ */
222
+ value: string;
223
+ /**
224
+ * 更新的时间
225
+ */
226
+ timestamp: number;
227
+ /**
228
+ * 更新的聊天室 ID
229
+ */
230
+ chatroomId: string;
231
+ /**
232
+ * 更新类型
233
+ */
234
+ type: ChatroomEntryType;
251
235
  }
252
-
253
236
  /**
254
- * 日志数据库接口
237
+ * @category Interface
255
238
  */
256
- interface ILogDB {
257
- /**
258
- * 获取实时日志上报的时间戳记录。
259
- * 时间戳不以人为维度记录,避免换账户登录时,一次拉取巨量的历史日志。
260
- */
261
- getTimestamp4RealtimeLog(): number;
239
+ interface IChatroomRejoinedFailed {
262
240
  /**
263
- * 设置实时日志上报的时间戳记录
264
- * @param timestamp
265
- */
266
- setTimestamp4RealtimeLog(timestamp: number): void;
241
+ * 自动重新加入的聊天室 ID
242
+ */
243
+ chatroomId: string;
267
244
  /**
268
- * 根据时间戳和日志等级获取全量日志
269
- * @param startTime
270
- * @param endTime
271
- * @param level
272
- * @param realtimeReport 是否实时上报。实时上报时,需要取质量数据日志
273
- */
274
- getLogs(startTime: number, endTime: number, level: LogL, realtimeReport: boolean): Promise<{
275
- logs: ILogData[];
276
- dbReady: boolean;
277
- }>;
245
+ * 自动重新加入失败的 code
246
+ */
247
+ errorCode: number;
278
248
  }
279
-
280
249
  /**
281
- * 消息被拦截类型
282
- * @category Enum
250
+ * @category Interface
283
251
  */
284
- declare enum MessageBlockType {
285
- /**
286
- 全局敏感词:命中了融云内置的全局敏感词
287
- */
288
- GLOBAL = 1,
252
+ interface IChatroomRejoinedSuccessed extends IChatroomJoinResponse {
289
253
  /**
290
- 自定义敏感词拦截:命中了客户在融云自定义的敏感词
254
+ * 自动重新加入的聊天室 ID
291
255
  */
292
- CUSTOM = 2,
256
+ chatroomId: string;
293
257
  /**
294
- 第三方审核拦截:命中了第三方(数美)或模板路由决定不下发的状态
258
+ * 自动重新加入的聊天室拉取消息的数量
295
259
  */
296
- THIRD_PARTY = 3
260
+ count: number;
297
261
  }
298
262
  /**
299
- * 消息被拦截源触发类型
263
+ * @category Interface
300
264
  */
301
- declare enum MessageBlockSourceType {
302
- /** 原始消息 */
303
- MSG_ORIGINAL = 0,
304
- /** 消息扩展 */
305
- MSG_EXPANSION = 1,
306
- /** 消息修改 */
307
- MSG_MODIFY = 2
265
+ interface IChatroomUserChangeInfo {
266
+ users: {
267
+ [userId: string]: ChatroomUserChangeType;
268
+ };
269
+ chatroomId: string;
308
270
  }
309
-
310
271
  /**
311
- * 消息方向
312
- * @category Enum
272
+ * @category Interface
273
+ * @since 5.7.9
313
274
  */
314
- declare enum MessageDirection {
275
+ interface IChatroomNotifyMultiLoginSync {
315
276
  /**
316
- * 己方发送消息
277
+ * 聊天室ID
317
278
  */
318
- SEND = 1,
279
+ chatroomId: string;
319
280
  /**
320
- * 己方接收消息
281
+ * 变更的状态,0:离开, 1:加入
321
282
  */
322
- RECEIVE = 2
323
- }
324
-
325
- /**
326
- * 输入状态类型
327
- */
328
- declare enum OperateStatus {
329
- typing = 0
283
+ status: ChrmSyncStatus;
284
+ /**
285
+ * 如果status是0的情况,区分离开类型,0:主动离开, 1:多端加入被踢
286
+ */
287
+ reason: ChatroomSyncStatusReason;
288
+ /**
289
+ * 用户加入/退出/被踢的时间(毫秒时间戳)
290
+ */
291
+ time: number;
292
+ /**
293
+ * 附加信息
294
+ */
295
+ extra: string;
330
296
  }
331
-
332
297
  /**
333
- * 文件类型
334
- * @category Enum
298
+ * @category Interface
299
+ * @since 5.7.9
335
300
  */
336
- declare enum FileType {
301
+ interface IChatroomNotifyBlock {
337
302
  /**
338
- * 图片文件
303
+ * 聊天室ID
339
304
  */
340
- IMAGE = 1,
305
+ chatroomId: string;
341
306
  /**
342
- * 声音文件
307
+ * 封禁类型,0是解封,1是封禁
343
308
  */
344
- AUDIO = 2,
309
+ operateType: ChrmMemOperateType;
345
310
  /**
346
- * 视频文件
311
+ * 封禁时长(毫秒),封禁时有此字段,封禁时长最大值为43200分钟(1个月), 最小值1分钟
347
312
  */
348
- VIDEO = 3,
313
+ durationTime: number;
349
314
  /**
350
- * 非媒体文件
315
+ * 操作时间(毫秒时间戳)
351
316
  */
352
- FILE = 4,
317
+ operateTime: number;
353
318
  /**
354
- * 小视频类型
355
- */
356
- SIGHT = 5,
319
+ * 被封禁/解封的用户 ID 列表
320
+ */
321
+ userIdList: string[];
357
322
  /**
358
- * 合并转发
359
- */
360
- COMBINE_HTML = 6
323
+ * 附加信息
324
+ */
325
+ extra: string;
361
326
  }
362
-
363
- /**
364
- * IM 错误码范围段
365
- * 2 开头为 IM Server 返回错误码
366
- * 3 开头: 30000 到 33xxx 为协议栈错误码,34001 ~ 34999 为移动端自定错误码
367
- * 备注:iOS 与 Android 错误码一致。Web 与移动端一致的错误码,也用此片段,比如 34008 (消息不支持扩展)
368
- * 35001 ~ 39999 为 Web 端错误码 备注:由于 Web IM 历史版本 35xxx 36xxx 37xxx 38xxx 39xxxx 都占用过,所以错误码段范围较大
369
- */
370
327
  /**
371
- * 错误码
372
- * @category Enum
328
+ * @category Interface
329
+ * @since 5.7.9
373
330
  */
374
- declare enum ErrorCode {
375
- /** 超时 */
376
- TIMEOUT = -1,
331
+ interface IChatroomNotifyBan {
377
332
  /**
378
- * 未知原因失败。
333
+ * 聊天室ID
379
334
  */
380
- UNKNOWN = -2,
381
- /** 参数错误 */
382
- PARAMETER_ERROR = -3,
383
- /** 未实现的方法定义,在应用层调用 callExtra 传入无法识别的方法名时抛出 */
384
- EXTRA_METHOD_UNDEFINED = -4,
385
- /** 主进程内方法错误 */
386
- MAIN_PROCESS_ERROR = -5,
335
+ chatroomId: string;
387
336
  /**
388
- * 参数变更
337
+ * 禁言类型
389
338
  */
390
- PARAMETER_CHANGED = -6,
339
+ banType: ChrmMemBanType;
391
340
  /**
392
- * 成功
341
+ * 禁言时长(毫秒),禁言时有此字段,禁言时长最大值为43200分钟(1个月), 最小值1分钟
393
342
  */
394
- SUCCESS = 0,
343
+ durationTime: number;
395
344
  /**
396
- * 系统会话不支持发送消息
345
+ * 操作时间(毫秒时间戳)
397
346
  */
398
- SYS_CONVERSATION_NOT_SUPPORT_MESSAGE = 20109,
347
+ operateTime: number;
399
348
  /**
400
- * 群组 Id 无效
401
- * @deprecated 讨论组已废弃
349
+ * 禁言/解禁言用户 ID 列表
402
350
  */
403
- RC_DISCUSSION_GROUP_ID_INVALID = 20407,
351
+ userIdList: string[];
404
352
  /**
405
- * 发送频率过快
353
+ * 附加信息
406
354
  */
407
- SEND_FREQUENCY_TOO_FAST = 20604,
355
+ extra: string;
356
+ }
357
+ declare type IChatroomRejoinedInfo = IChatroomRejoinedFailed | IChatroomRejoinedSuccessed;
358
+ /**
359
+ * 聊天室信息
360
+ * @category Interface
361
+ */
362
+ interface IChatroomListenerData {
408
363
  /**
409
- * 不在讨论组。
410
- * @deprecated 讨论组已废弃
411
- */
412
- NOT_IN_DISCUSSION = 21406,
364
+ * SDK 内部重连聊天室信息
365
+ */
366
+ rejoinedRoom?: IChatroomRejoinedInfo;
413
367
  /**
414
- * 群组被禁言
415
- */
416
- FORBIDDEN_IN_GROUP = 22408,
368
+ * 监听到的聊天室 KV 更新
369
+ */
370
+ updatedEntries?: IChatroomEntryListenerData[];
417
371
  /**
418
- * 撤回消息参数无效,请确认撤回消息参数是否正确的填写
372
+ * 登录退出的用户通知
419
373
  */
420
- RECALL_MESSAGE = 25101,
374
+ userChange?: IChatroomUserChangeInfo;
421
375
  /**
422
- * 不在群组。
376
+ * 聊天室销毁
423
377
  */
424
- NOT_IN_GROUP = 22406,
378
+ chatroomDestroyed?: string;
425
379
  /**
426
- * 不在聊天室。
380
+ * 加入退出多端同步通知
427
381
  */
428
- NOT_IN_CHATROOM = 23406,
382
+ chatroomNotifyMultiLoginSync?: IChatroomNotifyMultiLoginSync;
429
383
  /**
430
- *聊天室被禁言
384
+ * 聊天室用户封禁通知
431
385
  */
432
- FORBIDDEN_IN_CHATROOM = 23408,
386
+ chatroomNotifyBlock?: IChatroomNotifyBlock;
433
387
  /**
434
- * 当前用户被目标聊天室封禁
388
+ * 聊天室用户禁言通知
435
389
  */
436
- RC_CHATROOM_USER_KICKED = 23409,
390
+ chatroomNotifyBan?: IChatroomNotifyBan;
391
+ }
392
+ /**
393
+ * @category Interface
394
+ */
395
+ interface IChatroomEntry {
437
396
  /**
438
- * 聊天室不存在
397
+ * 属性名称, 支持英文字母、数字、+、=、-、_ 的组合方式, 最大长度 128 字符
439
398
  */
440
- RC_CHATROOM_NOT_EXIST = 23410,
399
+ key: string;
441
400
  /**
442
- * 聊天室成员已满
401
+ * 属性对应的值, 最大长度 4096 字符
443
402
  */
444
- RC_CHATROOM_IS_FULL = 23411,
403
+ value: string;
445
404
  /**
446
- * 获取聊天室信息参数无效
405
+ * 设置成功后是否发送通知消息
447
406
  */
448
- RC_CHATROOM_PATAMETER_INVALID = 23412,
407
+ isSendNotification?: boolean;
449
408
  /**
450
- * 聊天室异常
409
+ * RC:chrmKVNotiMsg 消息中携带的附加信息
451
410
  */
452
- CHATROOM_GET_HISTORYMSG_ERROR = 23413,
411
+ notificationExtra?: string;
453
412
  /**
454
- * 没有打开聊天室消息存储
413
+ * 用户退出聊天室时是否清除此属性
455
414
  */
456
- CHATROOM_NOT_OPEN_HISTORYMSG_STORE = 23414,
415
+ isAutoDelete?: boolean;
416
+ }
417
+ /**
418
+ * @category Interface
419
+ */
420
+ interface IChatroomUser {
457
421
  /**
458
- * 聊天室 KV 设置超出最大值(已满, 默认最多设置 100 个)
422
+ * 用户 id
459
423
  */
460
- CHATROOM_KV_EXCEED = 23423,
424
+ id: string;
461
425
  /**
462
- * 聊天室 KV 设置失败(kv 已存在, 需覆盖设置)
426
+ * 加入聊天室的时间
463
427
  */
464
- CHATROOM_KV_OVERWRITE_INVALID = 23424,
428
+ time: number;
429
+ }
430
+ /**
431
+ * @category Interface
432
+ */
433
+ interface IChatroomInfo {
465
434
  /**
466
- * 未开通聊天室属性自定义设置。请在开发者后台"免费基础功能"页面开通"聊天室属性自定义设置
435
+ * 成员列表
436
+ * @todo 需确认数组元素的数据结构
467
437
  */
468
- CHATROOM_KV_STORE_NOT_OPEN = 23426,
438
+ userInfos: IChatroomUser[];
469
439
  /**
470
- * 聊天室Key不存在
440
+ * 房间内总人数
471
441
  */
472
- CHATROOM_KEY_NOT_EXIST = 23427,
473
- CHATROOM_KV_SET_ERROR = 23431,
442
+ userCount: number;
443
+ }
444
+ /**
445
+ * @category Interface
446
+ */
447
+ interface IRemoveChatroomEntry {
474
448
  /**
475
- * 敏感词屏蔽
449
+ * 属性名称, 支持英文字母、数字、+、=、-、_ 的组合方式, 最大长度 128 字符
476
450
  */
477
- SENSITIVE_SHIELD = 21501,
451
+ key: string;
478
452
  /**
479
- * 消息中含敏感词且敏感词已被替换
453
+ * 删除成功后是否发送通知消息
480
454
  */
481
- SENSITIVE_REPLACE = 21502,
455
+ isSendNotification?: boolean;
482
456
  /**
483
- * 加入讨论失败
484
- * @deprecated
457
+ * RC:chrmKVNotiMsg 消息中携带的附加信息
485
458
  */
486
- JOIN_IN_DISCUSSION = 21407,
459
+ notificationExtra?: string;
460
+ }
461
+ /**
462
+ * @category Interface
463
+ */
464
+ interface IRemoveChatroomEntries {
487
465
  /**
488
- * 创建讨论组失败
489
- * @deprecated
466
+ * key 属性名称, 支持英文字母、数字、+、=、-、_ 的组合方式, 最大长度 128 字符
490
467
  */
491
- CREATE_DISCUSSION = 21408,
468
+ entries: {
469
+ key: string;
470
+ }[];
492
471
  /**
493
- * 设置讨论组邀请状态失败
494
- * @deprecated
472
+ * 删除成功后是否发送通知消息
495
473
  */
496
- INVITE_DICUSSION = 21409,
497
474
  /**
498
- *获取用户失败
475
+ * RC:chrmKVNotiMsg 消息中携带的附加信息
499
476
  */
500
- GET_USERINFO_ERROR = 23407,
477
+ notificationExtra?: string;
478
+ }
479
+ /**
480
+ * @category Interface
481
+ */
482
+ interface IChatroomEntries {
501
483
  /**
502
- * 在黑名单中。
484
+ * entries ,要设置的属性列表
485
+ * key 属性名称, 支持英文字母、数字、+、=、-、_ 的组合方式, 最大长度 128 字符
486
+ * value 属性对应的值, 最大长度 4096 字符
503
487
  */
504
- REJECTED_BY_BLACKLIST = 405,
488
+ entries: {
489
+ key: string;
490
+ value: string;
491
+ }[];
505
492
  /**
506
- * 通信过程中,当前 Socket 不存在。
493
+ * 设置成功后是否发送通知消息
507
494
  */
508
- RC_NET_CHANNEL_INVALID = 30001,
509
495
  /**
510
- * Socket 连接不可用。
496
+ * RC:chrmKVNotiMsg 消息中携带的附加信息
511
497
  */
512
- RC_NET_UNAVAILABLE = 30002,
498
+ notificationExtra?: string;
513
499
  /**
514
- * 通信超时。
500
+ * 用户退出聊天室时是否清除此属性
515
501
  */
516
- RC_MSG_RESP_TIMEOUT = 30003,
502
+ isAutoDelete?: boolean;
517
503
  /**
518
- * 导航操作时,Http 请求失败。
504
+ * 是否强制覆盖
519
505
  */
520
- RC_HTTP_SEND_FAIL = 30004,
506
+ isForce?: boolean;
507
+ }
508
+ /**
509
+ * 聊天室加入成功返回值
510
+ * @5.8.3
511
+ */
512
+ interface IChatroomJoinResponse {
521
513
  /**
522
- * HTTP 请求失败。
514
+ * 聊天室创建时间
523
515
  */
524
- RC_HTTP_REQ_FAIL = 30005,
516
+ createTime: number;
525
517
  /**
526
- * HTTP 接收失败。
518
+ * 当前聊天室人员数量
527
519
  */
528
- RC_HTTP_RECV_FAIL = 30006,
520
+ memberCount: number;
529
521
  /**
530
- * 导航请求失败
522
+ * 聊天室全局禁言
531
523
  */
532
- RC_NAVI_REQ_FAILED = 30007,
524
+ isAllChatroomBanned: boolean;
533
525
  /**
534
- * 导航数据解析后,其中不存在有效数据。
526
+ * 当前用户被全局禁言
535
527
  */
536
- RC_NODE_NOT_FOUND = 30008,
528
+ isCurrentUserBanned: boolean;
537
529
  /**
538
- * 导航数据解析后,其中不存在有效 IP 地址。
530
+ * 当前聊天室被禁言
539
531
  */
540
- RC_DOMAIN_NOT_RESOLVE = 30009,
532
+ isCurrentChatroomBanned: boolean;
541
533
  /**
542
- * Socket 连接失败
534
+ * 聊天室全局禁言白名单
543
535
  */
544
- RC_SOCKET_NOT_CREATED = 30010,
536
+ isCurrentChatroomInWhitelist: boolean;
537
+ }
538
+
539
+ /**
540
+ * LogLevel 等级定义,与大数据服务器日志等级保持一致
541
+ */
542
+ declare enum LogL {
545
543
  /**
546
- * Socket 连接断开
544
+ * IM 质量数据日志,控制台不打印
547
545
  */
548
- RC_SOCKET_DISCONNECTED = 30011,
546
+ STATISTICS = -2,
549
547
  /**
550
- * PING 连续失败次数超限制
548
+ * 未明确使用场景,暂未使用,控制台不打印
549
+ * TODO:
550
+ * 暂未明确使用场景,实时日志系统上报?
551
+ * 需要明确下为什么会有 -1,以及与 -2 的区别,并在注释中补充
551
552
  */
552
- RC_PING_EXCEED_LIMIT = 30012,
553
+ RECORD = -1,
553
554
  /**
554
- * 消息发送失败。
555
+ * 未明确使用场景,暂未使用,控制台不打印
555
556
  */
556
- RC_MSG_SEND_FAIL = 30014,
557
+ FATAL = 0,
557
558
  /**
558
- * JSON 后的消息体超限, 目前最大 128kb
559
+ * ERROR
559
560
  */
560
- RC_MSG_CONTENT_EXCEED_LIMIT = 30016,
561
+ ERROR = 1,
561
562
  /**
562
- * 网络不可用,未连接。
563
+ * WARN 级
563
564
  */
564
- RC_NETWORK_DOWN = 30019,
565
+ WARN = 2,
565
566
  /**
566
- * TCP 连上后,rmtp 还未连上时, TCP 连接断开。
567
+ * INFO
567
568
  */
568
- RC_TCP_DISCONNECTED_NO_RMTP = 30021,
569
+ INFO = 3,
569
570
  /**
570
- * TCP 连接中,CMP 应答超时。
571
+ * DEBUG
571
572
  */
572
- RC_CONN_ACK_TIMEOUT = 31000,
573
+ DEBUG = 4
574
+ }
575
+ /**
576
+ * 有效的日志等级声明
577
+ */
578
+ declare type EnableLogL = LogL.DEBUG | LogL.INFO | LogL.WARN | LogL.ERROR;
579
+
580
+ declare type LogContent = string | number | boolean | null;
581
+ declare type LogType = 'IM' | 'RTC';
582
+ /**
583
+ * 对外暴露的 Logger 工具接口定义,以隐藏 BasicLogger 其他实现
584
+ */
585
+ interface ILogger {
586
+ debug(tag: string, content?: LogContent, traceId?: string): void;
587
+ info(tag: string, content?: LogContent, traceId?: string): void;
588
+ warn(tag: string, content?: LogContent, traceId?: string): void;
589
+ error(tag: string, content?: LogContent, traceId?: string): void;
573
590
  /**
574
- * 连接协议版本错误
591
+ * 设置日志打印等级,默认为 `LogL.WARN`
592
+ * @param level
575
593
  */
576
- RC_CONN_PROTO_VERSION_ERROR = 31001,
594
+ setOutputLevel(level?: EnableLogL): void;
577
595
  /**
578
- * 客户端连接用设备 info 信息错误
596
+ * 创建事务追踪 ID,全局唯一,便于跨进程、异步事务追踪,需要考虑多进程
579
597
  */
580
- RC_CONN_IDENTIFIER_REJECTED = 31002,
598
+ createTraceId(): string;
599
+ }
600
+
601
+ interface ILogData {
581
602
  /**
582
- * 连接服务未开通,需要排查后台小程序(或桌面端)服务是否已开通
603
+ * 日志原始内容
583
604
  */
584
- RC_CONN_SERVER_UNAVAILABLE = 31003,
605
+ content?: LogContent;
585
606
  /**
586
- * Token 无法解析,或 Token 已过期
607
+ * 日志标签,如 `L-INIT-O`
587
608
  */
588
- RC_CONN_TOKEN_INCORRECT = 31004,
609
+ tag: string;
589
610
  /**
590
- * 防黑产校验失败
611
+ * logger 实例 Id,用于确定日志由谁埋点,如 `RCEngien` 为 engine 包埋点日志
591
612
  */
592
- RC_CONN_NOT_AUTHRORIZED = 31005,
613
+ loggerId: string;
593
614
  /**
594
- * 重定向,地址错误。
615
+ * 日志生成时间
595
616
  */
596
- RC_CONN_REDIRECTED = 31006,
617
+ time: number;
597
618
  /**
598
- * 包名不合法(目前仅限移动端使用)
619
+ * 应用的声明周期 sessionId
620
+ * @description
621
+ * Electron 环境下,以主进程 sessionId 入库,渲染进程 sessionId 存储于 content 内。
622
+ * 日志上报时,通过 `${mainSessionId}:${renderSessionId}` 形式作为 sessionId 上报
623
+ * @TODO 需确认服务是否允许 `${mainSessionId}:${renderSessionId}` 的方式,以及 sessionId 是否超出长度。
599
624
  */
600
- RC_CONN_PACKAGE_NAME_INVALID = 31007,
625
+ sessionId: string;
601
626
  /**
602
- * Appkey 已被封禁或删除
627
+ * 日志类型,仅用于大数据后台查阅统计
603
628
  */
604
- RC_CONN_APP_BLOCKED_OR_DELETED = 31008,
629
+ type: 'IM' | 'RTC';
605
630
  /**
606
- * 用户已被封禁
631
+ * 日志等级,该等级与服务器统计等级保持一致,为入库等级
607
632
  */
608
- RC_CONN_USER_BLOCKED = 31009,
633
+ level: LogL;
609
634
  /**
610
- * 其他端登录导致本端被踢
635
+ * 事务跟踪 ID
611
636
  */
612
- RC_DISCONN_KICK = 31010,
637
+ traceId?: string;
638
+ }
639
+
640
+ /**
641
+ * Logger 抽象基类,定义日志采集接口与进程内打印,
642
+ * 由子类继承实现入库逻辑
643
+ */
644
+ declare abstract class BasicLogger implements ILogger {
645
+ protected readonly _appkey: string;
646
+ protected readonly _id: string;
647
+ protected readonly _type: LogType;
648
+ constructor(_appkey: string, _id: string, _type: LogType);
649
+ private _stdout;
613
650
  /**
614
- * 用户在线时被封禁导致连接断开
651
+ * 用户的打印日志等级配置
615
652
  */
616
- RC_DISCONN_EXCEPTION = 31011,
653
+ private outputLevel;
654
+ setOutputLevel(level?: EnableLogL): void;
617
655
  /**
618
- * Token 已过期
656
+ * 由子类继承实现日志入库
657
+ * @override
619
658
  */
620
- RC_CONN_TOKEN_EXPIRED = 31020,
659
+ protected abstract flush(data: ILogData): void;
660
+ private _log;
661
+ debug: (tag: string, content?: LogContent | undefined, traceId?: string | undefined) => void;
662
+ info: (tag: string, content?: LogContent | undefined, traceId?: string | undefined) => void;
663
+ warn: (tag: string, content?: LogContent | undefined, traceId?: string | undefined) => void;
664
+ error: (tag: string, content?: LogContent | undefined, traceId?: string | undefined) => void;
621
665
  /**
622
- * Token 中携带 deviceId 时,检测 Token 中 deviceId 与链接设备 deviceId 不一致
666
+ * 内部质量数据统计接口,仅限 IMLib RTCLib 内部使用
623
667
  */
624
- RC_CONN_DEVICE_ERROR = 31021,
668
+ __statistics: (tag: string, content?: LogContent | undefined, traceId?: string | undefined) => void;
625
669
  /**
626
- * 页面域名不在安全域名白名单内,需通过开发者后台添加安全域名配置
670
+ * 创建事务追踪 ID,全局唯一,便于跨进程、异步事务追踪,需要考虑多进程
627
671
  */
628
- RC_CONN_HOSTNAME_ERROR = 31022,
672
+ createTraceId(): string;
629
673
  /**
630
- * 开启禁止把已在线客户端踢下线开关后,该错误码标识已有同类型端在线
674
+ * 获取当前进程的 sessionId,全局唯一
675
+ * @returns
631
676
  */
632
- RC_DISCONN_SAME_CLIENT_ON_LINE = 31023,
677
+ getSessionId(): string;
678
+ }
679
+
680
+ /**
681
+ * 实现基于 IndexDB 存储的日志类
682
+ */
683
+ declare class IndexDBLogger extends BasicLogger {
684
+ protected flush(data: ILogData): void;
685
+ }
686
+
687
+ /**
688
+ * 日志数据库接口
689
+ */
690
+ interface ILogDB {
633
691
  /**
634
- * 连接数已达上限(私有云)
692
+ * 获取实时日志上报的时间戳记录。
693
+ * 时间戳不以人为维度记录,避免换账户登录时,一次拉取巨量的历史日志。
635
694
  */
636
- RC_LISCENSE_COUNT_OUT_OF_LIMIT = 31024,
695
+ getTimestamp4RealtimeLog(): number;
637
696
  /**
638
- * 客户端连错环境,引发连接拒绝;如使用开发环境 Appkey 连接到生产环境
697
+ * 设置实时日志上报的时间戳记录
698
+ * @param timestamp
639
699
  */
640
- RC_CONN_WRONG_CLUSTER = 31025,
700
+ setTimestamp4RealtimeLog(timestamp: number): void;
641
701
  /**
642
- * 开启 AppServer 联合鉴权功能后,到 AppServer 认证失败
702
+ * 根据时间戳和日志等级获取全量日志
703
+ * @param startTime
704
+ * @param endTime
705
+ * @param level
706
+ * @param realtimeReport 是否实时上报。实时上报时,需要取质量数据日志
643
707
  */
644
- RC_APP_AUTH_NOT_PASS = 31026,
708
+ getLogs(startTime: number, endTime: number, level: LogL, realtimeReport: boolean): Promise<{
709
+ logs: ILogData[];
710
+ dbReady: boolean;
711
+ }>;
712
+ }
713
+
714
+ /**
715
+ * 消息被拦截类型
716
+ * @category Enum
717
+ */
718
+ declare enum MessageBlockType {
645
719
  /**
646
- * One Time Password 已经被使用过
647
- */
648
- RC_OTP_USED = 31027,
720
+ 全局敏感词:命中了融云内置的全局敏感词
721
+ */
722
+ GLOBAL = 1,
649
723
  /**
650
- * Token 绑定的平台与登录平台不符
651
- */
652
- RC_PLATFORM_ERROR = 31028,
724
+ 自定义敏感词拦截:命中了客户在融云自定义的敏感词
725
+ */
726
+ CUSTOM = 2,
653
727
  /**
654
- * 用户账号已销户
655
- */
656
- RC_ACCOUNT_CANCELLATION = 31029,
728
+ 第三方审核拦截:命中了第三方(数美)或模板路由决定不下发的状态
729
+ */
730
+ THIRD_PARTY = 3
731
+ }
732
+ /**
733
+ * 消息被拦截源触发类型
734
+ */
735
+ declare enum MessageBlockSourceType {
736
+ /** 原始消息 */
737
+ MSG_ORIGINAL = 0,
738
+ /** 消息扩展 */
739
+ MSG_EXPANSION = 1,
740
+ /** 消息修改 */
741
+ MSG_MODIFY = 2
742
+ }
743
+
744
+ /**
745
+ * 消息方向
746
+ * @category Enum
747
+ */
748
+ declare enum MessageDirection {
657
749
  /**
658
- * License 授权过期(私有云)
750
+ * 己方发送消息
659
751
  */
660
- RC_LICENSE_EXPIRED = 31030,
752
+ SEND = 1,
661
753
  /**
662
- * 协议层内部错误。query,上传下载过程中数据错误。
754
+ * 己方接收消息
663
755
  */
664
- RC_QUERY_ACK_NO_DATA = 32001,
756
+ RECEIVE = 2
757
+ }
758
+
759
+ /**
760
+ * 输入状态类型
761
+ */
762
+ declare enum OperateStatus {
763
+ typing = 0
764
+ }
765
+
766
+ /**
767
+ * 文件类型
768
+ * @category Enum
769
+ */
770
+ declare enum FileType {
665
771
  /**
666
- * 协议层内部错误。
772
+ * 图片文件
667
773
  */
668
- RC_MSG_DATA_INCOMPLETE = 32002,
774
+ IMAGE = 1,
669
775
  /**
670
- * 服务器主动断开连接(仅 quic 协议下触发)
776
+ * 声音文件
671
777
  */
672
- RC_UDP_DISCONNECTED = 32011,
778
+ AUDIO = 2,
673
779
  /**
674
- * TCP 连接重置
780
+ * 视频文件
675
781
  */
676
- RC_TCP_RESET = 32054,
782
+ VIDEO = 3,
677
783
  /**
678
- * 未调用 init 初始化函数。
784
+ * 非媒体文件
679
785
  */
680
- BIZ_ERROR_CLIENT_NOT_INIT = 33001,
786
+ FILE = 4,
681
787
  /**
682
- * 数据库初始化失败。
683
- */
684
- BIZ_ERROR_DATABASE_ERROR = 33002,
788
+ * 小视频类型
789
+ */
790
+ SIGHT = 5,
685
791
  /**
686
- * 传入参数无效。
687
- */
688
- BIZ_ERROR_INVALID_PARAMETER = 33003,
792
+ * 合并转发
793
+ */
794
+ COMBINE_HTML = 6
795
+ }
796
+
797
+ /**
798
+ * 融云 IM 错误码
799
+ *
800
+ * 本文件由 ErrorCodeGenerator 自动生成
801
+ * 请勿擅自修改
802
+ *
803
+ * @category Enum
804
+ */
805
+ declare enum ErrorCode {
689
806
  /**
690
- * 通道无效。
807
+ * 未知错误
691
808
  */
692
- BIZ_ERROR_NO_CHANNEL = 33004,
809
+ TIMEOUT = -1,
693
810
  /**
694
- * 重新连接成功。
811
+ * 成功
695
812
  */
696
- BIZ_ERROR_RECONNECT_SUCCESS = 33005,
813
+ SUCCESS = 0,
697
814
  /**
698
- * 连接中,再调用 connect 被拒绝。
815
+ * 主动断开连接
699
816
  */
700
- BIZ_ERROR_CONNECTING = 33006,
817
+ ACTIVE_DISCONNECT = 2,
701
818
  /**
702
- * 消息漫游服务未开通
819
+ * 已被对方加入黑名单,消息发送失败
703
820
  */
704
- MSG_ROAMING_SERVICE_UNAVAILABLE = 33007,
821
+ REJECTED_BY_BLACKLIST = 405,
705
822
  /**
706
- * 消息存入本地数据库失败
823
+ * 系统会话不支持发送该消息
824
+ * @since 5.8.2
707
825
  */
708
- MSG_INSERT_ERROR = 33008,
826
+ SYS_CONVERSATION_NOT_SUPPORT_MESSAGE = 20109,
709
827
  /**
710
- * 删除本地消息失败
828
+ * 发送消息频率过高,1 秒钟最多只允许发送 5 条消息
711
829
  */
712
- MSG_DEL_ERROR = 33009,
830
+ SEND_FREQUENCY_TOO_FAST = 20604,
713
831
  /**
714
- * 标签已存在
832
+ * 操作被禁止,此错误码已被弃用
715
833
  */
716
- TAG_EXISTS = 33101,
834
+ OPERATION_BLOCKED = 20605,
717
835
  /**
718
- * 标签不存在
836
+ * 操作不支持,仅私有云有效,服务端禁用了该操作
719
837
  */
720
- TAG_NOT_EXIST = 33100,
838
+ OPERATION_NOT_SUPPORT = 20606,
721
839
  /**
722
- * 会话中不存在此标签
840
+ * 请求超出了调用频率限制,请稍后再试
723
841
  */
724
- NO_TAG_IN_CONVER = 33102,
842
+ REQUEST_OVER_FREQUENCY = 20607,
725
843
  /**
726
- * 连接已存在
844
+ * 不在讨论组
727
845
  */
728
- RC_CONNECTION_EXIST = 34001,
846
+ NOT_IN_DISCUSSION = 21406,
729
847
  /**
730
- * 拉取历史消息
731
- * @deprecated
848
+ * 发送的消息中包含敏感词 (发送方发送失败,接收方不会收到消息)
732
849
  */
733
- CONVER_GETLIST_ERROR = 34002,
850
+ SENSITIVE_SHIELD = 21501,
734
851
  /**
735
- * 会话指定异常
736
- * @deprecated
852
+ * 消息中敏感词已经被替换 (接收方可以收到被替换之后的消息)
737
853
  */
738
- CONVER_SETOP_ERROR = 34003,
854
+ SENSITIVE_REPLACE = 21502,
739
855
  /**
740
- * 获取会话未读消息总数失败
741
- * @deprecated
856
+ * 超级群扩展消息,但是原始消息不存在。
742
857
  */
743
- CONVER_TOTAL_UNREAD_ERROR = 34004,
858
+ MESSAGE_EXPAND_NOT_EXIST = 22201,
744
859
  /**
745
- * 获取指定会话类型未读消息数异常
746
- * @deprecated
860
+ * 超级群扩展消息,但是原始消息不支持扩展
747
861
  */
748
- CONVER_TYPE_UNREAD_ERROR = 34005,
862
+ MESSAGE_EXPAND_NOT_SUPPORT = 22202,
749
863
  /**
750
- * 获取指定用户ID&会话类型未读消息数异常
751
- * @deprecated
864
+ * 超级群扩展消息,扩展内容格式错误
752
865
  */
753
- CONVER_ID_TYPE_UNREAD_ERROR = 34006,
866
+ MESSAGE_EXPAND_FORMAT_ERROR = 22203,
754
867
  /**
755
- * 扩展存储 key value 超出限制 (错误码与移动端对齐)
868
+ * 超级群扩展消息,无操作权限
756
869
  */
757
- EXPANSION_LIMIT_EXCEET = 34010,
870
+ MESSAGE_EXPAND_NOT_AUTHORIZED = 22204,
758
871
  /**
759
- * 消息不支持扩展,原消息 canIncludeExpansion 值为 false (错误码与移动端对齐)
872
+ * 不在该群组中
760
873
  */
761
- MESSAGE_KV_NOT_SUPPORT = 34008,
874
+ NOT_IN_GROUP = 22406,
762
875
  /**
763
- * 上传失败
876
+ * 在群组中已被禁言。
764
877
  */
765
- UPLOAD_FAIL = 34011,
878
+ FORBIDDEN_IN_GROUP = 22408,
766
879
  /**
767
- * 会话数量超出上限
880
+ * 不在该聊天室中。
768
881
  */
769
- CONVER_OUT_LIMIT_ERROR = 34013,
882
+ NOT_IN_CHATROOM = 23406,
770
883
  /**
771
- * 获取会话失败
884
+ * 获取用户失败
772
885
  */
773
- CONVER_GET_ERROR = 35021,
886
+ GET_USERINFO_ERROR = 23407,
774
887
  /**
775
- * 群组信息异常
776
- * @deprecated 没有使用
888
+ * 在该聊天室中已被禁言
777
889
  */
778
- GROUP_SYNC_ERROR = 35001,
890
+ FORBIDDEN_IN_CHATROOM = 23408,
779
891
  /**
780
- * 匹配群信息异常
781
- * @deprecated 没有使用
892
+ * 已被踢出并禁止加入聊天室。被禁止的时间取决于服务端调用踢出接口时传入的时间。
782
893
  */
783
- GROUP_MATCH_ERROR = 35002,
894
+ RC_CHATROOM_USER_KICKED = 23409,
784
895
  /**
785
- * 已读回执方法调用错误(导航开关为1时调用新接口,否则调用sendMessage)
896
+ * 聊天室不存在
786
897
  */
787
- READ_RECEIPT_ERROR = 35003,
898
+ RC_CHATROOM_NOT_EXIST = 23410,
788
899
  /**
789
- * 公有云包不允许连接私有云环境
900
+ * 聊天室成员超限,开发者可以提交工单申请聊天室人数限制变更。
790
901
  */
791
- PACKAGE_ENVIRONMENT_ERROR = 35006,
902
+ RC_CHATROOM_IS_FULL = 23411,
792
903
  /**
793
- * 已连接或者内部重连中,不允许调用重连,需先调用 disconnect 方法
794
- * @deprecated 没有使用
904
+ * 聊天室接口参数无效。请确认参数是否为空或者有效。
795
905
  */
796
- CAN_NOT_RECONNECT = 35007,
906
+ RC_CHATROOM_PATAMETER_INVALID = 23412,
797
907
  /**
798
- * 无可用的 IM 服务地址
908
+ * 查询聊天室历史消息异常
799
909
  */
800
- SERVER_UNAVAILABLE = 35008,
910
+ CHATROOM_GET_HISTORYMSG_ERROR = 23413,
801
911
  /**
802
- * Web 端设置安全域名后,连接端域名不在安全域名范围内
912
+ * 聊天室云存储业务未开通
803
913
  */
804
- HOSTNAME_ERROR = 35009,
914
+ CHATROOM_NOT_OPEN_HISTORYMSG_STORE = 23414,
805
915
  /**
806
- * 开启`禁止把已在线客户端踢下线`开关后,该错误码标识已有同类型端在线,禁止链接
807
- * @deprecated 没有使用
916
+ * 聊天室的 KV 属性个数超限,单个聊天室默认上限为 100 个
808
917
  */
809
- HAS_OHTER_SAME_CLIENT_ON_LINE = 35010,
918
+ CHATROOM_KV_EXCEED = 23423,
810
919
  /**
811
- * IM 在初次连接成功后,需立即同步消息,标记上线,然后获取全量超级群会话列表,列表同步完成前,所有超级群相关功能接口应不可用
920
+ * 没有权限修改聊天室中已存在的属性值
812
921
  */
813
- METHOD_NOT_AVAILABLE = 35011,
922
+ CHATROOM_KV_OVERWRITE_INVALID = 23424,
814
923
  /**
815
- * 该功能不支持超级群
924
+ * 超过聊天室中状态设置频率,1 个聊天室 1 秒钟最多设置和删除状态 100 次
816
925
  */
817
- METHOD_NOT_SUPPORT = 35012,
926
+ CHATROOM_SET_PROPERTY_OVER_FREQUENCY = 23425,
818
927
  /**
819
- * 消息数量没在范围内
928
+ * 聊天室属性自定义设置,您可以在开发者后台免费基础功能页面中开启该功能。
820
929
  */
821
- MSG_LIMIT_ERROR = 35013,
930
+ CHATROOM_KV_STORE_NOT_OPEN = 23426,
822
931
  /**
823
- * 该功能仅支持超级群
932
+ * 聊天室属性不存在
824
933
  */
825
- METHOD_ONLY_SUPPORT_ULTRA_GROUP = 35014,
934
+ CHATROOM_KEY_NOT_EXIST = 23427,
826
935
  /**
827
- * 加入聊天室Id为空
828
- * @deprecated
936
+ * 聊天室批量设置或删除KV部分不成功
829
937
  */
830
- CHATROOM_ID_ISNULL = 36001,
938
+ CHATROOM_KV_STORE_NOT_ALL_SUCCESS = 23428,
831
939
  /**
832
- * 加入聊天室失败
833
- * @deprecated
940
+ * 聊天室批量设置或删除KV数量超限(最多一次10条)
834
941
  */
835
- CHARTOOM_JOIN_ERROR = 36002,
942
+ CHATROOM_KV_STORE_OUT_LIMIT = 23429,
836
943
  /**
837
- * 拉取聊天室历史消息失败
838
- * @deprecated
944
+ * 聊天室设置 KV 失败,出现在两人或者多端同时操作一个 KV。 如果出现该错误,为避免和其他端同时操作,请延时一定时间再试
945
+ * @since 5.3.0
839
946
  */
840
- CHATROOM_HISMESSAGE_ERROR = 36003,
947
+ CHATROOM_KV_SET_ERROR = 23431,
841
948
  /**
842
- * 聊天室 kv 未找到
843
- * @deprecated
949
+ * 超级群功能未开通
844
950
  */
845
- CHATROOM_KV_NOT_FOUND = 36004,
951
+ ULTRA_GROUP_SERVICE_UNAVAILABLE = 24401,
846
952
  /**
847
- * 加入黑名单异常
848
- * @deprecated
953
+ * 超级群服务异常
849
954
  */
850
- BLACK_ADD_ERROR = 37001,
955
+ ULTRA_GROUP_SERVICE_ERROR = 24402,
851
956
  /**
852
- * 获得指定人员再黑名单中的状态异常
853
- * @deprecated
957
+ * 超级群参数错误
854
958
  */
855
- BLACK_GETSTATUS_ERROR = 37002,
959
+ ULTRA_GROUP_PARAMETER_ERROR = 24403,
856
960
  /**
857
- * 移除黑名单异常
858
- * @deprecated
961
+ * 超级群未知异常
859
962
  */
860
- BLACK_REMOVE_ERROR = 37003,
963
+ ULTRA_GROUP_UNKNOWN_ERROR = 24404,
861
964
  /**
862
- * 获取草稿失败
863
- * @deprecated
965
+ * 非超级群成员
864
966
  */
865
- DRAF_GET_ERROR = 38001,
967
+ NOT_IN_ULTRA_GROUP = 24406,
866
968
  /**
867
- * 保存草稿失败
969
+ * 超级群成员禁言
868
970
  */
869
- DRAF_SAVE_ERROR = 38002,
971
+ FORBIDDEN_IN_ULTRA_GROUP = 24408,
870
972
  /**
871
- * 删除草稿失败
973
+ * 超级群不存在
872
974
  */
873
- DRAF_REMOVE_ERROR = 38003,
975
+ ULTRA_GROUP_NOT_EXIST = 24410,
874
976
  /**
875
- * 关注公众号失败
876
- * @deprecated
977
+ * 超级群成员超限制
877
978
  */
878
- SUBSCRIBE_ERROR = 39001,
979
+ ULTRA_GROUP_MEMBERS_OVERSIZE = 24411,
879
980
  /**
880
- * 方法未支持
981
+ * 用户加入超级群数量超限
881
982
  */
882
- NOT_SUPPORT = 39002,
983
+ ULTRA_GROUP_JOINED_OVERSIZE = 24412,
883
984
  /**
884
- * 关注公众号失败
885
- * @deprecated
985
+ * 创建超级群频道,频道数超限
886
986
  */
887
- QNTKN_FILETYPE_ERROR = 41001,
987
+ ULTRA_GROUP_CHANNELS_OVERSIZE = 24413,
888
988
  /**
889
- * 获取七牛token失败
890
- * @deprecated
989
+ * 超级群频道 ID 不存在
891
990
  */
892
- QNTKN_GET_ERROR = 41002,
991
+ ULTRA_GROUP_CHANNEL_ID_NOT_EXIST = 24414,
893
992
  /**
894
- * cookie被禁用
895
- * @deprecated
993
+ * 超级群频道发送消息超限:超级群下每个频道有消息发送频率限制,默认每秒 30 条 频道内每秒发送消息总量超过限制会收到该错误码,建议延时发送或重试发送
896
994
  */
897
- COOKIE_ENABLE = 51001,
995
+ ULTRA_GROUP_MESSAGE_SENT_OVER_FREQUENCY = 24415,
898
996
  /**
899
- * 没有注册DeviveId 也就是用户没有登陆
900
- *
997
+ * 用户不在超级群私有频道中
998
+ * @since 5.4.2
901
999
  */
902
- HAVNODEVICEID = 24001,
1000
+ ULTRA_GROUP_USER_NOT_IN_PRIVATE_CHANNEL = 24416,
903
1001
  /**
904
- * 已经存在
905
- *
1002
+ * 撤回消息参数无效,请确认撤回消息参数是否正确的填写
906
1003
  */
907
- DEVICEIDISHAVE = 24002,
1004
+ RECALL_MESSAGE = 25101,
908
1005
  /**
909
- * 没有对应的用户或token
910
- *
1006
+ * 未开通单群聊云存储服务
911
1007
  */
912
- FEILD = 24009,
1008
+ MESSAGE_STORAGE_SERVICE_UNAVAILABLE = 25102,
913
1009
  /**
914
- * voip为空
915
- *
1010
+ * IMLib 撤回消息可以撤回自己发送的消息和别人发送的消息,IM 服务有开关,控制只可以撤回自己发送的消息,当服务该开关打开时,撤回别人的消息会报这个错误。
916
1011
  */
917
- VOIPISNULL = 24013,
1012
+ RECALL_MESSAGE_USER_INVALID = 25107,
918
1013
  /**
919
- * 不支持的Voip引擎
1014
+ * 远程推送设置参数无效,请确认是否正确的填写了远程推送参数
920
1015
  */
921
- NOENGINETYPE = 24010,
1016
+ PUSH_PARAMETER_INVALID = 26001,
922
1017
  /**
923
- * channleName 是空
1018
+ * 表示客户端版本号低,需要同步版本号,可以提交工单申请打开用户级别配置开关
924
1019
  */
925
- NULLCHANNELNAME = 24011,
1020
+ USER_SETTING_SYNCED_ERROR = 26002,
926
1021
  /**
927
- * 生成Voipkey失败
1022
+ * 用户会话标签个数超限,最多支持添加 20 个标签
928
1023
  */
929
- VOIPDYANMICERROR = 24012,
1024
+ CONVERSATION_TAG_OVERSIZE = 26004,
930
1025
  /**
931
- * 没有配置voip
1026
+ * 当前连接已经被释放
1027
+ * @solution 表明当前 socket 已经释放,需要重新建立连接
1028
+ * @since 5.2.0
932
1029
  */
933
- NOVOIP = 24014,
1030
+ RC_NET_CHANNEL_INVALID = 30001,
934
1031
  /**
935
- * 服务器内部错误
1032
+ * 当前连接不可用
1033
+ * @solution 建议链接成功后再调用其他 api
1034
+ * @since 5.2.0
936
1035
  */
937
- INTERNALERRROR = 24015,
1036
+ RC_NET_UNAVAILABLE = 30002,
938
1037
  /**
939
- * VOIP close
1038
+ * 客户端发送消息请求,融云服务端响应超时
1039
+ * @since 5.2.0
940
1040
  */
941
- VOIPCLOSE = 24016,
1041
+ RC_MSG_RESP_TIMEOUT = 30003,
942
1042
  /**
943
- * 用户不在超级群私有频道白名单中
1043
+ * 导航操作时,Http 请求失败
1044
+ * @since 5.2.0
944
1045
  */
945
- ULTRA_GROUP_USER_NOT_IN_PRIVATE_CHANNEL = 24416,
1046
+ RC_HTTP_SEND_FAIL = 30004,
946
1047
  /**
947
- * 己方取消已发出的通话请求
948
- * @deprecated
1048
+ * 请求连接导航地址失败
1049
+ * @solution http 请求失败,建议本地使用 ping 或者 telnet 检查一下地址是否能正常访问
1050
+ * @since 5.2.0
949
1051
  */
950
- CANCEL = 1,
1052
+ RC_HTTP_REQ_FAIL = 30005,
951
1053
  /**
952
- * 己方拒绝收到的通话请求
953
- * @deprecated
1054
+ * 导航操作时,HTTP 接收失败
1055
+ * @since 5.2.0
954
1056
  */
955
- REJECT = 2,
1057
+ RC_HTTP_RECV_FAIL = 30006,
956
1058
  /**
957
- * 己方挂断
958
- * @deprecated
1059
+ * 导航返回结果异常
1060
+ * @since 5.2.0
959
1061
  */
960
- HANGUP = 3,
1062
+ RC_NAVI_REQ_FAILED = 30007,
961
1063
  /**
962
- * 己方忙碌
963
- * @deprecated
1064
+ * 导航 HTTP 返回数据格式错误
1065
+ * @since 5.2.0
964
1066
  */
965
- BUSYLINE = 4,
1067
+ RC_NODE_NOT_FOUND = 30008,
966
1068
  /**
967
- * 己方未接听
968
- * @deprecated
1069
+ * 导航数据解析后,其中不存在有效 IP 地址
1070
+ * @since 5.2.0
969
1071
  */
970
- NO_RESPONSE = 5,
1072
+ RC_DOMAIN_NOT_RESOLVE = 30009,
971
1073
  /**
972
- * 己方不支持当前引擎
973
- * @deprecated
1074
+ * 创建连接失败
1075
+ * @solution 一般是本地网络导致连接不成功,建议更换网络重新尝试连接
1076
+ * @since 5.2.0
974
1077
  */
975
- ENGINE_UN_SUPPORTED = 6,
1078
+ RC_SOCKET_NOT_CREATED = 30010,
976
1079
  /**
977
- * 己方网络出错
978
- * @deprecated
1080
+ * 链接断开
1081
+ * @solution 连接断开,SDK 会进行重连
1082
+ * @since 5.2.0
979
1083
  */
980
- NETWORK_ERROR = 7,
1084
+ RC_SOCKET_DISCONNECTED = 30011,
981
1085
  /**
982
- * 对方取消已发出的通话请求
983
- * @deprecated
1086
+ * PING 失败
1087
+ * @solution 本地网络问题导致ping失败,SDK 会进入重连逻辑
1088
+ * @since 5.2.0
984
1089
  */
985
- REMOTE_CANCEL = 11,
1090
+ RC_PING_EXCEED_LIMIT = 30012,
986
1091
  /**
987
- * 对方拒绝收到的通话请求
988
- * @deprecated
1092
+ * PING 超时
1093
+ * @since 5.7.0
989
1094
  */
990
- REMOTE_REJECT = 12,
1095
+ PONG_RECEIVED_ERROR = 30013,
991
1096
  /**
992
- * 通话过程对方挂断
993
- * @deprecated
1097
+ * 信令发送失败
1098
+ * @since 5.2.0
994
1099
  */
995
- REMOTE_HANGUP = 13,
1100
+ RC_MSG_SEND_FAIL = 30014,
996
1101
  /**
997
- * 对方忙碌
998
- * @deprecated
1102
+ * 连接过于频繁
999
1103
  */
1000
- REMOTE_BUSYLINE = 14,
1104
+ CONNECT_OVER_FREQUENCY = 30015,
1001
1105
  /**
1002
- * 对方未接听
1003
- * @deprecated
1106
+ * 消息大小超限,消息体(序列化成 json 格式之后的内容)最大 128k bytes
1107
+ * @solution 建议检查发送的消息内容,防止超过消息体大小限制
1108
+ * @since 5.2.0
1004
1109
  */
1005
- REMOTE_NO_RESPONSE = 15,
1110
+ RC_MSG_CONTENT_EXCEED_LIMIT = 30016,
1006
1111
  /**
1007
- * 对方网络错误
1008
- * @deprecated
1112
+ * 网络连接不可用
1113
+ * @solution 网络问题,SDK 会进行重连
1114
+ * @since 5.7.9
1009
1115
  */
1010
- REMOTE_ENGINE_UN_SUPPORTED = 16,
1116
+ RC_NETWORK_DOWN = 30019,
1011
1117
  /**
1012
- * 对方网络错误
1013
- * @deprecated
1118
+ * tcp 连接成功,rmtp 连接失败
1119
+ * @since 5.7.9
1014
1120
  */
1015
- REMOTE_NETWORK_ERROR = 17,
1121
+ RC_TCP_DISCONNECTED_NO_RMTP = 30021,
1016
1122
  /**
1017
- * VoIP 不可用
1018
- * @deprecated
1123
+ * 连接ACK超时
1124
+ * @solution 网络问题,SDK 会进行重连
1125
+ * @since 5.2.0
1019
1126
  */
1020
- VOIP_NOT_AVALIABLE = 18,
1127
+ RC_CONN_ACK_TIMEOUT = 31000,
1021
1128
  /**
1022
- * 聊天室批量设置kv部分不成功
1129
+ * 信令版本错误
1130
+ * @since 5.2.0
1023
1131
  */
1024
- CHATROOM_KV_STORE_NOT_ALL_SUCCESS = 23428,
1132
+ RC_CONN_PROTO_VERSION_ERROR = 31001,
1025
1133
  /**
1026
- * 聊天室设置批量kv,一次不能超过10个
1134
+ * 客户端 info 字段格式错误,正确格式:{平台类型}-{设备信息}-{sdk版本}。 其中设备信息:{手机类型}|{手机型号}|{网络类型,4G/WIFI}|{运营商标识, 移动/电信/联通}
1135
+ * @solution 一般是 appkey 错误导致,建议在融云的开发者后台中确认一下当前应用的 appkey 标识是否正确
1136
+ * @since 5.2.0
1027
1137
  */
1028
- CHATROOM_KV_STORE_OUT_LIMIT = 23429,
1138
+ RC_CONN_IDENTIFIER_REJECTED = 31002,
1029
1139
  /**
1030
- * 搜索字段对应消息错误
1140
+ * 连接服务未开通,需要排查后台小程序(或桌面端)服务是否已开通
1141
+ * @solution 建议到开发者后台 - 服务管理开通对应业务服务
1142
+ * @since 5.2.0
1031
1143
  */
1032
- SEARCH_PROPS_LIMIT_ERROR = 35022,
1144
+ RC_CONN_SERVER_UNAVAILABLE = 31003,
1033
1145
  /**
1034
- * 非法的代理配置,RongIMProxy 为空或者非法
1146
+ * Token 无效;AppKey 和 Token 不匹配;Token 过期
1147
+ * @solution 建议确认从服务获取 token 时传入的 appkey 与客户端初始化使用的 appkey 是否为同一个
1148
+ * @since 5.2.0
1035
1149
  */
1036
- INVALID_PARAMETER_PROXY = 34238,
1150
+ RC_CONN_TOKEN_INCORRECT = 31004,
1037
1151
  /**
1038
- * 代理测试服务地址为空或者非法
1152
+ * App 校验未通过(开通了 App 校验功能,但是校验未通过)
1153
+ * @since 5.2.0
1039
1154
  */
1040
- INVALID_PARAMETER_TESTHOST = 34239,
1155
+ RC_CONN_NOT_AUTHRORIZED = 31005,
1041
1156
  /**
1042
- * 开发者接口调用 testProxy 接口时无法联通
1157
+ * 连接重定向
1158
+ * @since 5.2.0
1043
1159
  */
1044
- INVALID_CONNECT_TESTHOST_FAILED = 34240,
1160
+ RC_CONN_REDIRECTED = 31006,
1045
1161
  /**
1046
- * 开发者调用 connect 时 proxy 服务设置失败
1047
- * 移动端使用的为 31028,但web 端此状态码已经被占用,所以改为 web 端使用号码段 35XXX
1048
- * @discussion 设置 setProxy 接口不可在连接或正在连接中的状态调用。
1162
+ * 包名与后台注册信息不匹配
1163
+ * @since 5.2.0
1049
1164
  */
1050
- RC_CONN_PROXY_UNAVAILABLE = 35028,
1165
+ RC_CONN_PACKAGE_NAME_INVALID = 31007,
1051
1166
  /**
1052
- * proxy 服务不可用
1167
+ * AppKey 被封禁或已删除
1168
+ * @since 5.2.0
1053
1169
  */
1054
- PROXY_UNAVAILABLE = 17
1055
- }
1056
-
1057
- /**
1058
- * 连接状态
1059
- * @deprecated 请使用 `RCConnectionStatus` 替代此枚举声明
1060
- */
1061
- declare enum ConnectionStatus {
1170
+ RC_CONN_APP_BLOCKED_OR_DELETED = 31008,
1062
1171
  /**
1063
- * 连接成功。
1172
+ * 用户被封禁
1173
+ * @since 5.2.0
1064
1174
  */
1065
- CONNECTED = 0,
1175
+ RC_CONN_USER_BLOCKED = 31009,
1066
1176
  /**
1067
- * 连接中。
1177
+ * 用户被踢下线
1178
+ * @since 5.2.0
1068
1179
  */
1069
- CONNECTING = 1,
1180
+ RC_DISCONN_KICK = 31010,
1070
1181
  /**
1071
- * 正常断开连接。
1182
+ * 与服务器的连接已断开,用户被封禁
1183
+ * @since 5.2.0
1072
1184
  */
1073
- DISCONNECTED = 2,
1185
+ RC_DISCONN_EXCEPTION = 31011,
1074
1186
  /**
1075
- * 网络不可用。
1187
+ * 链路加密认证失败
1188
+ * @since 5.2.0
1076
1189
  */
1077
- NETWORK_UNAVAILABLE = 3,
1190
+ CONNECTION_ENCRYPT_AUTHORIZED_ERROR = 31012,
1078
1191
  /**
1079
- * 连接关闭。
1192
+ * Token 已过期
1193
+ * @since 5.7.0
1080
1194
  */
1081
- CONNECTION_CLOSED = 4,
1195
+ RC_CONN_TOKEN_EXPIRED = 31020,
1082
1196
  /**
1083
- * 用户账户在其他设备登录,本机会被踢掉线。
1197
+ * Token 中携带 deviceId 时,检测 Token 中deviceId 与链接设备 deviceId 不一致
1198
+ * @since 5.7.0
1084
1199
  */
1085
- KICKED_OFFLINE_BY_OTHER_CLIENT = 6,
1200
+ RC_CONN_DEVICE_ERROR = 31021,
1086
1201
  /**
1087
- * websocket 连接失败
1202
+ * 页面域名不在安全域名白名单内,需通过开发者后台添加安全域名配置
1203
+ * @since 5.7.0
1088
1204
  */
1089
- WEBSOCKET_UNAVAILABLE = 7,
1205
+ RC_CONN_HOSTNAME_ERROR = 31022,
1090
1206
  /**
1091
- * websocket 报错
1207
+ * 开启禁止把已在线客户端踢下线开关后,该错误码标识已有同类型端在线
1208
+ * @since 5.3.4
1092
1209
  */
1093
- WEBSOCKET_ERROR = 8,
1210
+ RC_DISCONN_SAME_CLIENT_ON_LINE = 31023,
1094
1211
  /**
1095
- * 用户被封禁
1212
+ * 连接总数量超过服务设定的并发限定值(私有云专属)
1213
+ * @since 5.7.0
1096
1214
  */
1097
- BLOCKED = 9,
1215
+ RC_LISCENSE_COUNT_OUT_OF_LIMIT = 31024,
1098
1216
  /**
1099
- * 域名错误
1217
+ * 客户端连错环境,引发连接拒绝;如使用开发环境 Appkey 连接到生产环境
1218
+ * @since 5.7.0
1100
1219
  */
1101
- DOMAIN_INCORRECT = 12,
1220
+ RC_CONN_WRONG_CLUSTER = 31025,
1102
1221
  /**
1103
- * 服务器主动断开
1222
+ * 开启AppServer联合鉴权功能后,到AppServer认证失败
1223
+ * @since 5.2.0
1104
1224
  */
1105
- DISCONNECT_BY_SERVER = 13,
1225
+ RC_APP_AUTH_NOT_PASS = 31026,
1106
1226
  /**
1107
- * 重定向
1227
+ * 该 token 已经被使用过,无法进行连接 一次性 token 只能连接一次,之后再使用会上报此错误
1228
+ * @since 5.2.0
1108
1229
  */
1109
- REDIRECT = 14,
1230
+ RC_OTP_USED = 31027,
1110
1231
  /**
1111
- * 用户账号已销户,不再进行连接
1232
+ * Token 平台验证失败
1233
+ * @since 5.2.0
1112
1234
  */
1113
- USER_LOGOUT = 19,
1235
+ RC_PLATFORM_ERROR = 31028,
1114
1236
  /**
1115
- * appkey 不正确
1237
+ * 用户已销户
1238
+ * @since 5.5.7
1116
1239
  */
1117
- APPKEY_IS_FAKE = 20,
1240
+ RC_ACCOUNT_CANCELLATION = 31029,
1118
1241
  /**
1119
- * Electron 中,其他端登录,本端禁止连接和重连
1120
- */
1121
- FORBID_RECONNECT_BY_OTHER_SAME_CLIENT = 31023,
1242
+ * 私有云 License 检查不通过;APP License 过期
1243
+ * @since 5.5.1
1244
+ */
1245
+ RC_LICENSE_EXPIRED = 31030,
1122
1246
  /**
1123
- * 互踢次数过多(`count > 5`),此时可能出现:在其它他设备登陆有 reconnect 逻辑
1247
+ * 协议层内部错误,查询,上传,下载过程中数据错误
1248
+ * @since 5.2.0
1124
1249
  */
1125
- ULTRALIMIT = 1101,
1250
+ RC_QUERY_ACK_NO_DATA = 32001,
1126
1251
  /**
1127
- * 开始请求导航
1252
+ * 协议层内部错误
1253
+ * @since 5.2.0
1128
1254
  */
1129
- REQUEST_NAVI = 201,
1255
+ RC_MSG_DATA_INCOMPLETE = 32002,
1130
1256
  /**
1131
- * 请求导航结束
1257
+ * 服务器主动断开连接(仅 quic 协议下触发)
1132
1258
  */
1133
- RESPONSE_NAVI = 202,
1259
+ RC_UDP_DISCONNECTED = 32011,
1134
1260
  /**
1135
- * 请求导航失败
1261
+ * 链接被服务器中断,可能原因是运营商认为此链接非法或无效,直接断开 出现此错误码后,SDK 会自动触发重连,App 无需处理
1262
+ * @since 5.7.0
1136
1263
  */
1137
- RESPONSE_NAVI_ERROR = 203,
1264
+ RC_TCP_RESET = 32054,
1138
1265
  /**
1139
- * 请求导航超时
1266
+ * 连接被拒绝
1267
+ * @since 5.2.0
1140
1268
  */
1141
- RESPONSE_NAVI_TIMEOUT = 204,
1269
+ CONNECTION_REFUSED = 32061,
1142
1270
  /**
1143
- * 证书过期,SDK不会重连
1271
+ * 将消息存储到本地数据时失败。 发送或插入消息时,消息需要存储到本地数据库,当存库失败时,会回调此错误码
1272
+ * @since 5.2.0
1144
1273
  */
1145
- RC_LICENSE_EXPIRED = 31030,
1274
+ PROTOCOL_MESSAGE_SAVED_ERROR = 33000,
1146
1275
  /**
1147
- * Token 错误。
1276
+ * 协议栈未初始化
1277
+ * @since 5.2.0
1148
1278
  */
1149
- RC_CONN_USER_OR_PASSWD_ERROR = 31004
1150
- }
1151
-
1152
- /**
1153
- * 消息接受状态
1154
- * @category Enum
1155
- */
1156
- declare enum ReceivedStatus {
1279
+ BIZ_ERROR_CLIENT_NOT_INIT = 33001,
1157
1280
  /**
1158
- * 已读
1159
- */
1160
- READ = 1,
1281
+ * 数据库错误
1282
+ * @since 5.2.0
1283
+ */
1284
+ BIZ_ERROR_DATABASE_ERROR = 33002,
1161
1285
  /**
1162
- * 已听
1163
- */
1164
- LISTENED = 2,
1286
+ * 开发者接口调用时传入的参数错误
1287
+ * @since 5.2.0
1288
+ */
1289
+ BIZ_ERROR_INVALID_PARAMETER = 33003,
1165
1290
  /**
1166
- * 已下载
1167
- */
1168
- DOWNLOADED = 4,
1291
+ * 通道无效
1292
+ */
1293
+ BIZ_ERROR_NO_CHANNEL = 33004,
1169
1294
  /**
1170
- * 该消息已经被其他登录的多端收取过。( 即该消息已经被其他端收取过后。当前端才登录,并重新拉取了这条消息。客户可以通过这个状态更新 UI,比如不再提示 )
1171
- */
1172
- RETRIEVED = 8,
1295
+ * 重新连接成功
1296
+ */
1297
+ BIZ_ERROR_RECONNECT_SUCCESS = 33005,
1173
1298
  /**
1174
- * 未读
1175
- */
1176
- UNREAD = 0
1177
- }
1178
-
1179
- /**
1180
- * 内置消息类型
1181
- */
1182
- declare enum MessageType {
1299
+ * 连接中,再调用 connect 被拒绝
1300
+ */
1301
+ BIZ_ERROR_CONNECTING = 33006,
1183
1302
  /**
1184
- * 文字消息
1185
- */
1186
- TextMessage = "RC:TxtMsg",
1303
+ * 历史消息云存储业务未开通
1304
+ * @since 5.2.0
1305
+ */
1306
+ MSG_ROAMING_SERVICE_UNAVAILABLE = 33007,
1187
1307
  /**
1188
- * 语音消息
1189
- */
1190
- VOICE = "RC:VcMsg",
1308
+ * 消息存入本地数据库失败
1309
+ * @since 5.2.0
1310
+ */
1311
+ MSG_INSERT_ERROR = 33008,
1191
1312
  /**
1192
- * 高质量消息
1193
- */
1194
- HQ_VOICE = "RC:HQVCMsg",
1313
+ * 聊天室被回收
1314
+ * @since 5.2.0
1315
+ */
1316
+ MSG_DEL_ERROR = 33009,
1195
1317
  /**
1196
- * 图片消息
1197
- */
1198
- IMAGE = "RC:ImgMsg",
1318
+ * 标签不存在
1319
+ * @solution 建议用户使用 RongIMLib.addTag 先创建标签,再添加会话到标签中
1320
+ * @since 5.2.0
1321
+ */
1322
+ TAG_NOT_EXIST = 33100,
1199
1323
  /**
1200
- * GIF 消息
1201
- */
1202
- GIF = "RC:GIFMsg",
1324
+ * 标签已存在
1325
+ * @since 5.2.0
1326
+ */
1327
+ TAG_EXISTS = 33101,
1203
1328
  /**
1204
- * 图文消息
1205
- */
1206
- RICH_CONTENT = "RC:ImgTextMsg",
1329
+ * 标签不在会话中
1330
+ * @since 5.2.0
1331
+ */
1332
+ NO_TAG_IN_CONVER = 33102,
1207
1333
  /**
1208
- * 位置消息
1209
- */
1210
- LOCATION = "RC:LBSMsg",
1334
+ * 连接已存在
1335
+ * @since 5.2.0
1336
+ */
1337
+ RC_CONNECTION_EXIST = 34001,
1211
1338
  /**
1212
- * 文件消息
1213
- */
1214
- FILE = "RC:FileMsg",
1339
+ * 连接环境不正确
1340
+ * @since 5.2.0
1341
+ */
1342
+ PACKAGE_ENVIRONMENT_ERROR = 34005,
1215
1343
  /**
1216
- * 小视频消息
1217
- */
1218
- SIGHT = "RC:SightMsg",
1344
+ * 连接超时
1345
+ * @since 5.2.0
1346
+ */
1347
+ CONNECTION_TIMEOUT = 34006,
1219
1348
  /**
1220
- * 合并转发消息
1221
- */
1222
- COMBINE = "RC:CombineMsg",
1349
+ * 消息不能被扩展,只支持单群聊,其他类型消息会返回此错误,消息在发送时,Message 对象的属性 canIncludeExpansion 置为 true 才能进行扩展
1350
+ * @since 5.2.0
1351
+ */
1352
+ MESSAGE_KV_NOT_SUPPORT = 34008,
1353
+ /**
1354
+ * 消息扩展失败,一般是网络原因导致的,请确保网络状态良好,并且融云 SDK 连接正常
1355
+ * @since 5.2.0
1356
+ */
1357
+ MESSAGE_EXPANDED_ERROR = 34009,
1358
+ /**
1359
+ * 消息扩展大小超出限制, 默认消息扩展字典 key 长度不超过 32 个字符,value 长度不超过 4096 个字符,设置的 Expansion 键值对不超过 300 个
1360
+ * @since 5.2.0
1361
+ */
1362
+ EXPANSION_LIMIT_EXCEET = 34010,
1363
+ /**
1364
+ * 媒体消息媒体文件 http 上传失败
1365
+ * @since 5.2.0
1366
+ */
1367
+ UPLOAD_FAIL = 34011,
1368
+ /**
1369
+ * 标签中添加/删除的会话数量超限,最多支持添加/删除 1000 个会话
1370
+ * @since 5.2.0
1371
+ */
1372
+ CONVER_OUT_LIMIT_ERROR = 34013,
1373
+ /**
1374
+ * 群已读回执版本不支持
1375
+ * @since 5.2.0
1376
+ */
1377
+ READ_RECEIPT_ERROR = 34014,
1378
+ /**
1379
+ * 用户级别设置未开通
1380
+ * @since 5.2.0
1381
+ */
1382
+ PUSH_CONTENT_CONFIG_SERVICE_UNAVAILABLE = 34016,
1383
+ /**
1384
+ * 消息拦截器处理接口返回的消息为空
1385
+ * @since 5.2.0
1386
+ */
1387
+ MESSAGE_INTERCEPTION_PRODUCED_NULL_MESSAGE = 34017,
1388
+ /**
1389
+ * 消息未被注册
1390
+ * @since 5.2.0
1391
+ */
1392
+ MESSAGE_NOT_REGISTERED = 34021,
1393
+ /**
1394
+ * 该接口不支持超级群会话
1395
+ * @since 5.2.0
1396
+ */
1397
+ METHOD_NOT_SUPPORT = 34022,
1398
+ /**
1399
+ * 超级群频道不存在
1400
+ * @since 5.2.0
1401
+ */
1402
+ ULTRA_GROUP_CHANNEL_NOT_EXIST = 34024,
1403
+ /**
1404
+ * 扩展消息失败,因为消息中的会话类别与接口支持的会话类别不一致
1405
+ * @since 5.2.0
1406
+ */
1407
+ INCONSISTENT_CONVERSATION_TYPE = 34025,
1408
+ /**
1409
+ * 开发者调用的接口不支持传入的会话类型
1410
+ */
1411
+ METHOD_ONLY_SUPPORT_ULTRA_GROUP = 34201,
1412
+ /**
1413
+ * 开发者接口调用时传入的 messageList 非法
1414
+ */
1415
+ MSG_LIMIT_ERROR = 34206,
1416
+ /**
1417
+ * 非法的代理配置,RongIMProxy 为空或者非法
1418
+ * @since 5.7.0
1419
+ */
1420
+ INVALID_PARAMETER_PROXY = 34238,
1421
+ /**
1422
+ * 开发者接口调用 testProxy 时传入的代理测试服务非法
1423
+ * @since 5.7.0
1424
+ */
1425
+ INVALID_PARAMETER_TESTHOST = 34239,
1426
+ /**
1427
+ * 开发者接口调用 testProxy 接口时无法联通
1428
+ * @since 5.7.0
1429
+ */
1430
+ INVALID_CONNECT_TESTHOST_FAILED = 34240,
1431
+ /**
1432
+ * 设置的代理地址不可用
1433
+ */
1434
+ RC_CONN_PROXY_UNAVAILABLE = 34245,
1435
+ /**
1436
+ * 主进程内方法错误
1437
+ */
1438
+ MAIN_PROCESS_ERROR = 35001,
1439
+ /**
1440
+ * 保存草稿失败
1441
+ */
1442
+ DRAFT_SAVE_ERROR = 35002,
1443
+ /**
1444
+ * 删除草稿失败
1445
+ */
1446
+ DRAFT_REMOVE_ERROR = 35003,
1447
+ /**
1448
+ * 方法未支持
1449
+ */
1450
+ NOT_SUPPORT = 35004,
1451
+ /**
1452
+ * 删除会话失败
1453
+ */
1454
+ CONVER_REMOVE_ERROR = 35005,
1455
+ /**
1456
+ * 无可用的 IM 服务地址
1457
+ */
1458
+ SERVER_UNAVAILABLE = 35008,
1459
+ /**
1460
+ * IM 在初次连接成功后,需立即同步消息,标记上线,然后获取全量超级群会话列表,列表同步完成前,所有超级群相关功能接口应不可用
1461
+ */
1462
+ METHOD_NOT_AVAILABLE = 35011,
1463
+ /**
1464
+ * 获取会话失败
1465
+ */
1466
+ CONVER_GET_ERROR = 35021,
1467
+ /**
1468
+ * 搜索字段对应消息错误
1469
+ */
1470
+ SEARCH_PROPS_LIMIT_ERROR = 35022
1471
+ }
1472
+
1473
+ /**
1474
+ * 连接状态
1475
+ * @deprecated 请使用 `RCConnectionStatus` 替代此枚举声明
1476
+ */
1477
+ declare enum ConnectionStatus {
1478
+ /**
1479
+ * 连接成功。
1480
+ */
1481
+ CONNECTED = 0,
1482
+ /**
1483
+ * 连接中。
1484
+ */
1485
+ CONNECTING = 1,
1486
+ /**
1487
+ * 正常断开连接。
1488
+ */
1489
+ DISCONNECTED = 2,
1490
+ /**
1491
+ * 网络不可用。
1492
+ */
1493
+ NETWORK_UNAVAILABLE = 3,
1494
+ /**
1495
+ * 连接关闭。
1496
+ */
1497
+ CONNECTION_CLOSED = 4,
1498
+ /**
1499
+ * 用户账户在其他设备登录,本机会被踢掉线。
1500
+ */
1501
+ KICKED_OFFLINE_BY_OTHER_CLIENT = 6,
1502
+ /**
1503
+ * websocket 连接失败
1504
+ */
1505
+ WEBSOCKET_UNAVAILABLE = 7,
1506
+ /**
1507
+ * websocket 报错
1508
+ */
1509
+ WEBSOCKET_ERROR = 8,
1510
+ /**
1511
+ * 用户被封禁
1512
+ */
1513
+ BLOCKED = 9,
1514
+ /**
1515
+ * 域名错误
1516
+ */
1517
+ DOMAIN_INCORRECT = 12,
1518
+ /**
1519
+ * 服务器主动断开
1520
+ */
1521
+ DISCONNECT_BY_SERVER = 13,
1522
+ /**
1523
+ * 重定向
1524
+ */
1525
+ REDIRECT = 14,
1526
+ /**
1527
+ * 用户账号已销户,不再进行连接
1528
+ */
1529
+ USER_LOGOUT = 19,
1530
+ /**
1531
+ * appkey 不正确
1532
+ */
1533
+ APPKEY_IS_FAKE = 20,
1534
+ /**
1535
+ * Electron 中,其他端登录,本端禁止连接和重连
1536
+ */
1537
+ FORBID_RECONNECT_BY_OTHER_SAME_CLIENT = 31023,
1538
+ /**
1539
+ * 互踢次数过多(`count > 5`),此时可能出现:在其它他设备登陆有 reconnect 逻辑
1540
+ */
1541
+ ULTRALIMIT = 1101,
1542
+ /**
1543
+ * 开始请求导航
1544
+ */
1545
+ REQUEST_NAVI = 201,
1546
+ /**
1547
+ * 请求导航结束
1548
+ */
1549
+ RESPONSE_NAVI = 202,
1550
+ /**
1551
+ * 请求导航失败
1552
+ */
1553
+ RESPONSE_NAVI_ERROR = 203,
1554
+ /**
1555
+ * 请求导航超时
1556
+ */
1557
+ RESPONSE_NAVI_TIMEOUT = 204,
1558
+ /**
1559
+ * 证书过期,SDK不会重连
1560
+ */
1561
+ RC_LICENSE_EXPIRED = 31030,
1562
+ /**
1563
+ * Token 错误。
1564
+ */
1565
+ RC_CONN_USER_OR_PASSWD_ERROR = 31004
1566
+ }
1567
+
1568
+ /**
1569
+ * 消息接受状态
1570
+ * @category Enum
1571
+ */
1572
+ declare enum ReceivedStatus {
1573
+ /**
1574
+ * 已读
1575
+ */
1576
+ READ = 1,
1577
+ /**
1578
+ * 已听
1579
+ */
1580
+ LISTENED = 2,
1581
+ /**
1582
+ * 已下载
1583
+ */
1584
+ DOWNLOADED = 4,
1585
+ /**
1586
+ * 该消息已经被其他登录的多端收取过。( 即该消息已经被其他端收取过后。当前端才登录,并重新拉取了这条消息。客户可以通过这个状态更新 UI,比如不再提示 )
1587
+ */
1588
+ RETRIEVED = 8,
1589
+ /**
1590
+ * 未读
1591
+ */
1592
+ UNREAD = 0
1593
+ }
1594
+
1595
+ /**
1596
+ * 内置消息类型
1597
+ */
1598
+ declare enum MessageType {
1599
+ /**
1600
+ * 文字消息
1601
+ */
1602
+ TextMessage = "RC:TxtMsg",
1603
+ /**
1604
+ * 语音消息
1605
+ */
1606
+ VOICE = "RC:VcMsg",
1607
+ /**
1608
+ * 高质量消息
1609
+ */
1610
+ HQ_VOICE = "RC:HQVCMsg",
1611
+ /**
1612
+ * 图片消息
1613
+ */
1614
+ IMAGE = "RC:ImgMsg",
1615
+ /**
1616
+ * GIF 消息
1617
+ */
1618
+ GIF = "RC:GIFMsg",
1619
+ /**
1620
+ * 图文消息
1621
+ */
1622
+ RICH_CONTENT = "RC:ImgTextMsg",
1623
+ /**
1624
+ * 位置消息
1625
+ */
1626
+ LOCATION = "RC:LBSMsg",
1627
+ /**
1628
+ * 文件消息
1629
+ */
1630
+ FILE = "RC:FileMsg",
1631
+ /**
1632
+ * 小视频消息
1633
+ */
1634
+ SIGHT = "RC:SightMsg",
1635
+ /**
1636
+ * 合并转发消息
1637
+ */
1638
+ COMBINE = "RC:CombineMsg",
1223
1639
  /**
1224
1640
  * 聊天室 KV 通知消息
1225
1641
  */
@@ -1408,15 +1824,6 @@ declare enum UploadMethod {
1408
1824
  MINIO = 5
1409
1825
  }
1410
1826
 
1411
- /**
1412
- * 聊天室 kv 存储操作类型. 对方操作, 己方收到消息(RC:chrmKVNotiMsg)中会带入此值. 根据此值判断是删除还是更新
1413
- * @category Enum
1414
- */
1415
- declare enum ChatroomEntryType {
1416
- UPDATE = 1,
1417
- DELETE = 2
1418
- }
1419
-
1420
1827
  /**
1421
1828
  * @deprecated
1422
1829
  * 日志级别
@@ -1582,7 +1989,11 @@ declare enum LogTagId {
1582
1989
  L_WEBSOCKET_DISACCORD_E = "L-websocket_disaccord-e",
1583
1990
  /** electronExtension 相关 */
1584
1991
  A_SEARCH_MESSAGE_BY_USER_T = "A-search_messages_by_user-T",
1585
- A_SEARCH_MESSAGE_BY_USER_R = "A-search_messages_by_user-R"
1992
+ A_SEARCH_MESSAGE_BY_USER_R = "A-search_messages_by_user-R",
1993
+ /** 获取静态配置 */
1994
+ L_GET_STATIC_CONF_T = "L-get_static_conf-T",
1995
+ L_GET_STATIC_CONF_R = "L-get_static_conf-R",
1996
+ L_GET_STATIC_CONF_E = "L-get_static_conf-E"
1586
1997
  }
1587
1998
 
1588
1999
  /** 统计数据标签 */
@@ -1596,15 +2007,6 @@ declare enum StatisticsTag {
1596
2007
  IM_NETWORK_CHANGE = "IM-stats_network_change-S"
1597
2008
  }
1598
2009
 
1599
- /**
1600
- * 聊天室成员进入和退出状态
1601
- * @category Enum
1602
- */
1603
- declare enum ChatroomUserChangeType {
1604
- QUIT = 0,
1605
- JOIN = 1
1606
- }
1607
-
1608
2010
  /**
1609
2011
  * 发送状态
1610
2012
  * @category Enum
@@ -1637,91 +2039,19 @@ declare enum SentStatus {
1637
2039
  }
1638
2040
 
1639
2041
  /**
1640
- * 聊天室多端同步时,消息中的状态:加入/离开
1641
- * @category Enum
1642
- * @since 5.7.9
1643
- */
1644
- declare enum ChrmSyncStatus {
1645
- /**
1646
- * 离开
1647
- */
1648
- QUIT = 0,
1649
- /**
1650
- * 加入
1651
- */
1652
- JOIN = 1
1653
- }
1654
-
1655
- /**
1656
- * 聊天室解封/封禁用户消息,操作类型枚举
1657
- * @category Enum
1658
- * @since 5.7.9
1659
- */
1660
- declare enum ChrmMemOperateType {
1661
- /**
1662
- * 解封
1663
- */
1664
- Deblock = 0,
1665
- /**
1666
- * 封禁
1667
- */
1668
- Blocked = 1
1669
- }
1670
-
1671
- /**
1672
- * 聊天室禁言/解除禁言操作类型枚举
1673
- * @category Enum
1674
- * @since 5.7.9
1675
- */
1676
- declare enum ChrmMemBanType {
1677
- /**
1678
- * 解除指定聊天室中用户禁言
1679
- */
1680
- UnmuteUsers = 0,
1681
- /**
1682
- * 禁言指定聊天室中用户
1683
- */
1684
- MuteUsers = 1,
1685
- /**
1686
- * 解除聊天室全体禁言
1687
- */
1688
- UnmuteAll = 2,
1689
- /**
1690
- * 聊天室全体禁言
1691
- */
1692
- MuteAll = 3,
1693
- /**
1694
- * 移出禁言用户白名单
1695
- */
1696
- RemoveWhitelist = 4,
1697
- /**
1698
- * 添加禁言用户白名单
1699
- */
1700
- AddWhitelist = 5,
1701
- /**
1702
- * 解除用户聊天室全局禁言
1703
- */
1704
- UnmuteGloble = 6,
1705
- /**
1706
- * 用户聊天室全局禁言
1707
- */
1708
- MuteGloble = 7
1709
- }
1710
-
1711
- /**
1712
- * 聊天室多端同步时,离开聊天室的原因
1713
- * @category Enum
1714
- * @since 5.7.9
2042
+ * 连接协议
2043
+ * 截止 5.7.4 版本,暂不支持 rpp 和 quic
2044
+ * v2 版本文档: https://a5bq662kv5.feishu.cn/wiki/wikcnfo3lEo2CPbonDxuXFvU0Kb#K7nbeN
1715
2045
  */
1716
- declare enum ChatroomSyncStatusReason {
1717
- /**
1718
- * 自己主动离开
1719
- */
1720
- LeaveOnMyOwn = 0,
1721
- /**
1722
- * 多端加入互踢导致离开
1723
- */
1724
- OtherDeviceLogin = 1
2046
+ declare enum EConnectProtocol {
2047
+ RMTP = 1,
2048
+ TLS = 2,
2049
+ RPP = 3,
2050
+ QUIC = 4,
2051
+ WS = 5,
2052
+ WSS = 6,
2053
+ HTTP = 11,
2054
+ HTTPS = 12
1725
2055
  }
1726
2056
 
1727
2057
  declare enum StoreKeys {
@@ -2803,390 +3133,92 @@ interface IUpdatedConversation {
2803
3133
  isTop?: boolean;
2804
3134
  /**
2805
3135
  * 会话标识
2806
- */
2807
- channelId?: string;
2808
- tags?: IUpdatedConversation[];
2809
- versionTime?: number;
2810
- /**
2811
- * @ 消息未读数
2812
- */
2813
- unreadMentionedCount?: number;
2814
- /**
2815
- * @ 我的未读消息数
2816
- * @since 5.7.9
2817
- */
2818
- unreadMentionedMeCount?: number;
2819
- }
2820
- /**
2821
- * @category Interface
2822
- */
2823
- interface IBaseConversationInfo {
2824
- conversationType: ConversationType;
2825
- targetId: string;
2826
- channelId: string;
2827
- }
2828
- /**
2829
- * @category Interface
2830
- */
2831
- interface IConversationState extends IBaseConversationInfo {
2832
- unreadCount: number;
2833
- unreadMentionedCount: number;
2834
- }
2835
- /**
2836
- * 指定超级群会话传参
2837
- * @category Interface
2838
- */
2839
- interface IUltraGroupOption {
2840
- targetId: string;
2841
- channelId?: string;
2842
- }
2843
- /**
2844
- * @category Interface
2845
- */
2846
- interface IGetUltraGroupListOption {
2847
- targetId?: string;
2848
- channelType?: UltraGroupChannelType;
2849
- }
2850
- /**
2851
- * 超级群频道变更通知内容
2852
- */
2853
- interface IUltraChannelChangeInfo {
2854
- targetId: string;
2855
- channelId: string;
2856
- channelType: UltraGroupChannelType;
2857
- changeType: UltraGroupChannelChangeType;
2858
- }
2859
- /**
2860
- * 超级群私有频道用户被踢出白名单通知内容
2861
- */
2862
- interface IUltraChannelUserKickedInfo {
2863
- targetId: string;
2864
- channelId: string;
2865
- channelType: UltraGroupChannelType;
2866
- userId: string;
2867
- }
2868
- /**
2869
- * 超级群频道被删除通知内容
2870
- */
2871
- interface IUltraChannelDeleteInfo {
2872
- targetId: string;
2873
- channelId: string;
2874
- channelType: UltraGroupChannelType;
2875
- deleteTime: number;
2876
- }
2877
- /**
2878
- * 获取超级群获取指定会话未读 @ 消息列表
2879
- */
2880
- interface IUltraUnreadConversation {
2881
- targetId: string;
2882
- channelId?: string;
2883
- }
2884
- interface IUltraGroupUnreadInfo {
2885
- type: ConversationType;
2886
- targetId: string;
2887
- channelId: string;
2888
- unreadMessageCount: number;
2889
- mentionedCount: number;
2890
- mentionedMeCount: number;
2891
- notificationLevel: NotificationLevel;
2892
- }
2893
-
2894
- /**
2895
- * @category Interface
2896
- */
2897
- interface IChatroomEntryListenerData {
2898
- /**
2899
- * 更新的键
2900
- */
2901
- key: string;
2902
- /**
2903
- * 更新的值
2904
- */
2905
- value: string;
2906
- /**
2907
- * 更新的时间
2908
- */
2909
- timestamp: number;
2910
- /**
2911
- * 更新的聊天室 ID
2912
- */
2913
- chatroomId: string;
2914
- /**
2915
- * 更新类型
2916
- */
2917
- type: ChatroomEntryType;
2918
- }
2919
- /**
2920
- * @category Interface
2921
- */
2922
- interface IChatroomRejoinedFailed {
2923
- /**
2924
- * 自动重新加入的聊天室 ID
2925
- */
2926
- chatroomId: string;
2927
- /**
2928
- * 自动重新加入失败的 code
2929
- */
2930
- errorCode: number;
2931
- }
2932
- /**
2933
- * @category Interface
2934
- */
2935
- interface IChatroomRejoinedSuccessed {
2936
- /**
2937
- * 自动重新加入的聊天室 ID
2938
- */
2939
- chatroomId: string;
2940
- /**
2941
- * 自动重新加入的聊天室拉取消息的数量
2942
- */
2943
- count: number;
2944
- }
2945
- /**
2946
- * @category Interface
2947
- */
2948
- interface IChatroomUserChangeInfo {
2949
- users: {
2950
- [userId: string]: ChatroomUserChangeType;
2951
- };
2952
- chatroomId: string;
2953
- }
2954
- /**
2955
- * @category Interface
2956
- * @since 5.7.9
2957
- */
2958
- interface IChatroomNotifyMultiLoginSync {
2959
- /**
2960
- * 聊天室ID
2961
- */
2962
- chatroomId: string;
2963
- /**
2964
- * 变更的状态,0:离开, 1:加入
2965
- */
2966
- status: ChrmSyncStatus;
2967
- /**
2968
- * 如果status是0的情况,区分离开类型,0:主动离开, 1:多端加入被踢
2969
- */
2970
- reason: ChatroomSyncStatusReason;
2971
- /**
2972
- * 用户加入/退出/被踢的时间(毫秒时间戳)
2973
- */
2974
- time: number;
2975
- /**
2976
- * 附加信息
2977
- */
2978
- extra: string;
2979
- }
2980
- /**
2981
- * @category Interface
2982
- * @since 5.7.9
2983
- */
2984
- interface IChatroomNotifyBlock {
2985
- /**
2986
- * 聊天室ID
2987
- */
2988
- chatroomId: string;
2989
- /**
2990
- * 封禁类型,0是解封,1是封禁
2991
- */
2992
- operateType: ChrmMemOperateType;
2993
- /**
2994
- * 封禁时长(毫秒),封禁时有此字段,封禁时长最大值为43200分钟(1个月), 最小值1分钟
2995
- */
2996
- durationTime: number;
2997
- /**
2998
- * 操作时间(毫秒时间戳)
2999
- */
3000
- operateTime: number;
3001
- /**
3002
- * 被封禁/解封的用户 ID 列表
3003
- */
3004
- userIdList: string[];
3005
- /**
3006
- * 附加信息
3007
- */
3008
- extra: string;
3009
- }
3010
- /**
3011
- * @category Interface
3012
- * @since 5.7.9
3013
- */
3014
- interface IChatroomNotifyBan {
3015
- /**
3016
- * 聊天室ID
3017
- */
3018
- chatroomId: string;
3019
- /**
3020
- * 禁言类型
3021
- */
3022
- banType: ChrmMemBanType;
3023
- /**
3024
- * 禁言时长(毫秒),禁言时有此字段,禁言时长最大值为43200分钟(1个月), 最小值1分钟
3025
- */
3026
- durationTime: number;
3027
- /**
3028
- * 操作时间(毫秒时间戳)
3029
- */
3030
- operateTime: number;
3031
- /**
3032
- * 禁言/解禁言用户 ID 列表
3033
- */
3034
- userIdList: string[];
3035
- /**
3036
- * 附加信息
3037
- */
3038
- extra: string;
3039
- }
3040
- declare type IChatroomRejoinedInfo = IChatroomRejoinedFailed | IChatroomRejoinedSuccessed;
3041
- /**
3042
- * 聊天室信息
3043
- * @category Interface
3044
- */
3045
- interface IChatroomListenerData {
3046
- /**
3047
- * SDK 内部重连聊天室信息
3048
- */
3049
- rejoinedRoom?: IChatroomRejoinedInfo;
3050
- /**
3051
- * 监听到的聊天室 KV 更新
3052
- */
3053
- updatedEntries?: IChatroomEntryListenerData[];
3054
- /**
3055
- * 登录退出的用户通知
3056
- */
3057
- userChange?: IChatroomUserChangeInfo;
3058
- /**
3059
- * 聊天室销毁
3060
- */
3061
- chatroomDestroyed?: string;
3062
- /**
3063
- * 加入退出多端同步通知
3064
- */
3065
- chatroomNotifyMultiLoginSync?: IChatroomNotifyMultiLoginSync;
3136
+ */
3137
+ channelId?: string;
3138
+ tags?: IUpdatedConversation[];
3139
+ versionTime?: number;
3066
3140
  /**
3067
- * 聊天室用户封禁通知
3141
+ * @ 消息未读数
3068
3142
  */
3069
- chatroomNotifyBlock?: IChatroomNotifyBlock;
3143
+ unreadMentionedCount?: number;
3070
3144
  /**
3071
- * 聊天室用户禁言通知
3145
+ * @ 我的未读消息数
3146
+ * @since 5.7.9
3072
3147
  */
3073
- chatroomNotifyBan?: IChatroomNotifyBan;
3148
+ unreadMentionedMeCount?: number;
3074
3149
  }
3075
3150
  /**
3076
3151
  * @category Interface
3077
3152
  */
3078
- interface IChatroomEntry {
3079
- /**
3080
- * 属性名称, 支持英文字母、数字、+、=、-、_ 的组合方式, 最大长度 128 字符
3081
- */
3082
- key: string;
3083
- /**
3084
- * 属性对应的值, 最大长度 4096 字符
3085
- */
3086
- value: string;
3087
- /**
3088
- * 设置成功后是否发送通知消息
3089
- */
3090
- isSendNotification?: boolean;
3091
- /**
3092
- * RC:chrmKVNotiMsg 消息中携带的附加信息
3093
- */
3094
- notificationExtra?: string;
3095
- /**
3096
- * 用户退出聊天室时是否清除此属性
3097
- */
3098
- isAutoDelete?: boolean;
3153
+ interface IBaseConversationInfo {
3154
+ conversationType: ConversationType;
3155
+ targetId: string;
3156
+ channelId: string;
3099
3157
  }
3100
3158
  /**
3101
3159
  * @category Interface
3102
3160
  */
3103
- interface IChatroomUser {
3104
- /**
3105
- * 用户 id
3106
- */
3107
- id: string;
3108
- /**
3109
- * 加入聊天室的时间
3110
- */
3111
- time: number;
3161
+ interface IConversationState extends IBaseConversationInfo {
3162
+ unreadCount: number;
3163
+ unreadMentionedCount: number;
3112
3164
  }
3113
3165
  /**
3166
+ * 指定超级群会话传参
3114
3167
  * @category Interface
3115
3168
  */
3116
- interface IChatroomInfo {
3117
- /**
3118
- * 成员列表
3119
- * @todo 需确认数组元素的数据结构
3120
- */
3121
- userInfos: IChatroomUser[];
3122
- /**
3123
- * 房间内总人数
3124
- */
3125
- userCount: number;
3169
+ interface IUltraGroupOption {
3170
+ targetId: string;
3171
+ channelId?: string;
3126
3172
  }
3127
3173
  /**
3128
3174
  * @category Interface
3129
3175
  */
3130
- interface IRemoveChatroomEntry {
3131
- /**
3132
- * 属性名称, 支持英文字母、数字、+、=、-、_ 的组合方式, 最大长度 128 字符
3133
- */
3134
- key: string;
3135
- /**
3136
- * 删除成功后是否发送通知消息
3137
- */
3138
- isSendNotification?: boolean;
3139
- /**
3140
- * RC:chrmKVNotiMsg 消息中携带的附加信息
3141
- */
3142
- notificationExtra?: string;
3176
+ interface IGetUltraGroupListOption {
3177
+ targetId?: string;
3178
+ channelType?: UltraGroupChannelType;
3143
3179
  }
3144
3180
  /**
3145
- * @category Interface
3181
+ * 超级群频道变更通知内容
3146
3182
  */
3147
- interface IRemoveChatroomEntries {
3148
- /**
3149
- * key 属性名称, 支持英文字母、数字、+、=、-、_ 的组合方式, 最大长度 128 字符
3150
- */
3151
- entries: {
3152
- key: string;
3153
- }[];
3154
- /**
3155
- * 删除成功后是否发送通知消息
3156
- */
3157
- /**
3158
- * RC:chrmKVNotiMsg 消息中携带的附加信息
3159
- */
3160
- notificationExtra?: string;
3183
+ interface IUltraChannelChangeInfo {
3184
+ targetId: string;
3185
+ channelId: string;
3186
+ channelType: UltraGroupChannelType;
3187
+ changeType: UltraGroupChannelChangeType;
3161
3188
  }
3162
3189
  /**
3163
- * @category Interface
3190
+ * 超级群私有频道用户被踢出白名单通知内容
3164
3191
  */
3165
- interface IChatroomEntries {
3166
- /**
3167
- * entries ,要设置的属性列表
3168
- * key 属性名称, 支持英文字母、数字、+、=、-、_ 的组合方式, 最大长度 128 字符
3169
- * value 属性对应的值, 最大长度 4096 字符
3170
- */
3171
- entries: {
3172
- key: string;
3173
- value: string;
3174
- }[];
3175
- /**
3176
- * 设置成功后是否发送通知消息
3177
- */
3178
- /**
3179
- * RC:chrmKVNotiMsg 消息中携带的附加信息
3180
- */
3181
- notificationExtra?: string;
3182
- /**
3183
- * 用户退出聊天室时是否清除此属性
3184
- */
3185
- isAutoDelete?: boolean;
3186
- /**
3187
- * 是否强制覆盖
3188
- */
3189
- isForce?: boolean;
3192
+ interface IUltraChannelUserKickedInfo {
3193
+ targetId: string;
3194
+ channelId: string;
3195
+ channelType: UltraGroupChannelType;
3196
+ userId: string;
3197
+ }
3198
+ /**
3199
+ * 超级群频道被删除通知内容
3200
+ */
3201
+ interface IUltraChannelDeleteInfo {
3202
+ targetId: string;
3203
+ channelId: string;
3204
+ channelType: UltraGroupChannelType;
3205
+ deleteTime: number;
3206
+ }
3207
+ /**
3208
+ * 获取超级群获取指定会话未读 @ 消息列表
3209
+ */
3210
+ interface IUltraUnreadConversation {
3211
+ targetId: string;
3212
+ channelId?: string;
3213
+ }
3214
+ interface IUltraGroupUnreadInfo {
3215
+ type: ConversationType;
3216
+ targetId: string;
3217
+ channelId: string;
3218
+ unreadMessageCount: number;
3219
+ mentionedCount: number;
3220
+ mentionedMeCount: number;
3221
+ notificationLevel: NotificationLevel;
3190
3222
  }
3191
3223
 
3192
3224
  /**
@@ -3289,6 +3321,22 @@ interface IUploadAuth {
3289
3321
  * minio 存储空间名称
3290
3322
  */
3291
3323
  minioBucketName: string;
3324
+ /**
3325
+ * 下载鉴权信息
3326
+ */
3327
+ downloadAuthInfo?: IDownloadAuth;
3328
+ }
3329
+ /**
3330
+ * 下载鉴权信息
3331
+ */
3332
+ interface IDownloadAuth {
3333
+ /**
3334
+ * 鉴权类型
3335
+ * 0: 不鉴权
3336
+ * 1: 直接使用 url
3337
+ */
3338
+ type: 0 | 1;
3339
+ url?: string;
3292
3340
  }
3293
3341
 
3294
3342
  interface IRTCRoomInfo {
@@ -3550,21 +3598,6 @@ interface IExtraMethod {
3550
3598
  updateMessageReceiptStatus(conersationType: ConversationType, targetId: string, timestamp: number, channelId?: string): Promise<IAsyncRes<boolean>>;
3551
3599
  }
3552
3600
 
3553
- /**
3554
- * 连接协议
3555
- * 截止 5.7.4 版本,暂不支持 rpp 和 quic
3556
- * v2 版本文档: https://a5bq662kv5.feishu.cn/wiki/wikcnfo3lEo2CPbonDxuXFvU0Kb#K7nbeN
3557
- */
3558
- declare enum EConnectProtocol {
3559
- RMTP = 1,
3560
- TLS = 2,
3561
- RPP = 3,
3562
- QUIC = 4,
3563
- WS = 5,
3564
- WSS = 6,
3565
- HTTP = 11,
3566
- HTTPS = 12
3567
- }
3568
3601
  interface INaviRequestOption {
3569
3602
  appkey: string;
3570
3603
  uri: string;
@@ -4040,6 +4073,18 @@ declare abstract class BasicStatisticReporter {
4040
4073
  reportClass?: BasicLogger | BasicStatistic);
4041
4074
  private timer;
4042
4075
  protected started: boolean;
4076
+ /**
4077
+ * 请求失败次数
4078
+ */
4079
+ private reportFailedNumber;
4080
+ /**
4081
+ * 导航下发的 itv 值
4082
+ */
4083
+ private itvByNavi;
4084
+ /**
4085
+ * 导航下发的 times 值
4086
+ */
4087
+ private timesByNavi;
4043
4088
  /**
4044
4089
  * 根据配置启动实时日志上报,在导航获取完成后启动,导航中包含 userId 信息
4045
4090
  * 实时日志仅获取当前时间 - 10s 以前的日志上报,避免多页面并行写库造成数据遗漏
@@ -4117,6 +4162,47 @@ declare class IndexDBStatisticReporter extends BasicStatisticReporter {
4117
4162
  protected realtimeReport(url: string, level: StatisticL, itv: number): Promise<void>;
4118
4163
  }
4119
4164
 
4165
+ declare enum AreaCode {
4166
+ BJ = 1,
4167
+ SG = 2,
4168
+ NA = 3
4169
+ }
4170
+
4171
+ interface IStaticConfigData {
4172
+ navi: string[];
4173
+ }
4174
+ interface IStaticConfig {
4175
+ version: number;
4176
+ bootstrap: string[];
4177
+ areaCode: AreaCode;
4178
+ resources: {
4179
+ navi: IServerAddressData[];
4180
+ active: IServerAddressData[];
4181
+ log: IServerAddressData[];
4182
+ };
4183
+ }
4184
+ declare abstract class BasicStaticConfigManager {
4185
+ protected readonly appkey: string;
4186
+ protected readonly logger: BasicLogger;
4187
+ protected areaCode: AreaCode;
4188
+ constructor(appkey: string, logger: BasicLogger, areaCode?: AreaCode);
4189
+ protected staticUrls: string[];
4190
+ protected abstract getCache(): string | null;
4191
+ protected abstract setCache(data: string): void;
4192
+ protected abstract clearCache(): void;
4193
+ protected abstract sendRequest(url: string): Promise<{
4194
+ code: number;
4195
+ data?: string;
4196
+ }>;
4197
+ protected abstract decryptData(data: string): Promise<IStaticConfig | undefined>;
4198
+ getStaticConfig(): Promise<IStaticConfigData | undefined>;
4199
+ /**
4200
+ * 循环请求
4201
+ */
4202
+ private _requestHandle;
4203
+ setAreaCode(areaCode: AreaCode): void;
4204
+ }
4205
+
4120
4206
  declare type INaviCache = {
4121
4207
  token: string;
4122
4208
  naviInfo: INaviInfo;
@@ -4129,7 +4215,9 @@ declare abstract class BasicNavi {
4129
4215
  protected readonly appkey: string;
4130
4216
  protected readonly logger: BasicLogger;
4131
4217
  protected readonly statisticLog: BasicStatistic;
4132
- constructor(appkey: string, logger: BasicLogger, statisticLog: BasicStatistic);
4218
+ protected readonly staticConfigManager: BasicStaticConfigManager;
4219
+ private readonly isRequestProfile;
4220
+ constructor(appkey: string, logger: BasicLogger, statisticLog: BasicStatistic, staticConfigManager: BasicStaticConfigManager, isRequestProfile?: boolean);
4133
4221
  /**
4134
4222
  * 当前进行中的导航请求
4135
4223
  */
@@ -4206,12 +4294,29 @@ declare abstract class BasicNavi {
4206
4294
  useV2Navi(): boolean;
4207
4295
  }
4208
4296
 
4297
+ declare class WebsocketStaticConfigManager extends BasicStaticConfigManager {
4298
+ readonly appkey: string;
4299
+ readonly logger: BasicLogger;
4300
+ private runtime;
4301
+ readonly areaCode: AreaCode;
4302
+ constructor(appkey: string, logger: BasicLogger, runtime: IRuntime, areaCode?: AreaCode);
4303
+ private _storageKey;
4304
+ protected getCache(): string | null;
4305
+ protected setCache(data: string): void;
4306
+ protected clearCache(): void;
4307
+ protected sendRequest(url: string): Promise<{
4308
+ code: number;
4309
+ data?: string;
4310
+ }>;
4311
+ protected decryptData(data: string): Promise<IStaticConfig | undefined>;
4312
+ }
4313
+
4209
4314
  /**
4210
4315
  * Websocket 导航工具类
4211
4316
  */
4212
4317
  declare class WebSocketNavi extends BasicNavi {
4213
4318
  private runtime;
4214
- constructor(appkey: string, logger: BasicLogger, statisticLog: BasicStatistic, runtime: IRuntime);
4319
+ constructor(appkey: string, logger: BasicLogger, statisticLog: BasicStatistic, runtime: IRuntime, staticConfigManager: WebsocketStaticConfigManager);
4215
4320
  protected httpRequest(uri: string, appkey: string, token: string, traceId: string, finished: boolean): IPromiseResult<INaviInfo>;
4216
4321
  protected httpRequestV2(uri: string, appkey: string, token: string, traceId: string): IPromiseResult<INaviInfo>;
4217
4322
  protected getNaviCache(formatedToken: string): INaviCache | null;
@@ -4765,7 +4870,7 @@ interface IEngine {
4765
4870
  * 加入已存在的聊天室
4766
4871
  * @param count 拉取消息数量
4767
4872
  */
4768
- joinExistChatroom(chatroomId: string, count: number): Promise<ErrorCode>;
4873
+ joinExistChatroom(chatroomId: string, count: number): Promise<IAsyncRes<IChatroomJoinResponse>>;
4769
4874
  /**
4770
4875
  * 退出聊天室
4771
4876
  */
@@ -5522,6 +5627,18 @@ declare abstract class BasicReporter {
5522
5627
  logger: BasicLogger);
5523
5628
  private timer;
5524
5629
  protected started: boolean;
5630
+ /**
5631
+ * 请求失败次数
5632
+ */
5633
+ private reportFailedNumber;
5634
+ /**
5635
+ * 导航下发的 itv 值
5636
+ */
5637
+ private itvByNavi;
5638
+ /**
5639
+ * 导航下发的 times 值
5640
+ */
5641
+ private timesByNavi;
5525
5642
  /**
5526
5643
  * 根据配置启动实时日志上报,在导航获取完成后启动,导航中包含 userId 信息
5527
5644
  * 实时日志仅获取当前时间 - 10s 以前的日志上报,避免多页面并行写库造成数据遗漏
@@ -5720,12 +5837,6 @@ declare const DelayTimer: {
5720
5837
  getTime: () => number;
5721
5838
  };
5722
5839
 
5723
- declare enum AreaCode {
5724
- BJ = 1,
5725
- SG = 2,
5726
- NA = 3
5727
- }
5728
-
5729
5840
  declare type IMessageListnenr = (message: IReceivedMessage, leftCount?: number, hasMore?: boolean) => void;
5730
5841
  declare type IMessagesListnenr = (messages: IReceivedMessage[], leftCount?: number, hasMore?: boolean) => void;
5731
5842
  declare type IConnectionStatusListener = (status: RCConnectionStatus | ErrorCode | ConnectionStatus) => void;
@@ -6319,7 +6430,7 @@ declare class APIContext {
6319
6430
  * @param roomId 聊天室房间 Id
6320
6431
  * @param count 进入聊天室成功后,自动拉取的历史消息数量,默认值为 `10`,最大有效值为 `50`,`-1` 为不拉取
6321
6432
  */
6322
- joinExistChatroom(roomId: string, count?: number, traceId?: string): Promise<ErrorCode>;
6433
+ joinExistChatroom(roomId: string, count?: number, traceId?: string): Promise<IAsyncRes<IChatroomJoinResponse>>;
6323
6434
  /**
6324
6435
  * 退出聊天室
6325
6436
  * @param roomId
@@ -6422,7 +6533,7 @@ declare class APIContext {
6422
6533
  * 3. 上传结束前调用,此时 `httpMethod` 值应为 `POST`,`queryString` 值为 `uploadId={uploadId}`
6423
6534
  * @returns
6424
6535
  */
6425
- getFileToken(fileType: FileType, fileName?: string, httpMethod?: 'POST' | 'PUT', queryString?: string): Promise<IUploadAuth & {
6536
+ getFileToken(fileType: FileType, fileName?: string, httpMethod?: 'POST' | 'PUT', queryString?: string, url?: string): Promise<IUploadAuth & {
6426
6537
  bos: string;
6427
6538
  qiniu: string;
6428
6539
  ossConfig: string;
@@ -7382,7 +7493,7 @@ declare abstract class AEngine {
7382
7493
  * 加入已存在的聊天室
7383
7494
  * @param count 拉取消息数量
7384
7495
  */
7385
- abstract joinExistChatroom(chatroomId: string, count: number, traceId?: string): Promise<ErrorCode>;
7496
+ abstract joinExistChatroom(chatroomId: string, count: number, traceId?: string): Promise<IAsyncRes<IChatroomJoinResponse>>;
7386
7497
  /**
7387
7498
  * 退出聊天室
7388
7499
  */
@@ -7453,7 +7564,7 @@ declare abstract class AEngine {
7453
7564
  * 3. 上传结束前调用,此时 `httpMethod` 值应为 `POST`,`queryString` 值为 `uploadId={uploadId}`
7454
7565
  * @returns
7455
7566
  */
7456
- abstract getFileToken(fileType: FileType, fileName?: string, httpMethod?: string, queryString?: string): Promise<IAsyncRes<IUploadAuth>>;
7567
+ abstract getFileToken(fileType: FileType, fileName?: string, httpMethod?: string, queryString?: string, url?: string): Promise<IAsyncRes<IUploadAuth>>;
7457
7568
  /**
7458
7569
  * 获取文件的下载地址
7459
7570
  * @param fileType 文件类型
@@ -7900,6 +8011,10 @@ declare class UrlCenter {
7900
8011
  * 获取小程序平台 CMP 地址
7901
8012
  */
7902
8013
  getMiniCmpUrlList(): string[];
8014
+ /**
8015
+ * 获取静态配置地址
8016
+ */
8017
+ getStaticConfigUrl(): string[];
7903
8018
  }
7904
8019
  declare const urlCenter: UrlCenter;
7905
8020
 
@@ -7907,7 +8022,7 @@ declare class AppStorage {
7907
8022
  private _cache;
7908
8023
  private _storageKey;
7909
8024
  private _rootStorage;
7910
- constructor(runtime: IRuntime, suffix?: string);
8025
+ constructor(runtime: IRuntime, key: string);
7911
8026
  _get(): any;
7912
8027
  _set(cache: {
7913
8028
  [id: string]: any;
@@ -8217,6 +8332,15 @@ declare const isValidChrmEntryValue: (value: string) => Boolean;
8217
8332
  */
8218
8333
  declare const getClientMessageId: () => number;
8219
8334
  declare const getbundleId: () => string;
8335
+ /**
8336
+ * AES-CBC 解密
8337
+ * @param data 数据源,base64编码
8338
+ * @param key key
8339
+ * @param iv iv
8340
+ * @returns 源数据
8341
+ */
8342
+ declare const decryptCBC: (data: string, key: string, iv: string) => Promise<string>;
8343
+ declare function fixUrlProtocol(url: string, protocol?: EConnectProtocol): string;
8220
8344
 
8221
8345
  declare function httpRequest(options: IRequest): Promise<IResponse>;
8222
8346
 
@@ -8294,10 +8418,6 @@ declare const MAX_MESSAGE_CONTENT_BYTES: number;
8294
8418
  * IM 加入聊天室后定时拉取消息和 KV 时间间隔
8295
8419
  */
8296
8420
  declare const IM_CHATROOM_PULL_INTERVAL_TIME: number;
8297
- /**
8298
- * storage key 使用的前缀
8299
- */
8300
- declare const STORAGE_ROOT_KEY = "RCV4-";
8301
8421
  /**
8302
8422
  * 消息扩展字段 key 长度限制
8303
8423
  */
@@ -8306,6 +8426,8 @@ declare const MAX_MESSAGE_EXPANSION_KEY_LENGTH = 32;
8306
8426
  * 消息扩展字段 value 长度限制
8307
8427
  */
8308
8428
  declare const MAX_MESSAGE_EXPANSION_VAL_LENGTH: number;
8429
+ declare const STATIC_CONFIG_KEY = "cd4936151214ce45dc1d12673a59d94c";
8430
+ declare const STATIC_CONFIG_IV = "51ad078e5eb17a91";
8309
8431
  declare const SEND_MESSAGE_TYPE_OPTION: {
8310
8432
  [key: string]: {
8311
8433
  isCounted: boolean;
@@ -8339,6 +8461,60 @@ declare const VERSION: string;
8339
8461
  declare const FORMATED_VERSION: string;
8340
8462
  declare const MAX_UPLOAD_FILE_SIZE: number;
8341
8463
  declare const UPLOAD_FILE_CHUNK_SIZE: number;
8464
+ declare const STATIC_CONFIG_CACHE_TIME: number;
8465
+ /**
8466
+ * localStorage 中的 key 值
8467
+ */
8468
+ declare const LOCAL_STORAGE_KEYS: {
8469
+ /**
8470
+ * 导航
8471
+ */
8472
+ NAVI_KEY: (appKey: string) => string;
8473
+ /**
8474
+ * 拉取会话状态的时间戳
8475
+ */
8476
+ CONVER_STATE_PULL_TIME_KEY: (appKey: string, curUserId: string) => string;
8477
+ /**
8478
+ * 会话状态(旧)
8479
+ */
8480
+ OLD_CONVER_STATE_KEY: (appKey: string, curUserId: string) => string;
8481
+ /**
8482
+ * 会话状态
8483
+ */
8484
+ CONVER_STATE_KEY: (appKey: string, curUserId: string) => string;
8485
+ /**
8486
+ * 超级群会话状态
8487
+ */
8488
+ ULTRA_GROUP_STATE_KEY: (appKey: string, curUserId: string) => string;
8489
+ /**
8490
+ * 发件箱时间
8491
+ */
8492
+ OUTBOX_TIME_KEY: (appKey: string, curUserId: string) => string;
8493
+ /**
8494
+ * 收件箱时间
8495
+ */
8496
+ INBOX_TIME_KEY: (appKey: string, curUserId: string) => string;
8497
+ /**
8498
+ * 广播消息收件箱时间
8499
+ */
8500
+ BROADCASTBOX_TIME_KEY: (appKey: string, curUserId: string) => string;
8501
+ /**
8502
+ * 本端发送消息记录:解决刷新页面后再次通知本端发送消息的问题
8503
+ */
8504
+ SEND_MSG_KEY: (appKey: string, curUserId: string) => string;
8505
+ /**
8506
+ * tag 信息拉取时间戳
8507
+ */
8508
+ USER_SETTING_TIME_KEY: (appKey: string, curUserId: string) => string;
8509
+ /**
8510
+ * tag 状态
8511
+ */
8512
+ TAG_STATE_KEY: (appKey: string, curUserId: string) => string;
8513
+ /**
8514
+ * staticConfig 静态配置
8515
+ */
8516
+ STATIC_CONFIG_KEY: (appKey: string) => string;
8517
+ };
8342
8518
 
8343
8519
  /**
8344
8520
  * 请使用 `Codec` 替代 `AbsCodec`
@@ -8352,4 +8528,4 @@ declare type AbsCodec<T> = Codec<T>;
8352
8528
  */
8353
8529
  declare const version: string;
8354
8530
 
8355
- export { AConnectionMgr, AEngine, APIContext, AbsCodec, AppStorage, AreaCode, AssertRules, BasicLogger, BasicNavi, BasicReporter, BasicStatistic, BasicStatisticReporter, CPP_PROTOCAL_MSGTYPE_OPTION, CallLibMsgType, ChatroomEntryType, ChatroomSyncStatusReason, ChatroomUserChangeType, ChrmMemBanType, ChrmMemOperateType, ChrmSyncStatus, Codec, CodecPBMaps, ConnectReason, ConnectType, ConnectionStatus, Content, ConversationType, DB_LOG_FLUSH_FREQUENCY, DB_LOG_MAX_SIZE, DelayTimer, EnableLogL, EnterpriseType, ErrorCode, EventEmitter, FORMATED_VERSION, FileType, HTTP_TIMEOUT, HttpMethod, IAPIContextOption, IAndroidPushConfig, IAsyncRes, IBaseConversationInfo, IBaseStatisticsData, IBlockedMessageInfo, ICancelRoomPKOptions, IChannelAndUserGroupChangeData, IChatRoomEntries, IChatRoomEntry, IChatroomEntries, IChatroomEntry, IChatroomEntryListenerData, IChatroomInfo, IChatroomListener, IChatroomListenerData, IChatroomNotifyBan, IChatroomNotifyBlock, IChatroomNotifyMultiLoginSync, IChatroomRejoinedFailed, IChatroomRejoinedInfo, IChatroomRejoinedSuccessed, IChatroomUser, IChatroomUserChangeInfo, IChrmKVEntries, IChrmKVEntry, IConnectResult, IConnectionListener, IConnectionStatusListener, IConversationIdentifier, IConversationOption, IConversationState, IConversationStateListener, IConversationTag, IConversationTagListener, IDeletedExpansion, IDeliveredUser, IEndRoomPKOptions, IEngine, IEngineWatcher, IEventListener, IExpansionListener, IExpansionListenerData, IExpansionMsgContent, IExtraMethod, IGetMsgOption, IGetUltraGroupListOption, IGooglePushConfig, IGroupMessageDeliverInfo, IGroupMessageDeliverStatus, IGroupMessageDeliveredStatusInfo, IInsertMessage, IInsertMsgOptions, IIsValidExpansion, IJoinRTCRoomData, ILocalReadReceiptInfo, ILocalTagStatus, ILogDB, ILogData, ILogger, IM_CHATROOM_PULL_INTERVAL_TIME, IM_PING_INTERVAL_TIME, IM_PING_MIN_TIMEOUT, IM_PING_TIMEOUT, IM_SIGNAL_TIMEOUT, IMessageDeliver, IMessageDeliveredListener, IMessageListnenr, IMessageReader, IMessageReaderResponse, IMetionedData, INaviCache, INaviContextInfo, INaviInfo, INetwork, IOSInfo, IOperateInfo, IOperateStatusNotify, IOperateSummary, IPluginGenerator, IProcessCache, IProcessInfo, IPromiseResult, IProxy, IPushConfig, IRTCInnerListener, IRTCJoinedInfo, IRTCRoomBindOption, IRTCRoomInfo, IRTCUserData, IRTCUsers, IReadReceiptInfo, IRecallMsgContent, IRecallMsgOptions, IReceivedConversation, IReceivedConversationByTag, IReceivedMessage, IRemoveChatRoomEntries, IRemoveChatRoomEntry, IRemoveChatroomEntries, IRemoveChatroomEntry, IReqRoomPKOptions, IRequest, IResRoomPKOptions, IResponse, IRtcTokenData, IRuntime, ISendExMsgOptions, ISendMsgOptions, IServerConversationStatus, IServerRTCRoomEntry, IServerUserSetting, ISetConversationStatusOptions, IStatistic, IStatisticDB, IStatisticData, IStatisticsCMPData, IStatisticsCSData, IStatisticsDurData, IStatisticsNaviData, IStatisticsNetworkData, IStatisticsRMTPData, IStatisticsWebsocketData, IStorage, ITagInfo, ITagListener, ITagParam, ITagStatus, ITypingInfo, ITypingMessage, ITypingUser, IUltraChannelChangeInfo, IUltraChannelDeleteInfo, IUltraChannelUserKickedInfo, IUltraExMsgOptions, IUltraGroupConversation, IUltraGroupOption, IUltraGroupUnreadInfo, IUltraGroupUnreadMentionedOption, IUltraModifyMsgOptions, IUltraMsgQueryOptions, IUltraUnreadConversation, IUltraUnreadMsg, IUpdateItem, IUpdatedConversation, IUpdatedExpansion, IUploadAuth, IUserGroupChangeData, IUserGroupStatusInfo, IUserProfile, IWatcher, IWebSocket, IiOSPushConfig, IndexDBLogger, IndexDBReporter, IndexDBStatistic, IndexDBStatisticReporter, RTCKeyMaps as InnerRTCKeyMaps, ItypingStateListener, KVString, LiveRole, LiveType, LogContent, LogL, LogLevel, LogSource, LogTagId, LogType, MAX_MESSAGE_CONTENT_BYTES, MAX_MESSAGE_EXPANSION_KEY_LENGTH, MAX_MESSAGE_EXPANSION_VAL_LENGTH, MAX_UPLOAD_FILE_SIZE, MentionedInfoBody, MentionedType, MessageBlockSourceType, MessageBlockType, MessageDirection, MessageType, NAVI_CACHE_DURATION, NAVI_REQ_TIMEOUT, NaviCacheType, NetworkType, NotificationLevel, NotificationStatus, ONE_LOG_SIZE_MAX, OperateStatus, PluginContext, ProtocalType, RCAssertError, RCConnectionStatus, REAT_TIME_LOG_SIZE, RTCApiType, RTCIdentityChangeType, RTCJoinType, RTCMode, RTCPluginContext, ReceivedStatus, SEND_MESSAGE_TYPE_OPTION, STATUS_MESSAGE, STORAGE_ROOT_KEY, SentStatus, StatisticL, StatisticsTag, StatisticsVersion, StoreKeys, TagChangeType, Type, UPLOAD_FILE_CHUNK_SIZE, UltraGroupChannelChangeType, UltraGroupChannelType, UltraMentionedType, UltraMsgChangeType, UltraMsgSubChangeType, UploadMethod, UserGroupChangeType, VERSION, VersionManage, WEB_SOCKET_TIMEOUT, WebSocketNavi, appendUrl, assert, clone, cloneByJSON, deInitLogDB, forEach, getBrowser, getClientMessageId, getMimeKey, getUUID, getUUID22, getUploadFileName, getbundleId, httpRequest, indexOf, initLogDB, initStatisticDB, isArray, isArrayBuffer, isBoolean, isConnnectAckCode as isConnnectAck, isDisconnectCode as isDisconnectedByServer, isFunction, isHttpUrl, isInObject, isInclude, isNull, isNumber, isObject, isString, isTypeInConversationList, isUndefined, isValidChannelId, isValidChrmEntryKey, isValidChrmEntryValue, isValidConversationType, isValidExpansion, isValidFileType, isValidNotificationLevel, base as logger, map, notEmptyArray, notEmptyObject, notEmptyString, pushConfigsToJSON, pushJSONToConfigs, statisticTranscsv, todo, transcsv, unInitStatisticDB, urlCenter, usingCppEngine, validate, version };
8531
+ export { AConnectionMgr, AEngine, APIContext, AbsCodec, AppStorage, AreaCode, AssertRules, BasicLogger, BasicNavi, BasicReporter, BasicStaticConfigManager, BasicStatistic, BasicStatisticReporter, CPP_PROTOCAL_MSGTYPE_OPTION, CallLibMsgType, ChatroomEntryType, ChatroomSyncStatusReason, ChatroomUserChangeType, ChrmMemBanType, ChrmMemOperateType, ChrmSyncStatus, Codec, CodecPBMaps, ConnectReason, ConnectType, ConnectionStatus, Content, ConversationType, DB_LOG_FLUSH_FREQUENCY, DB_LOG_MAX_SIZE, DelayTimer, EConnectProtocol, EnableLogL, EnterpriseType, ErrorCode, EventEmitter, FORMATED_VERSION, FileType, HTTP_TIMEOUT, HttpMethod, IAPIContextOption, IAndroidPushConfig, IAsyncRes, IBaseConversationInfo, IBaseStatisticsData, IBlockedMessageInfo, ICancelRoomPKOptions, IChannelAndUserGroupChangeData, IChatRoomEntries, IChatRoomEntry, IChatroomEntries, IChatroomEntry, IChatroomEntryListenerData, IChatroomInfo, IChatroomJoinResponse, IChatroomListener, IChatroomListenerData, IChatroomNotifyBan, IChatroomNotifyBlock, IChatroomNotifyMultiLoginSync, IChatroomRejoinedFailed, IChatroomRejoinedInfo, IChatroomRejoinedSuccessed, IChatroomUser, IChatroomUserChangeInfo, IChrmKVEntries, IChrmKVEntry, IConnectResult, IConnectionListener, IConnectionStatusListener, IConversationIdentifier, IConversationOption, IConversationState, IConversationStateListener, IConversationTag, IConversationTagListener, IDeletedExpansion, IDeliveredUser, IDownloadAuth, IEndRoomPKOptions, IEngine, IEngineWatcher, IEventListener, IExpansionListener, IExpansionListenerData, IExpansionMsgContent, IExtraMethod, IGetMsgOption, IGetUltraGroupListOption, IGooglePushConfig, IGroupMessageDeliverInfo, IGroupMessageDeliverStatus, IGroupMessageDeliveredStatusInfo, IInsertMessage, IInsertMsgOptions, IIsValidExpansion, IJoinRTCRoomData, ILocalReadReceiptInfo, ILocalTagStatus, ILogDB, ILogData, ILogger, IM_CHATROOM_PULL_INTERVAL_TIME, IM_PING_INTERVAL_TIME, IM_PING_MIN_TIMEOUT, IM_PING_TIMEOUT, IM_SIGNAL_TIMEOUT, IMessageDeliver, IMessageDeliveredListener, IMessageListnenr, IMessageReader, IMessageReaderResponse, IMetionedData, INaviCache, INaviContextInfo, INaviInfo, INetwork, IOSInfo, IOperateInfo, IOperateStatusNotify, IOperateSummary, IPluginGenerator, IProcessCache, IProcessInfo, IPromiseResult, IProxy, IPushConfig, IRTCInnerListener, IRTCJoinedInfo, IRTCRoomBindOption, IRTCRoomInfo, IRTCUserData, IRTCUsers, IReadReceiptInfo, IRecallMsgContent, IRecallMsgOptions, IReceivedConversation, IReceivedConversationByTag, IReceivedMessage, IRemoveChatRoomEntries, IRemoveChatRoomEntry, IRemoveChatroomEntries, IRemoveChatroomEntry, IReqRoomPKOptions, IRequest, IResRoomPKOptions, IResponse, IRtcTokenData, IRuntime, ISendExMsgOptions, ISendMsgOptions, IServerConversationStatus, IServerRTCRoomEntry, IServerUserSetting, ISetConversationStatusOptions, IStaticConfig, IStatistic, IStatisticDB, IStatisticData, IStatisticsCMPData, IStatisticsCSData, IStatisticsDurData, IStatisticsNaviData, IStatisticsNetworkData, IStatisticsRMTPData, IStatisticsWebsocketData, IStorage, ITagInfo, ITagListener, ITagParam, ITagStatus, ITypingInfo, ITypingMessage, ITypingUser, IUltraChannelChangeInfo, IUltraChannelDeleteInfo, IUltraChannelUserKickedInfo, IUltraExMsgOptions, IUltraGroupConversation, IUltraGroupOption, IUltraGroupUnreadInfo, IUltraGroupUnreadMentionedOption, IUltraModifyMsgOptions, IUltraMsgQueryOptions, IUltraUnreadConversation, IUltraUnreadMsg, IUpdateItem, IUpdatedConversation, IUpdatedExpansion, IUploadAuth, IUserGroupChangeData, IUserGroupStatusInfo, IUserProfile, IWatcher, IWebSocket, IiOSPushConfig, IndexDBLogger, IndexDBReporter, IndexDBStatistic, IndexDBStatisticReporter, RTCKeyMaps as InnerRTCKeyMaps, ItypingStateListener, KVString, LOCAL_STORAGE_KEYS, LiveRole, LiveType, LogContent, LogL, LogLevel, LogSource, LogTagId, LogType, MAX_MESSAGE_CONTENT_BYTES, MAX_MESSAGE_EXPANSION_KEY_LENGTH, MAX_MESSAGE_EXPANSION_VAL_LENGTH, MAX_UPLOAD_FILE_SIZE, MentionedInfoBody, MentionedType, MessageBlockSourceType, MessageBlockType, MessageDirection, MessageType, NAVI_CACHE_DURATION, NAVI_REQ_TIMEOUT, NaviCacheType, NetworkType, NotificationLevel, NotificationStatus, ONE_LOG_SIZE_MAX, OperateStatus, PluginContext, ProtocalType, RCAssertError, RCConnectionStatus, REAT_TIME_LOG_SIZE, RTCApiType, RTCIdentityChangeType, RTCJoinType, RTCMode, RTCPluginContext, ReceivedStatus, SEND_MESSAGE_TYPE_OPTION, STATIC_CONFIG_CACHE_TIME, STATIC_CONFIG_IV, STATIC_CONFIG_KEY, STATUS_MESSAGE, SentStatus, StatisticL, StatisticsTag, StatisticsVersion, StoreKeys, TagChangeType, Type, UPLOAD_FILE_CHUNK_SIZE, UltraGroupChannelChangeType, UltraGroupChannelType, UltraMentionedType, UltraMsgChangeType, UltraMsgSubChangeType, UploadMethod, UserGroupChangeType, VERSION, VersionManage, WEB_SOCKET_TIMEOUT, WebSocketNavi, appendUrl, assert, clone, cloneByJSON, deInitLogDB, decryptCBC, fixUrlProtocol, forEach, getBrowser, getClientMessageId, getMimeKey, getUUID, getUUID22, getUploadFileName, getbundleId, httpRequest, indexOf, initLogDB, initStatisticDB, isArray, isArrayBuffer, isBoolean, isConnnectAckCode as isConnnectAck, isDisconnectCode as isDisconnectedByServer, isFunction, isHttpUrl, isInObject, isInclude, isNull, isNumber, isObject, isString, isTypeInConversationList, isUndefined, isValidChannelId, isValidChrmEntryKey, isValidChrmEntryValue, isValidConversationType, isValidExpansion, isValidFileType, isValidNotificationLevel, base as logger, map, notEmptyArray, notEmptyObject, notEmptyString, pushConfigsToJSON, pushJSONToConfigs, statisticTranscsv, todo, transcsv, unInitStatisticDB, urlCenter, usingCppEngine, validate, version };