@rongcloud/engine 5.5.8-beem-alpha.4 → 5.5.8-beem

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.
package/index.d.ts CHANGED
@@ -251,222 +251,110 @@ declare class RongStreamWriter {
251
251
  }
252
252
 
253
253
  /**
254
- * LogLevel 等级定义,与大数据服务器日志等级保持一致
255
- */
256
- declare enum LogL {
257
- /**
258
- * IM 质量数据日志,控制台不打印
259
- */
260
- STATISTICS = -2,
261
- /**
262
- * 未明确使用场景,暂未使用,控制台不打印
263
- * TODO:
264
- * 暂未明确使用场景,实时日志系统上报?
265
- * 需要明确下为什么会有 -1,以及与 -2 的区别,并在注释中补充
266
- */
267
- RECORD = -1,
268
- /**
269
- * 未明确使用场景,暂未使用,控制台不打印
270
- */
271
- FATAL = 0,
272
- /**
273
- * ERROR 级
274
- */
275
- ERROR = 1,
276
- /**
277
- * WARN 级
278
- */
279
- WARN = 2,
280
- /**
281
- * INFO 级
282
- */
283
- INFO = 3,
284
- /**
285
- * DEBUG 级
286
- */
287
- DEBUG = 4
254
+ * @description
255
+ * 读数据处理基类
256
+ */
257
+ declare class BaseReader {
258
+ readonly header: Header;
259
+ messageId: number;
260
+ timestamp: number;
261
+ syncMsg: boolean;
262
+ protected identifier: string;
263
+ constructor(header: Header);
264
+ getIdentifier(): string | number;
265
+ read(stream: RongStreamReader, length: number, protocolVer: ConnAckProtocolVer): void;
266
+ readMessage(stream: RongStreamReader, length?: number, protocolVer?: ConnAckProtocolVer): {
267
+ stream: RongStreamReader;
268
+ length: number | undefined;
269
+ };
288
270
  }
289
271
  /**
290
- * 有效的日志等级声明
291
- */
292
- declare type EnableLogL = LogL.DEBUG | LogL.INFO | LogL.WARN | LogL.ERROR;
293
-
294
- declare type LogContent = string | number | boolean | null;
295
- declare type LogType = 'IM' | 'RTC';
296
- /**
297
- * 对外暴露的 Logger 工具接口定义,以隐藏 BasicLogger 其他实现
272
+ * @description
273
+ * 写数据处理基类
298
274
  */
299
- interface ILogger {
300
- debug(tag: string, content?: LogContent, traceId?: string): void;
301
- info(tag: string, content?: LogContent, traceId?: string): void;
302
- warn(tag: string, content?: LogContent, traceId?: string): void;
303
- error(tag: string, content?: LogContent, traceId?: string): void;
304
- /**
305
- * 设置日志打印等级,默认为 `LogL.WARN`
306
- * @param level
307
- */
308
- setOutputLevel(level?: EnableLogL): void;
309
- /**
310
- * 创建事务追踪 ID,全局唯一,便于跨进程、异步事务追踪,需要考虑多进程
311
- */
312
- createTraceId(): string;
313
- }
314
-
315
- interface ILogData {
316
- /**
317
- * 日志原始内容
318
- */
319
- content?: LogContent;
320
- /**
321
- * 日志标签,如 `L-INIT-O`
322
- */
323
- tag: string;
324
- /**
325
- * logger 实例 Id,用于确定日志由谁埋点,如 `RCEngien` 为 engine 包埋点日志
326
- */
327
- loggerId: string;
328
- /**
329
- * 日志生成时间
330
- */
331
- time: number;
332
- /**
333
- * 应用的声明周期 sessionId
334
- * @description
335
- * Electron 环境下,以主进程 sessionId 入库,渲染进程 sessionId 存储于 content 内。
336
- * 日志上报时,通过 `${mainSessionId}:${renderSessionId}` 形式作为 sessionId 上报
337
- * @TODO 需确认服务是否允许 `${mainSessionId}:${renderSessionId}` 的方式,以及 sessionId 是否超出长度。
338
- */
339
- sessionId: string;
340
- /**
341
- * 日志类型,仅用于大数据后台查阅统计
342
- */
343
- type: 'IM' | 'RTC';
344
- /**
345
- * 日志等级,该等级与服务器统计等级保持一致,为入库等级
346
- */
347
- level: LogL;
348
- /**
349
- * 事务跟踪 ID
350
- */
351
- traceId?: string;
275
+ declare abstract class BaseWriter {
276
+ private _header;
277
+ lengthSize: number;
278
+ data: any;
279
+ messageId: number;
280
+ topic: string;
281
+ targetId: string;
282
+ identifier: string;
283
+ constructor(headerType: OperationType);
284
+ getIdentifier(): string | number;
285
+ write(stream: RongStreamWriter): void;
286
+ abstract writeMessage(stream: RongStreamWriter): void;
287
+ setHeaderQos(qos: number): void;
288
+ getHeaderFlag(): number;
289
+ getLengthSize(): number;
290
+ getBufferData(): Int8Array;
352
291
  }
353
- /**
354
- * 日志数据库接口
355
- */
356
- interface ILogDB {
357
- /**
358
- * 获取实时日志上报的时间戳记录
359
- */
360
- getTimestamp4RealtimeLog(userId: string): Promise<number>;
361
- /**
362
- * 设置实时日志上报的时间戳记录
363
- * @param userId 当前用户 ID
364
- * @param timestamp
365
- */
366
- setTimestamp4RealtimeLog(userId: string, timestamp: number): Promise<void>;
367
- /**
368
- * 根据时间戳和日志等级获取全量日志
369
- * @param startTime
370
- * @param endTime
371
- * @param level
372
- * @param includeStatistics 是否包含质量统计日志
373
- */
374
- getLogs(startTime: number, endTime: number, level: LogL, includeStatistics: boolean): Promise<{
375
- logs: ILogData[];
376
- dbReady: boolean;
377
- }>;
292
+ declare class RetryableReader extends BaseReader {
293
+ messageId: number;
294
+ readMessage(stream: RongStreamReader, length: number): {
295
+ stream: RongStreamReader;
296
+ length: number;
297
+ };
378
298
  }
379
-
380
- /**
381
- * Logger 抽象基类,定义日志采集接口与进程内打印,
382
- * 由子类继承实现入库逻辑
383
- */
384
- declare abstract class BasicLogger implements ILogger {
385
- protected readonly _appkey: string;
386
- protected readonly _id: string;
387
- protected readonly _type: LogType;
388
- constructor(_appkey: string, _id: string, _type: LogType);
389
- private _stdout;
390
- /**
391
- * 用户的打印日志等级配置
392
- */
393
- private outputLevel;
394
- setOutputLevel(level?: EnableLogL): void;
395
- /**
396
- * 由子类继承实现日志入库
397
- * @override
398
- */
399
- protected abstract flush(data: ILogData): void;
400
- private _log;
401
- debug: (tag: string, content?: LogContent | undefined, traceId?: string | undefined) => void;
402
- info: (tag: string, content?: LogContent | undefined, traceId?: string | undefined) => void;
403
- warn: (tag: string, content?: LogContent | undefined, traceId?: string | undefined) => void;
404
- error: (tag: string, content?: LogContent | undefined, traceId?: string | undefined) => void;
405
- /**
406
- * 内部质量数据统计接口,仅限 IMLib 与 RTCLib 内部使用
407
- */
408
- __statistics: (tag: string, content?: LogContent | undefined, traceId?: string | undefined) => void;
409
- /**
410
- * 创建事务追踪 ID,全局唯一,便于跨进程、异步事务追踪,需要考虑多进程
411
- */
412
- createTraceId(): string;
413
- /**
414
- * 获取当前进程的 sessionId,全局唯一
415
- * @returns
416
- */
417
- getSessionId(): string;
299
+ declare class RetryableWriter extends BaseWriter {
300
+ writeMessage(stream: RongStreamWriter): void;
418
301
  }
419
-
420
- /**
421
- * 实现基于 IndexDB 存储的日志类
422
- */
423
- declare class IndexDBLogger extends BasicLogger {
424
- protected flush(data: ILogData): void;
302
+ declare class PublishReader extends RetryableReader {
303
+ topic: string;
304
+ data: any;
305
+ targetId: string;
306
+ date: any;
307
+ syncMsg: boolean;
308
+ identifier: string;
309
+ readMessage(stream: RongStreamReader, length: number): {
310
+ stream: RongStreamReader;
311
+ length: number;
312
+ };
425
313
  }
426
-
427
314
  /**
428
- * 消息被拦截类型
429
- * @category Enum
315
+ * @description
316
+ * 发消息使用
430
317
  */
431
- declare enum MessageBlockType {
432
- /**
433
- 全局敏感词:命中了融云内置的全局敏感词
434
- */
435
- GLOBAL = 1,
436
- /**
437
- 自定义敏感词拦截:命中了客户在融云自定义的敏感词
438
- */
439
- CUSTOM = 2,
440
- /**
441
- 第三方审核拦截:命中了第三方(数美)或模板路由决定不下发的状态
442
- */
443
- THIRD_PARTY = 3
318
+ declare class PublishWriter extends RetryableWriter {
319
+ topic: string;
320
+ data: any;
321
+ targetId: string;
322
+ date: any;
323
+ syncMsg: boolean;
324
+ identifier: string;
325
+ constructor(topic: string, data: any, targetId: string);
326
+ writeMessage(stream: RongStreamWriter): void;
444
327
  }
445
328
  /**
446
- * 消息被拦截源触发类型
329
+ * @description
330
+ * 发消息, Server 给的 Ack 回执
447
331
  */
448
- declare enum MessageBlockSourceType {
449
- /** 原始消息 */
450
- MSG_ORIGINAL = 0,
451
- /** 消息扩展 */
452
- MSG_EXPANSION = 1,
453
- /** 消息修改 */
454
- MSG_MODIFY = 2
332
+ declare class PubAckReader extends RetryableReader {
333
+ status: number;
334
+ date: number;
335
+ data: any;
336
+ millisecond: number;
337
+ messageUId: string;
338
+ timestamp: number;
339
+ identifier: string;
340
+ topic: string;
341
+ targetId: string;
342
+ readMessage(stream: RongStreamReader, length: number): {
343
+ stream: RongStreamReader;
344
+ length: number;
345
+ };
455
346
  }
456
-
457
347
  /**
458
- * 消息方向
459
- * @category Enum
348
+ * @description
349
+ * Web 主动查询
460
350
  */
461
- declare enum MessageDirection {
462
- /**
463
- * 己方发送消息
464
- */
465
- SEND = 1,
466
- /**
467
- * 己方接收消息
468
- */
469
- RECEIVE = 2
351
+ declare class QueryWriter extends RetryableWriter {
352
+ topic: string;
353
+ data: any;
354
+ targetId: string;
355
+ identifier: string;
356
+ constructor(topic: string, data: any, targetId: string);
357
+ writeMessage(stream: RongStreamWriter): void;
470
358
  }
471
359
 
472
360
  /**
@@ -507,6 +395,21 @@ declare enum FileType {
507
395
  COMBINE_HTML = 6
508
396
  }
509
397
 
398
+ /**
399
+ * 消息方向
400
+ * @category Enum
401
+ */
402
+ declare enum MessageDirection {
403
+ /**
404
+ * 己方发送消息
405
+ */
406
+ SEND = 1,
407
+ /**
408
+ * 己方接收消息
409
+ */
410
+ RECEIVE = 2
411
+ }
412
+
510
413
  /**
511
414
  * IM 错误码范围段
512
415
  * 2 开头为 IM Server 返回错误码
@@ -1481,7 +1384,6 @@ declare enum ChatroomEntryType {
1481
1384
  }
1482
1385
 
1483
1386
  /**
1484
- * @deprecated
1485
1387
  * 日志级别
1486
1388
  * @category Enum
1487
1389
  */
@@ -1495,15 +1397,13 @@ declare enum LogLevel {
1495
1397
  STATISTICS = 6,
1496
1398
  NONE = 1000
1497
1399
  }
1498
- /**
1499
- * @deprecated
1500
- */
1501
1400
  declare enum LogSource {
1502
1401
  IM = "IM",
1503
1402
  RTC = "RTC"
1504
1403
  }
1505
1404
  /**
1506
1405
  * IMLib 埋点日志 Id 枚举
1406
+ * @desc 参考文档-https://rongcloud.yuque.com/tbvylv/znhprz/dpt9wf#fE9u
1507
1407
  */
1508
1408
  declare enum LogTagId {
1509
1409
  L_IMSDK_VER_O = "L-imsdk_ver-O",
@@ -1512,6 +1412,7 @@ declare enum LogTagId {
1512
1412
  L_INIT_O = "L-init-O",
1513
1413
  A_DESTROY_O = "A_DESTROY_O",
1514
1414
  L_DESTROY_O = "L_DESTROY_O",
1415
+ P_INIT_O = "P-init-O",
1515
1416
  A_CONNECT_T = "A-connect-T",
1516
1417
  A_CONNECT_R = "A-connect-R",
1517
1418
  A_CONNECT_S = "A-connect-S",
@@ -1521,24 +1422,14 @@ declare enum LogTagId {
1521
1422
  L_CONNECT_T = "L-connect-T",
1522
1423
  L_CONNECT_R = "L-connect-R",
1523
1424
  L_CONNECT_S = "L-connect-S",
1425
+ P_CONNECT_O = "P-connect-O",
1426
+ P_CONNECT_S = "P-connect-S",
1524
1427
  L_NOTIFY_ULTRA_ONLINE_S = "L-notify-ultra-online-S",
1525
1428
  L_ULTRA_SYNC_DONE_S = "L-ultra-sync-done-S",
1526
- L_BATCH_MESSAGE_O = "L-BATCH_MESSAGE-O",
1527
- /** 业务层 APIContext onmessage 回调报错 */
1528
- A_MSG_LISTENER_E = "A-MSG_LISTENER-E",
1529
- /**
1530
- * @deprecated
1531
- * 用于保留迁移前的日志,后续删除
1532
- */
1533
- O = "L-original-O",
1534
- /** 插件安装 */
1535
- L_INSTALL_PLUGIN_T = "L-INSTALL_PLUGIN-T",
1536
- /** 插件安装结果 */
1537
- L_INSTALL_PLUGIN_R = "L-INSTALL_PLUGIN-R",
1538
- /** navi 配置错误 */
1539
- L_NAVI_CONF_E = "L-NAVI_CONF_ERROR-E",
1540
1429
  A_SEND_MSG_T = "A-send_msg-T",
1541
1430
  A_SEND_MSG_R = "A-send_msg-R",
1431
+ P_SEND_MSG_T = "P-send_msg-T",
1432
+ P_SEND_MSG_R = "P-send_msg-R",
1542
1433
  L_SEND_MSG_T = "L-send_msg-T",
1543
1434
  L_SEND_MSG_R = "L-send_msg-R",
1544
1435
  L_PULL_MSG_T = "L-pull_msg-T",
@@ -1558,6 +1449,7 @@ declare enum LogTagId {
1558
1449
  L_PULL_CONVERSATION_S = "L-pull_conversation-S",
1559
1450
  L_RECALL_ULTRA_MSG_S = "L-recall_ultra_msg-S",
1560
1451
  A_REGTYP_O = "A-regtyp-O",
1452
+ P_REGTYP_O = "P-regtype-O",
1561
1453
  P_REGTYP_E = "P-regtype-E",
1562
1454
  L_GET_NAVI_T = "L-get_navi-T",
1563
1455
  L_GET_NAVI_R = "L-get_navi-R",
@@ -1595,26 +1487,7 @@ declare enum LogTagId {
1595
1487
  L_NOTIFY_NAVI_CHANGE_E = "L-notify_navi_change-E",
1596
1488
  L_REPORT_FULL_LOG_O = "L-report_full_log-O",
1597
1489
  L_REPORT_FULL_LOG_T = "L-report_full_log-T",
1598
- L_REPORT_FULL_LOG_R = "L-report_full_log-R",
1599
- /** 解析 navi logPolicy 报错 */
1600
- L_REPORT_LOG_POLICY_E = "L-parse_navi_logpolicy-E",
1601
- /** 运行时环境不支持 IndexDB */
1602
- L_UNSUPPORT_INDEXDB_O = "L-unsupport_IndexDB-O",
1603
- L_LOGDB_OPEN_FAILED_E = "L-logDB_open_failed-E",
1604
- L_LOGDB_CLOSED_S = "L-logDB_closed-S",
1605
- L_LOGDB_ERROR_E = "L-logDB_error-S",
1606
- L_LOGDB_ABORT_S = "L-logDB_abort-S",
1607
- /** 实时日志上报 */
1608
- L_REALTIME_LOG_R = "L_REALTIME_LOG_R",
1609
- /** 实时日志上报结果 */
1610
- L_REALTIME_LOG_T = "L_REALTIME_LOG_T",
1611
- L_UNKNOWN_TOPIC_E = "L_UNKNOWN_TOPIC_E",
1612
- L_RECV_RMTP_O = "L_RECV_RMTP_O",
1613
- L_RECV_RMTP_E = "L_RECV_RMTP_E",
1614
- /** 版本号上报 */
1615
- L_VER_REPORT_T = "L-VER_REPORT-T",
1616
- /** 版本号上报结果 */
1617
- L_VER_REPORT_R = "L-VER_REPORT-R"
1490
+ L_REPORT_FULL_LOG_R = "L-report_full_log-R"
1618
1491
  }
1619
1492
 
1620
1493
  /**
@@ -1626,15 +1499,34 @@ declare enum ChatroomUserChangeType {
1626
1499
  JOIN = 1
1627
1500
  }
1628
1501
 
1629
- declare enum StoreKeys {
1502
+ /**
1503
+ * 消息被拦截类型
1504
+ * @category Enum
1505
+ */
1506
+ declare enum MessageBlockType {
1630
1507
  /**
1631
- * Navi 数据缓存,暂未使用
1632
- */
1633
- NAVI = "rc-navi",
1508
+ 全局敏感词:命中了融云内置的全局敏感词
1509
+ */
1510
+ GLOBAL = 1,
1634
1511
  /**
1635
- * 实时日志已上报的时间戳
1636
- */
1637
- REALTIME_LOG_TIMESTAMP = "rc-realtime-log-timestamp"
1512
+ 自定义敏感词拦截:命中了客户在融云自定义的敏感词
1513
+ */
1514
+ CUSTOM = 2,
1515
+ /**
1516
+ 第三方审核拦截:命中了第三方(数美)或模板路由决定不下发的状态
1517
+ */
1518
+ THIRD_PARTY = 3
1519
+ }
1520
+ /**
1521
+ * 消息被拦截源触发类型
1522
+ */
1523
+ declare enum MessageBlockSourceType {
1524
+ /** 原始消息 */
1525
+ MSG_ORIGINAL = 0,
1526
+ /** 消息扩展 */
1527
+ MSG_EXPANSION = 1,
1528
+ /** 消息修改 */
1529
+ MSG_MODIFY = 2
1638
1530
  }
1639
1531
 
1640
1532
  declare enum UltraGroupChannelType {
@@ -1758,20 +1650,116 @@ declare enum RTCJoinType {
1758
1650
  }
1759
1651
 
1760
1652
  /**
1653
+ * 会话属性
1761
1654
  * @category Interface
1762
1655
  */
1763
- interface IGooglePushConfig {
1764
- /**
1765
- * 分组ID
1766
- */
1767
- collapseKey?: string;
1768
- /**
1769
- *
1770
- */
1771
- imageUrl?: string;
1772
- /**
1773
- *优先级
1774
- */
1656
+ interface IConversationOption {
1657
+ conversationType: ConversationType;
1658
+ targetId: string;
1659
+ channelId?: string;
1660
+ }
1661
+ interface IServerRTCRoomEntry {
1662
+ key: string;
1663
+ value: string;
1664
+ status: number;
1665
+ timestamp: number;
1666
+ uid: string;
1667
+ }
1668
+ interface IChrmKVEntry {
1669
+ key: string;
1670
+ value?: string;
1671
+ isSendNotification?: boolean;
1672
+ notificationExtra?: string;
1673
+ isOverwrite?: boolean;
1674
+ isAutoDelete?: boolean;
1675
+ timestamp?: number;
1676
+ userId?: string;
1677
+ type?: number;
1678
+ isDeleted?: boolean;
1679
+ version?: number;
1680
+ }
1681
+ interface IChrmKVEntries {
1682
+ entries: {
1683
+ key: string;
1684
+ value?: string;
1685
+ timestamp?: number;
1686
+ version?: number;
1687
+ }[];
1688
+ notificationExtra?: string;
1689
+ isOverwrite?: boolean;
1690
+ isAutoDelete?: boolean;
1691
+ timestamp?: number;
1692
+ userId?: string;
1693
+ type?: number;
1694
+ isDeleted?: boolean;
1695
+ }
1696
+ interface IChrmKVPullData {
1697
+ kvEntries: IChrmKVEntry[];
1698
+ isFullUpdate?: boolean;
1699
+ syncTime?: number;
1700
+ }
1701
+ interface IServerConversationStatus {
1702
+ conversationType: number;
1703
+ targetId: string;
1704
+ updatedTime?: number;
1705
+ notificationStatus?: number;
1706
+ notificationLevel?: number;
1707
+ isTop?: boolean;
1708
+ type?: number;
1709
+ tags?: IConversationTag[];
1710
+ channelId?: string;
1711
+ }
1712
+ interface IUserSettingItem {
1713
+ targetId: number;
1714
+ type: number;
1715
+ key: string;
1716
+ value: any;
1717
+ version: number;
1718
+ status: number;
1719
+ tags: IConversationTag[];
1720
+ }
1721
+ interface IServerUserSetting {
1722
+ settings: {
1723
+ [key: string]: IUserSettingItem;
1724
+ };
1725
+ version: number;
1726
+ }
1727
+ interface ISyncMsgArgs {
1728
+ inboxTime: number;
1729
+ sendboxTime: number;
1730
+ broadcastSyncTime?: number;
1731
+ }
1732
+ interface IGetMsgOption {
1733
+ timestamp?: number;
1734
+ count?: number;
1735
+ order?: number;
1736
+ channelId?: string;
1737
+ }
1738
+ interface IGetConversationListOption {
1739
+ type?: number;
1740
+ count?: number;
1741
+ startTime?: number;
1742
+ order?: 0 | 1;
1743
+ }
1744
+ interface IClearMsgOption {
1745
+ timestamp?: number;
1746
+ }
1747
+
1748
+ /**
1749
+ * @category Interface
1750
+ */
1751
+ interface IGooglePushConfig {
1752
+ /**
1753
+ * 分组ID
1754
+ */
1755
+ collapseKey?: string;
1756
+ /**
1757
+ *
1758
+ */
1759
+ imageUrl?: string;
1760
+ /**
1761
+ *优先级
1762
+ */
1775
1763
  priority?: 'high' | 'normal';
1776
1764
  }
1777
1765
  /**
@@ -2417,6 +2405,189 @@ interface IUltraUnreadMsg {
2417
2405
  mentionedType?: number;
2418
2406
  }
2419
2407
 
2408
+ /**
2409
+ * TODO: 确定对外暴露的必要性
2410
+ * @deprecated
2411
+ */
2412
+ declare const DelayTimer: {
2413
+ _delayTime: number;
2414
+ /**
2415
+ * 方法并未引用,getTimer 实际返回值始终为 Date.now()
2416
+ * @deprecated
2417
+ */
2418
+ setTime: (time: number) => void;
2419
+ getTime: () => number;
2420
+ };
2421
+
2422
+ declare enum HttpMethod {
2423
+ GET = "GET",
2424
+ POST = "POST"
2425
+ }
2426
+ interface IRequest {
2427
+ url: string;
2428
+ /**
2429
+ * @default `HttpMethod.GET`
2430
+ */
2431
+ method?: HttpMethod | 'GET' | 'POST';
2432
+ /**
2433
+ * 查询数据
2434
+ */
2435
+ query?: {
2436
+ [key: string]: string | number | null;
2437
+ };
2438
+ /**
2439
+ * Request Header 信息
2440
+ */
2441
+ headers?: {
2442
+ [key: string]: string;
2443
+ };
2444
+ /**
2445
+ * Request Body 数据
2446
+ */
2447
+ body?: Object | string;
2448
+ /**
2449
+ * 超时设置,默认 `60s`
2450
+ */
2451
+ timeout?: number;
2452
+ /**
2453
+ * 【Alipay-Only】
2454
+ * 期望返回的数据格式,如果为 json 则返回后会对返回的数据进行一次 JSON.parse
2455
+ */
2456
+ dataType?: 'json' | 'text' | 'base64' | 'arraybuffer';
2457
+ }
2458
+ interface IStorage {
2459
+ setItem(key: string, value: string): void;
2460
+ getItem(key: string): string | null;
2461
+ removeItem(key: string): void;
2462
+ clear(): void;
2463
+ }
2464
+ interface IResponse {
2465
+ status: number;
2466
+ data?: string;
2467
+ }
2468
+ /**
2469
+ * 网络状态枚举
2470
+ */
2471
+ declare enum NetworkType {
2472
+ WIFI = "wifi",
2473
+ FOUR_G = "4g",
2474
+ THREE_G = "3g",
2475
+ TWO_G = "2g",
2476
+ FIVE_G = "2g",
2477
+ THREE_GENT = "3gnet",
2478
+ UNKONWN = "unknown"
2479
+ }
2480
+ interface IWebSocket {
2481
+ /**
2482
+ * 监听连接建立事件,此时 WebSocket 实例已准备好收发数据
2483
+ * @param callback
2484
+ */
2485
+ onOpen(callback: () => void): void;
2486
+ /**
2487
+ * 监听连接关闭事件
2488
+ * @param callback
2489
+ */
2490
+ onClose(callback: (code?: number, reason?: string) => void): void;
2491
+ /**
2492
+ * 监听接收服务器消息事件
2493
+ * @param callback
2494
+ */
2495
+ onMessage(callback: (data: string | ArrayBuffer) => void): void;
2496
+ /**
2497
+ * 监听链接错误事件
2498
+ * @param callback
2499
+ */
2500
+ onError(callback: (error: unknown) => void): void;
2501
+ /**
2502
+ * 向服务器发送数据
2503
+ * @param data
2504
+ */
2505
+ send(data: ArrayBuffer | string): void;
2506
+ /**
2507
+ * 关闭连接
2508
+ * @param code
2509
+ * @param reason
2510
+ */
2511
+ close(code?: number, reason?: string): void;
2512
+ }
2513
+ /**
2514
+ * 平台运行时抽象
2515
+ */
2516
+ interface IRuntime {
2517
+ /**
2518
+ * 平台标识
2519
+ */
2520
+ tag: string;
2521
+ /**
2522
+ * 发送 http 请求
2523
+ * @param options
2524
+ */
2525
+ httpReq(options: IRequest): Promise<IResponse>;
2526
+ /**
2527
+ * 是否使用导航
2528
+ */
2529
+ useNavi: boolean;
2530
+ /**
2531
+ * websocket 地址上附加的平台字段
2532
+ */
2533
+ connectPlatform: string;
2534
+ /**
2535
+ * websocket 地址上 apiVer 字段,代表代码是否来源于 uniapp
2536
+ */
2537
+ isFromUniapp: boolean;
2538
+ /**
2539
+ * 创建长连接实例
2540
+ */
2541
+ createWebSocket?(url: string, protocols?: string[]): IWebSocket;
2542
+ /**
2543
+ * 存储模块
2544
+ */
2545
+ localStorage: IStorage;
2546
+ /**
2547
+ * 在某些非浏览器平台,其等同于 localStorage
2548
+ */
2549
+ sessionStorage: IStorage;
2550
+ /**
2551
+ * 获取网络状态
2552
+ * 2g 3g 4g wifi unkown
2553
+ */
2554
+ getNetworkType(): Promise<NetworkType>;
2555
+ }
2556
+
2557
+ /**
2558
+ * @category Interface
2559
+ */
2560
+ interface IAsyncRes<T = void> {
2561
+ /**
2562
+ * Promise 执行结果
2563
+ */
2564
+ code: ErrorCode;
2565
+ /**
2566
+ * 结果数据
2567
+ */
2568
+ data?: T;
2569
+ /**
2570
+ * 错误消息
2571
+ */
2572
+ msg?: string;
2573
+ }
2574
+ /**
2575
+ * 异步任务结果定义
2576
+ * @description
2577
+ * 通过 `Promise.resolve` 来处理预期内的异常,进而通过 Uncatch Promise Error 暴露预期外的异常
2578
+ */
2579
+ declare type IPromiseResult<T = void> = Promise<IAsyncRes<T>>;
2580
+ interface IConnectResult {
2581
+ /**
2582
+ * 连接错误码
2583
+ */
2584
+ code: ErrorCode;
2585
+ /**
2586
+ * 导航获取成功后即可有相应的值,在导航数据获取完成之前该值为 undefined
2587
+ */
2588
+ userId?: string;
2589
+ }
2590
+
2420
2591
  /**
2421
2592
  * 从服务器拉取到的会话数据结构
2422
2593
  * @category Interface
@@ -2758,13 +2929,8 @@ interface INaviInfo {
2758
2929
  */
2759
2930
  logSwitch: number;
2760
2931
  /**
2761
- * 实时日志上传策略,值为 JSON 字符串
2762
- * @example `'{
2763
- * "url": "logcollection.ronghub.com", // 上传地址
2764
- * "level": 1, // 日志等级
2765
- * "itv": 6, // 上传频率,即时间间隔,单位 s
2766
- * "times": 5 // 重试次数?
2767
- * }'`
2932
+ * 实时日志上传策略
2933
+ * @example `'{ "url": "logcollection.ronghub.com", "level": 1,"itv": 6, "times": 5 }'`
2768
2934
  */
2769
2935
  logPolicy: string;
2770
2936
  /**
@@ -3160,185 +3326,16 @@ interface IJoinRTCRoomData extends IRTCUsers {
3160
3326
  value: string;
3161
3327
  }[];
3162
3328
  kvEntries: IServerRTCRoomEntry[];
3163
- offlineKickTime: number;
3164
- }
3165
- interface KVString {
3166
- [key: string]: string;
3167
- }
3168
- /**
3169
- * 设置 RTC 人员 inner、outer 数据
3170
- */
3171
- interface IRTCUserData {
3172
- [key: string]: string;
3173
- }
3174
-
3175
- /**
3176
- * @category Interface
3177
- */
3178
- interface IAsyncRes<T = void> {
3179
- /**
3180
- * Promise 执行结果
3181
- */
3182
- code: ErrorCode;
3183
- /**
3184
- * 结果数据
3185
- */
3186
- data?: T;
3187
- /**
3188
- * 错误消息
3189
- */
3190
- msg?: string;
3191
- }
3192
- /**
3193
- * 异步任务结果定义
3194
- * @description
3195
- * 通过 `Promise.resolve` 来处理预期内的异常,进而通过 Uncatch Promise Error 暴露预期外的异常
3196
- */
3197
- declare type IPromiseResult<T = void> = Promise<IAsyncRes<T>>;
3198
- interface IConnectResult {
3199
- /**
3200
- * 连接错误码
3201
- */
3202
- code: ErrorCode;
3203
- /**
3204
- * 导航获取成功后即可有相应的值,在导航数据获取完成之前该值为 undefined
3205
- */
3206
- userId?: string;
3207
- }
3208
-
3209
- declare enum HttpMethod {
3210
- GET = "GET",
3211
- POST = "POST"
3212
- }
3213
- interface IRequest {
3214
- url: string;
3215
- /**
3216
- * @default `HttpMethod.GET`
3217
- */
3218
- method?: HttpMethod | 'GET' | 'POST';
3219
- /**
3220
- * 查询数据
3221
- */
3222
- query?: {
3223
- [key: string]: string | number | null;
3224
- };
3225
- /**
3226
- * Request Header 信息
3227
- */
3228
- headers?: {
3229
- [key: string]: string;
3230
- };
3231
- /**
3232
- * Request Body 数据
3233
- */
3234
- body?: Object | string;
3235
- /**
3236
- * 超时设置,默认 `60s`
3237
- */
3238
- timeout?: number;
3239
- /**
3240
- * 【Alipay-Only】
3241
- * 期望返回的数据格式,如果为 json 则返回后会对返回的数据进行一次 JSON.parse
3242
- */
3243
- dataType?: 'json' | 'text' | 'base64' | 'arraybuffer';
3244
- }
3245
- interface IStorage {
3246
- setItem(key: string, value: string): void;
3247
- getItem(key: string): string | null;
3248
- removeItem(key: string): void;
3249
- clear(): void;
3250
- }
3251
- interface IResponse {
3252
- status: number;
3253
- data?: string;
3254
- }
3255
- /**
3256
- * 网络状态枚举
3257
- */
3258
- declare enum NetworkType {
3259
- WIFI = "wifi",
3260
- FOUR_G = "4g",
3261
- THREE_G = "3g",
3262
- TWO_G = "2g",
3263
- FIVE_G = "2g",
3264
- THREE_GENT = "3gnet",
3265
- UNKONWN = "unknown"
3266
- }
3267
- interface IWebSocket {
3268
- /**
3269
- * 监听连接建立事件,此时 WebSocket 实例已准备好收发数据
3270
- * @param callback
3271
- */
3272
- onOpen(callback: () => void): void;
3273
- /**
3274
- * 监听连接关闭事件
3275
- * @param callback
3276
- */
3277
- onClose(callback: (code?: number, reason?: string) => void): void;
3278
- /**
3279
- * 监听接收服务器消息事件
3280
- * @param callback
3281
- */
3282
- onMessage(callback: (data: string | ArrayBuffer) => void): void;
3283
- /**
3284
- * 监听链接错误事件
3285
- * @param callback
3286
- */
3287
- onError(callback: (error: unknown) => void): void;
3288
- /**
3289
- * 向服务器发送数据
3290
- * @param data
3291
- */
3292
- send(data: ArrayBuffer | string): void;
3293
- /**
3294
- * 关闭连接
3295
- * @param code
3296
- * @param reason
3297
- */
3298
- close(code?: number, reason?: string): void;
3299
- }
3300
- /**
3301
- * 平台运行时抽象
3302
- */
3303
- interface IRuntime {
3304
- /**
3305
- * 平台标识
3306
- */
3307
- tag: string;
3308
- /**
3309
- * 发送 http 请求
3310
- * @param options
3311
- */
3312
- httpReq(options: IRequest): Promise<IResponse>;
3313
- /**
3314
- * 是否使用导航
3315
- */
3316
- useNavi: boolean;
3317
- /**
3318
- * websocket 地址上附加的平台字段
3319
- */
3320
- connectPlatform: string;
3321
- /**
3322
- * websocket 地址上 apiVer 字段,代表代码是否来源于 uniapp
3323
- */
3324
- isFromUniapp: boolean;
3325
- /**
3326
- * 创建长连接实例
3327
- */
3328
- createWebSocket?(url: string, protocols?: string[]): IWebSocket;
3329
- /**
3330
- * 存储模块
3331
- */
3332
- localStorage: IStorage;
3333
- /**
3334
- * 在某些非浏览器平台,其等同于 localStorage
3335
- */
3336
- sessionStorage: IStorage;
3337
- /**
3338
- * 获取网络状态
3339
- * 2g 3g 4g wifi unkown
3340
- */
3341
- getNetworkType(): Promise<NetworkType>;
3329
+ offlineKickTime: number;
3330
+ }
3331
+ interface KVString {
3332
+ [key: string]: string;
3333
+ }
3334
+ /**
3335
+ * 设置 RTC 人员 inner、outer 数据
3336
+ */
3337
+ interface IRTCUserData {
3338
+ [key: string]: string;
3342
3339
  }
3343
3340
 
3344
3341
  /**
@@ -4179,435 +4176,99 @@ interface IEndRoomPKOptions {
4179
4176
  */
4180
4177
  content: string;
4181
4178
  /**
4182
- * 需要删除连麦的信息的 keys
4183
- */
4184
- keys: string[];
4185
- }
4186
-
4187
- /**
4188
- * 消息送达相关接口
4189
- */
4190
- interface IDeliveredUser {
4191
- time: number;
4192
- userId: string;
4193
- }
4194
- interface IGroupMessageDeliverInfo {
4195
- totalCount: number;
4196
- list: IDeliveredUser[];
4197
- }
4198
- interface IMessageDeliver {
4199
- deliverTime: number;
4200
- messageUId: string;
4201
- objectName: string;
4202
- targetId: string;
4203
- }
4204
- interface IGroupMessageDeliveredStatusInfo {
4205
- MessageUId: string;
4206
- deliveryCount: number;
4207
- }
4208
- interface IGroupMessageDeliverStatus {
4209
- totalCount: number;
4210
- list: IGroupMessageDeliveredStatusInfo[];
4211
- }
4212
-
4213
- /**
4214
- * IndexDB中存储的log数据
4215
- */
4216
- interface ILogInfo {
4217
- sessionId: string;
4218
- time: number;
4219
- level: LogLevel;
4220
- content: string;
4221
- userId?: string;
4222
- logSource?: LogSource;
4223
- tagId?: LogTagId;
4224
- }
4225
- interface IRealTimeLog {
4226
- level: LogLevel;
4227
- content: string;
4228
- }
4229
- interface ILogExtensions {
4230
- traceId?: string;
4231
- logSource?: LogSource;
4232
- }
4233
- interface ILogInit {
4234
- userId?: string;
4235
- localLogLevel?: LogLevel;
4236
- customLogPrint?: (logLevel: LogLevel, msg: string) => void;
4237
- }
4238
- interface IInitBigDataOption {
4239
- runtime?: IRuntime;
4240
- appkey?: string;
4241
- version?: string;
4242
- userId?: string;
4243
- }
4244
- interface IBigdataLogInit extends IInitBigDataOption {
4245
- logUrl: string;
4246
- sessionId: string;
4247
- }
4248
-
4249
- /**
4250
- * 定义已废弃,请使用 `IRemoveChatroomEntries` 替换
4251
- * @deprecated
4252
- */
4253
- declare type IRemoveChatRoomEntries = IRemoveChatroomEntries;
4254
- /**
4255
- * 定义已废弃,请使用 `IChatroomEntry` 替换
4256
- * @deprecated
4257
- */
4258
- declare type IChatRoomEntry = IChatroomEntry;
4259
- /**
4260
- * 定义已废弃,请使用 `IChatroomEntries` 替换
4261
- * @deprecated
4262
- */
4263
- declare type IChatRoomEntries = IChatroomEntries;
4264
- /**
4265
- * 定义已废弃,请使用 `IRemoveChatroomEntry` 替换
4266
- * @deprecated
4267
- */
4268
- declare type IRemoveChatRoomEntry = IRemoveChatroomEntry;
4269
-
4270
- /**
4271
- * 日志上报工具,负责处理实时日志上报和下消息拉日志业务。
4272
- * 通过 DB 和 Logger 两个抽象接口组合使用,
4273
- * 避免业务与不同平台不同的 DB 数据库耦合,从而最大限度代码复用,
4274
- * 上报工具仅处理业务,无需关心 DB 和 Logger 的实际类型
4275
- */
4276
- declare abstract class BasicReporter {
4277
- private appkey;
4278
- private deviceId;
4279
- /**
4280
- * 设备描述信息
4281
- */
4282
- private deviceInfo;
4283
- /**
4284
- * Logger 数据库实例,有日志数据库的读写方法,使上报与数据库解耦
4285
- */
4286
- protected readonly logDB: ILogDB;
4287
- /**
4288
- * logger 实例
4289
- */
4290
- protected readonly logger: BasicLogger;
4291
- /**
4292
- * 当前用户 id
4293
- */
4294
- protected userId: string;
4295
- constructor(appkey: string, deviceId: string,
4296
- /**
4297
- * 设备描述信息
4298
- */
4299
- deviceInfo: string,
4300
- /**
4301
- * Logger 数据库实例,有日志数据库的读写方法,使上报与数据库解耦
4302
- */
4303
- logDB: ILogDB,
4304
- /**
4305
- * logger 实例
4306
- */
4307
- logger: BasicLogger);
4308
- private timer;
4309
- protected started: boolean;
4310
- /**
4311
- * 根据配置启动实时日志上报,在导航获取完成后启动,导航中包含 userId 信息
4312
- * 实时日志仅获取当前时间 - 10s 以前的日志上报,避免多页面并行写库造成数据遗漏
4313
- */
4314
- checkStart(navi: INaviInfo): Promise<void>;
4315
- /**
4316
- * 实时日志上报
4317
- * @override IndexDBReporter 重载此方法,增加同设备多页面多端时进程竞争检测
4318
- */
4319
- protected realtimeReport(url: string, level: LogL, itv: number): Promise<void>;
4320
- private sendLogs;
4321
- /**
4322
- * 处理下消息拉日志,以拉取包含 `LogL.DEBUG` 级别的全量日志
4323
- * @param startTime 拉取起始时间
4324
- * @param endTime 拉取结束时间
4325
- * @param platform 平台
4326
- * @param uri 本次拉取的上传地址,若无值,使用导航配置下发地址
4327
- * @param logId 拉取事务 Id,用于上传日志时的 Http 请求
4328
- */
4329
- report(startTime: number, endTime: number, platform: string, uri: string, logId: string): Promise<void>;
4330
- private transcsv;
4331
- /**
4332
- * 以 `POST` 方法向服务发送日志数据
4333
- * @param url
4334
- * @param content
4335
- */
4336
- protected abstract send(req: IRequest): Promise<IResponse>;
4337
- /**
4338
- * 清理计时器,停止定时任务
4339
- */
4340
- stop(): void;
4341
- }
4342
-
4343
- declare class IndexDBReporter extends BasicReporter {
4344
- private runtime;
4345
- /**
4346
- * 客户端配置的上报等级,仅限 Beem IndexDB 日志版本可用,不设置时,以服务器 navi 下发配置为准
4347
- */
4348
- private clientReportLevel?;
4349
- constructor(appkey: string, runtime: IRuntime, logger: BasicLogger,
4350
- /**
4351
- * 客户端配置的上报等级,仅限 Beem IndexDB 日志版本可用,不设置时,以服务器 navi 下发配置为准
4352
- */
4353
- clientReportLevel?: EnableLogL | undefined);
4354
- protected send(req: IRequest): Promise<IResponse>;
4355
- /**
4356
- * @override 重写实现
4357
- */
4358
- checkStart(navi: INaviInfo): Promise<void>;
4359
- /**
4360
- * 进程竞争检测,检查是否为执行上报的进程
4361
- * @param callback
4362
- * @returns
4363
- */
4364
- private isReporter;
4365
- /**
4366
- * @param startTime
4367
- * @param endTime
4368
- * @param platform
4369
- * @param uri
4370
- * @param logId
4371
- */
4372
- report(startTime: number, endTime: number, platform: string, uri: string, logId: string): Promise<void>;
4373
- protected realtimeReport(url: string, level: LogL, itv: number): Promise<void>;
4374
- }
4375
-
4376
- /**
4377
- * 初始化 DB 模块,按 APPKEY 分库,后续需要将日志与业务数据库也分开
4378
- * @param appkey
4379
- */
4380
- declare const initLogDB: (appkey: string, logger: ILogger) => void;
4381
- /**
4382
- * IndexDB 日志数据库反初始化,在切换 APPKEY 时调用
4383
- * @returns
4384
- */
4385
- declare const deInitLogDB: () => Promise<void>;
4386
-
4387
- /**
4388
- * @description
4389
- * 读数据处理基类
4390
- */
4391
- declare class BaseReader {
4392
- readonly header: Header;
4393
- messageId: number;
4394
- timestamp: number;
4395
- syncMsg: boolean;
4396
- protected identifier: string;
4397
- constructor(header: Header);
4398
- getIdentifier(): string | number;
4399
- read(logger: ILogger, stream: RongStreamReader, length: number, protocolVer: ConnAckProtocolVer): void;
4400
- readMessage(logger: ILogger, stream: RongStreamReader, length?: number, protocolVer?: ConnAckProtocolVer): {
4401
- stream: RongStreamReader;
4402
- length: number | undefined;
4403
- };
4404
- }
4405
- /**
4406
- * @description
4407
- * 写数据处理基类
4408
- */
4409
- declare abstract class BaseWriter {
4410
- private _header;
4411
- lengthSize: number;
4412
- data: any;
4413
- messageId: number;
4414
- topic: string;
4415
- targetId: string;
4416
- identifier: string;
4417
- constructor(headerType: OperationType);
4418
- getIdentifier(): string | number;
4419
- write(stream: RongStreamWriter): void;
4420
- abstract writeMessage(stream: RongStreamWriter): void;
4421
- setHeaderQos(qos: number): void;
4422
- getHeaderFlag(): number;
4423
- getLengthSize(): number;
4424
- getBufferData(): Int8Array;
4425
- }
4426
- declare class RetryableReader extends BaseReader {
4427
- messageId: number;
4428
- readMessage(logger: ILogger, stream: RongStreamReader, length: number): {
4429
- stream: RongStreamReader;
4430
- length: number;
4431
- };
4432
- }
4433
- declare class RetryableWriter extends BaseWriter {
4434
- writeMessage(stream: RongStreamWriter): void;
4435
- }
4436
- declare class PublishReader extends RetryableReader {
4437
- topic: string;
4438
- data: any;
4439
- targetId: string;
4440
- date: any;
4441
- syncMsg: boolean;
4442
- identifier: string;
4443
- readMessage(logger: ILogger, stream: RongStreamReader, length: number): {
4444
- stream: RongStreamReader;
4445
- length: number;
4446
- };
4447
- }
4448
- /**
4449
- * @description
4450
- * 发消息使用
4451
- */
4452
- declare class PublishWriter extends RetryableWriter {
4453
- topic: string;
4454
- data: any;
4455
- targetId: string;
4456
- date: any;
4457
- syncMsg: boolean;
4458
- identifier: string;
4459
- constructor(topic: string, data: any, targetId: string);
4460
- writeMessage(stream: RongStreamWriter): void;
4461
- }
4462
- /**
4463
- * @description
4464
- * 发消息, Server 给的 Ack 回执
4465
- */
4466
- declare class PubAckReader extends RetryableReader {
4467
- status: number;
4468
- date: number;
4469
- data: any;
4470
- millisecond: number;
4471
- messageUId: string;
4472
- timestamp: number;
4473
- identifier: string;
4474
- topic: string;
4475
- targetId: string;
4476
- readMessage(logger: ILogger, stream: RongStreamReader, length: number): {
4477
- stream: RongStreamReader;
4478
- length: number;
4479
- };
4480
- }
4481
- /**
4482
- * @description
4483
- * Web 主动查询
4484
- */
4485
- declare class QueryWriter extends RetryableWriter {
4486
- topic: string;
4487
- data: any;
4488
- targetId: string;
4489
- identifier: string;
4490
- constructor(topic: string, data: any, targetId: string);
4491
- writeMessage(stream: RongStreamWriter): void;
4492
- }
4493
-
4494
- /**
4495
- * 会话属性
4496
- * @category Interface
4497
- */
4498
- interface IConversationOption {
4499
- conversationType: ConversationType;
4500
- targetId: string;
4501
- channelId?: string;
4179
+ * 需要删除连麦的信息的 keys
4180
+ */
4181
+ keys: string[];
4502
4182
  }
4503
- interface IServerRTCRoomEntry {
4504
- key: string;
4505
- value: string;
4506
- status: number;
4507
- timestamp: number;
4508
- uid: string;
4183
+
4184
+ /**
4185
+ * 消息送达相关接口
4186
+ */
4187
+ interface IDeliveredUser {
4188
+ time: number;
4189
+ userId: string;
4509
4190
  }
4510
- interface IChrmKVEntry {
4511
- key: string;
4512
- value?: string;
4513
- isSendNotification?: boolean;
4514
- notificationExtra?: string;
4515
- isOverwrite?: boolean;
4516
- isAutoDelete?: boolean;
4517
- timestamp?: number;
4518
- userId?: string;
4519
- type?: number;
4520
- isDeleted?: boolean;
4521
- version?: number;
4191
+ interface IGroupMessageDeliverInfo {
4192
+ totalCount: number;
4193
+ list: IDeliveredUser[];
4522
4194
  }
4523
- interface IChrmKVEntries {
4524
- entries: {
4525
- key: string;
4526
- value?: string;
4527
- timestamp?: number;
4528
- version?: number;
4529
- }[];
4530
- notificationExtra?: string;
4531
- isOverwrite?: boolean;
4532
- isAutoDelete?: boolean;
4533
- timestamp?: number;
4534
- userId?: string;
4535
- type?: number;
4536
- isDeleted?: boolean;
4195
+ interface IMessageDeliver {
4196
+ deliverTime: number;
4197
+ messageUId: string;
4198
+ objectName: string;
4199
+ targetId: string;
4537
4200
  }
4538
- interface IChrmKVPullData {
4539
- kvEntries: IChrmKVEntry[];
4540
- isFullUpdate?: boolean;
4541
- syncTime?: number;
4201
+ interface IGroupMessageDeliveredStatusInfo {
4202
+ MessageUId: string;
4203
+ deliveryCount: number;
4542
4204
  }
4543
- interface IServerConversationStatus {
4544
- conversationType: number;
4545
- targetId: string;
4546
- updatedTime?: number;
4547
- notificationStatus?: number;
4548
- notificationLevel?: number;
4549
- isTop?: boolean;
4550
- type?: number;
4551
- tags?: IConversationTag[];
4552
- channelId?: string;
4205
+ interface IGroupMessageDeliverStatus {
4206
+ totalCount: number;
4207
+ list: IGroupMessageDeliveredStatusInfo[];
4553
4208
  }
4554
- interface IUserSettingItem {
4555
- targetId: number;
4556
- type: number;
4557
- key: string;
4558
- value: any;
4559
- version: number;
4560
- status: number;
4561
- tags: IConversationTag[];
4209
+
4210
+ /**
4211
+ * IndexDB中存储的log数据
4212
+ */
4213
+ interface ILogInfo {
4214
+ sessionId: string;
4215
+ time: number;
4216
+ level: LogLevel;
4217
+ content: string;
4218
+ userId?: string;
4219
+ logSource?: LogSource;
4220
+ tagId?: LogTagId;
4562
4221
  }
4563
- interface IServerUserSetting {
4564
- settings: {
4565
- [key: string]: IUserSettingItem;
4566
- };
4567
- version: number;
4222
+ interface IRealTimeLog {
4223
+ level: LogLevel;
4224
+ content: string;
4568
4225
  }
4569
- interface ISyncMsgArgs {
4570
- inboxTime: number;
4571
- sendboxTime: number;
4572
- broadcastSyncTime?: number;
4226
+ interface ILogExtensions {
4227
+ traceId?: string;
4228
+ logSource?: LogSource;
4573
4229
  }
4574
- interface IGetMsgOption {
4575
- timestamp?: number;
4576
- count?: number;
4577
- order?: number;
4578
- channelId?: string;
4230
+ interface ILogInit {
4231
+ userId?: string;
4232
+ localLogLevel?: LogLevel;
4233
+ customLogPrint?: (logLevel: LogLevel, msg: string) => void;
4579
4234
  }
4580
- interface IGetConversationListOption {
4581
- type?: number;
4582
- count?: number;
4583
- startTime?: number;
4584
- order?: 0 | 1;
4235
+ interface IInitBigDataOption {
4236
+ runtime?: IRuntime;
4237
+ appkey?: string;
4238
+ version?: string;
4239
+ userId?: string;
4585
4240
  }
4586
- interface IClearMsgOption {
4587
- timestamp?: number;
4241
+ interface IBigdataLogInit extends IInitBigDataOption {
4242
+ logUrl: string;
4243
+ sessionId: string;
4588
4244
  }
4589
4245
 
4590
4246
  /**
4591
- * TODO: 确定对外暴露的必要性
4247
+ * 定义已废弃,请使用 `IRemoveChatroomEntries` 替换
4592
4248
  * @deprecated
4593
4249
  */
4594
- declare const DelayTimer: {
4595
- _delayTime: number;
4596
- /**
4597
- * 方法并未引用,getTimer 实际返回值始终为 Date.now()
4598
- * @deprecated
4599
- */
4600
- setTime: (time: number) => void;
4601
- getTime: () => number;
4602
- };
4250
+ declare type IRemoveChatRoomEntries = IRemoveChatroomEntries;
4251
+ /**
4252
+ * 定义已废弃,请使用 `IChatroomEntry` 替换
4253
+ * @deprecated
4254
+ */
4255
+ declare type IChatRoomEntry = IChatroomEntry;
4256
+ /**
4257
+ * 定义已废弃,请使用 `IChatroomEntries` 替换
4258
+ * @deprecated
4259
+ */
4260
+ declare type IChatRoomEntries = IChatroomEntries;
4261
+ /**
4262
+ * 定义已废弃,请使用 `IRemoveChatroomEntry` 替换
4263
+ * @deprecated
4264
+ */
4265
+ declare type IRemoveChatRoomEntry = IRemoveChatroomEntry;
4603
4266
 
4604
4267
  /**
4605
4268
  * 序列化、反序列化数据通道
4606
4269
  */
4607
4270
  declare class DataCodec {
4608
- private logger;
4609
4271
  private _codec;
4610
- constructor(logger: BasicLogger);
4611
4272
  private static createPBCodec;
4612
4273
  /**
4613
4274
  * PB 数据 转为 rmtp 数据 反序列化 通用数据
@@ -4889,7 +4550,6 @@ interface IDataChannelWatcher {
4889
4550
  declare class WebSocketChannel {
4890
4551
  private _runtime;
4891
4552
  private _watcher;
4892
- private logger;
4893
4553
  readonly codec: DataCodec;
4894
4554
  connectedTime: number;
4895
4555
  userId: string;
@@ -4904,7 +4564,7 @@ declare class WebSocketChannel {
4904
4564
  * 接收多端同步消息时,等待 PubAck 的 Promise.resolve 函数
4905
4565
  */
4906
4566
  private _syncMessageIds;
4907
- constructor(_runtime: IRuntime, _watcher: IDataChannelWatcher, logger: BasicLogger);
4567
+ constructor(_runtime: IRuntime, _watcher: IDataChannelWatcher);
4908
4568
  /**
4909
4569
  * 建立连接,连接成功则返回 Websocket 实例,否则返回连接错误码
4910
4570
  * @param appkey
@@ -5031,6 +4691,10 @@ interface IAPIContextOption {
5031
4691
  * IMLib 版本号
5032
4692
  */
5033
4693
  apiVersion: string;
4694
+ /**
4695
+ * IMLib 包名
4696
+ */
4697
+ apiPKGName?: string;
5034
4698
  /**
5035
4699
  * 自定义导航地址:
5036
4700
  * 1. 私有云环境下该值为必填项
@@ -5042,18 +4706,55 @@ interface IAPIContextOption {
5042
4706
  * 7. 公有云默认使用 https 协议
5043
4707
  */
5044
4708
  navigators: string[];
4709
+ /**
4710
+ * (参数已废弃)~~c++ 协议栈数据库地址~~
4711
+ * @deprecated
4712
+ */
4713
+ dbPath?: string;
5045
4714
  /**
5046
4715
  * 小程序的 CMP 代理地址
5047
4716
  */
5048
4717
  miniCMPProxy: string[];
4718
+ /**
4719
+ * 修改 engine log 打印等级
4720
+ */
4721
+ logLevel?: LogLevel;
4722
+ /**
4723
+ * 修改默认的 log 输出函数
4724
+ */
4725
+ logStdout?: (logLevel: LogLevel, content: string) => void;
4726
+ /**
4727
+ * (已废弃)私有云标识
4728
+ * @deprecated
4729
+ */
4730
+ isEnterPrise?: boolean;
5049
4731
  /**
5050
4732
  * typing状态过期时间
5051
4733
  */
5052
4734
  typingExpireTime?: number;
4735
+ /**
4736
+ * 是否打开 IndexDB 存储,默认为 true
4737
+ */
4738
+ indexDBSwitch?: boolean;
5053
4739
  /**
5054
4740
  * 是否校验证书,默认为 true
5055
4741
  */
5056
4742
  checkCA?: boolean;
4743
+ /**
4744
+ * TODO: 自定义策略覆盖服务策略有安全风险,等产品确认通用化逻辑,是否前后端共同建立双重开关
4745
+ * 目前仅 Beem Web-Meeting 使用
4746
+ * @deprecated
4747
+ * @hidden
4748
+ * 实时日志收集功能自定义上传策略
4749
+ * @param {number} logSwitch 日志收集功能开关,0 关闭;1 开启
4750
+ * @param {LogLevel} level 日志上传级别
4751
+ * @param {number} itv: interval 即日志上传间隔,单位秒,最小时间间隔 1 秒
4752
+ */
4753
+ logPolicy?: {
4754
+ logSwitch?: number;
4755
+ level?: LogLevel;
4756
+ itv?: number;
4757
+ };
5057
4758
  /**
5058
4759
  * 开启后,SDK 内的 HTTP 请求将由 Electron 主进程内发送。
5059
4760
  * @since 5.6.0
@@ -5065,16 +4766,6 @@ interface IAPIContextOption {
5065
4766
  * @defautl `false`
5066
4767
  */
5067
4768
  httpInMainProcess: boolean;
5068
- /**
5069
- * 修改内部日志打印等级,默认输出 `LogL.WARN` 及以上级别
5070
- */
5071
- logOutputLevel?: EnableLogL;
5072
- /**
5073
- * 自定义实时日志上报等级。当实时日志开启时,该等级配置会覆盖服务下发配置!不配置时,以服务下发配置为准。
5074
- * @hidden
5075
- * @deprecated
5076
- */
5077
- __reportLogLevel?: EnableLogL;
5078
4769
  }
5079
4770
 
5080
4771
  interface IPluginGenerator<API, InitOption> {
@@ -5115,20 +4806,12 @@ declare class Codec<T> {
5115
4806
  * Key 对应的 Value 结构映射表,用于不同 Key 数据的编解码
5116
4807
  */
5117
4808
  private pbmaps;
5118
- /**
5119
- * 允许不传 logger 实例以向前兼容
5120
- */
5121
- private logger?;
5122
4809
  private readonly pbModules;
5123
4810
  constructor(
5124
4811
  /**
5125
4812
  * Key 对应的 Value 结构映射表,用于不同 Key 数据的编解码
5126
4813
  */
5127
- pbmaps: T, pbDefined: string,
5128
- /**
5129
- * 允许不传 logger 实例以向前兼容
5130
- */
5131
- logger?: ILogger | undefined);
4814
+ pbmaps: T, pbDefined: string);
5132
4815
  getModule(pbname: string): any;
5133
4816
  /**
5134
4817
  * 数据序列化
@@ -5173,6 +4856,7 @@ declare class APIContext {
5173
4856
  readonly coreVersion: string;
5174
4857
  readonly appkey: string;
5175
4858
  readonly apiVersion: string;
4859
+ readonly apiPKGName: string;
5176
4860
  private readonly _options;
5177
4861
  private _versionInfo;
5178
4862
  private _typingInfo;
@@ -5185,10 +4869,6 @@ declare class APIContext {
5185
4869
  * 包括向 CppEngine 提供 RTC 业务编解码能力
5186
4870
  */
5187
4871
  private readonly _rtcCodec;
5188
- /**
5189
- * engine 内部日志工具
5190
- */
5191
- readonly logger: BasicLogger;
5192
4872
  constructor(_runtime: IRuntime, options: IAPIContextOption);
5193
4873
  createCodec<T extends CodecPBMaps>(keymaps: T, pbDesc: string): Codec<T>;
5194
4874
  /**
@@ -5890,7 +5570,6 @@ declare class APIContext {
5890
5570
  getConversationListWithAllChannel(): Promise<IAsyncRes<IReceivedConversation[]>>;
5891
5571
  getConversationListWithAllChannelByPage(index: number, limit: number): Promise<IAsyncRes<IReceivedConversation[]>>;
5892
5572
  clearData(): Promise<IAsyncRes<boolean>>;
5893
- createLogger(id: string, type: LogType): BasicLogger;
5894
5573
  rtcSignaling(roomId: string, method: string, isQuery: boolean, sourceData: any): Promise<{
5895
5574
  code: ErrorCode;
5896
5575
  buffer?: Uint8Array;
@@ -6065,12 +5744,6 @@ declare class PluginContext {
6065
5744
  key: string;
6066
5745
  value: string;
6067
5746
  }>;
6068
- /**
6069
- * 创建 logger 实例
6070
- * @param id 日志工具 ID,用于区分日志实例,以确定日志调用者身份
6071
- * @param type 目前仅支持 `IM` 与 `RTC` 两个值
6072
- */
6073
- createLogger(id: string, type: LogType): BasicLogger;
6074
5747
  }
6075
5748
 
6076
5749
  declare class RTCPluginContext extends PluginContext {
@@ -6261,6 +5934,7 @@ declare class RTCPluginContext extends PluginContext {
6261
5934
  onrtcdatachange?(data: IServerRTCRoomEntry[], roomdId?: string): void;
6262
5935
  /**
6263
5936
  * 获取加入 RTC 房间的用户信息(当前仅能查自己的)
5937
+ * @deprecated
6264
5938
  */
6265
5939
  getRTCJoinedUserInfo(userId: string): IPromiseResult<IRTCJoinedInfo[]>;
6266
5940
  }
@@ -6310,7 +5984,6 @@ declare abstract class AEngine implements IEngine {
6310
5984
  readonly rtcCodec: Codec<RTCKeyMaps>;
6311
5985
  protected readonly _watcher: IEngineWatcher;
6312
5986
  protected readonly _options: IAPIContextOption;
6313
- protected readonly logger: BasicLogger;
6314
5987
  /**
6315
5988
  * 连接时间
6316
5989
  */
@@ -6323,7 +5996,7 @@ declare abstract class AEngine implements IEngine {
6323
5996
  * 引擎初始化
6324
5997
  * @param _appkey
6325
5998
  */
6326
- constructor(runtime: IRuntime, rtcCodec: Codec<RTCKeyMaps>, _watcher: IEngineWatcher, _options: IAPIContextOption, logger: BasicLogger);
5999
+ constructor(runtime: IRuntime, rtcCodec: Codec<RTCKeyMaps>, _watcher: IEngineWatcher, _options: IAPIContextOption);
6327
6000
  protected _rtcSignalingListener?: (buffer: Uint8Array) => void;
6328
6001
  /**
6329
6002
  * 注册 RTC KV 变更监听器
@@ -6332,14 +6005,6 @@ declare abstract class AEngine implements IEngine {
6332
6005
  registerRTCSignalingListener(listener: ((buffer: Uint8Array) => void) | undefined): void;
6333
6006
  abstract requestNaviInfo(uris: string[], appkey: string, token: string, checkCA?: boolean): Promise<INaviInfo | null>;
6334
6007
  abstract updateNaviInfo(naviInfo: INaviInfo): void;
6335
- /**
6336
- * 为非 engine 包创建 logger 工具实例
6337
- */
6338
- abstract createLogger(id: string, type: LogType): BasicLogger;
6339
- /**
6340
- * 获取 engine 包内部 logger 工具
6341
- */
6342
- getInnerLogger(): BasicLogger;
6343
6008
  /**
6344
6009
  * 获取导航数据
6345
6010
  * @param token
@@ -7072,10 +6737,6 @@ declare abstract class AEngine implements IEngine {
7072
6737
  * 接收 rtc 资源变更
7073
6738
  */
7074
6739
  protected _receiveRtcKv(buffer: Uint8Array): void;
7075
- /**
7076
- * Engine 反初始化
7077
- */
7078
- destroy(): void;
7079
6740
  }
7080
6741
 
7081
6742
  declare class AppStorage {
@@ -7233,8 +6894,8 @@ declare const isValidExpansion: (expansion: {
7233
6894
  [key: string]: string;
7234
6895
  } | undefined) => IIsValidExpansion;
7235
6896
 
6897
+ declare const sessionId: string;
7236
6898
  /**
7237
- * @deprecated
7238
6899
  * logLevelTransformer
7239
6900
  * @description 数据中心与前端日志规范LogLevel定义不统一
7240
6901
  * WebLogLevel(前端日志级别) -> ServerLogLevel(服务器日志级别)
@@ -7243,40 +6904,40 @@ declare const isValidExpansion: (expansion: {
7243
6904
  */
7244
6905
  declare function logLevelTransformer(level: LogLevel): number;
7245
6906
  /**
7246
- * @deprecated
7247
- * Trace ID 生成器
6907
+ * 序列化引用型数据为字符串
6908
+ * @value value
7248
6909
  */
7249
- declare function ID(): string;
6910
+ declare const formatLogObj: (value: unknown) => unknown;
7250
6911
  /**
7251
- * @deprecated
7252
- */
7253
- declare function init(userLogInfo: ILogInit): void;
6912
+ * 缓存日志
6913
+ * @param logLevel 打印等级
6914
+ * @param logObj 日志内容
6915
+ * @param tagId 日志tag
6916
+ */
6917
+ declare function insertIntoLogCache(logLevel: LogLevel, tagId: string, logObj: any, logSource?: LogSource): ILogInfo;
7254
6918
  /**
7255
- * @deprecated
6919
+ * 本地默认输出函数
6920
+ * @param level
6921
+ * @param args
7256
6922
  */
7257
- declare function log(logLevel: LogLevel, tagId: LogTagId | string, logObj?: Object, logExtens?: ILogExtensions): void;
6923
+ declare function _defaultStdout(level: LogLevel, msgTag: string, ...logContents: any[]): void;
7258
6924
  /**
7259
- * @deprecated
6925
+ * Trace ID 生成器
7260
6926
  */
6927
+ declare function ID(): string;
6928
+ declare function init(userLogInfo: ILogInit): void;
6929
+ declare function log(logLevel: LogLevel, tagId: LogTagId | string, logObj?: Object, logExtens?: ILogExtensions): void;
7261
6930
  declare const debug: (tagId: string, logObj?: Object | undefined, logExtens?: ILogExtensions | undefined) => void;
7262
- /**
7263
- * @deprecated
7264
- */
7265
6931
  declare const info: (tagId: string, logObj?: Object | undefined, logExtens?: ILogExtensions | undefined) => void;
7266
- /**
7267
- * @deprecated
7268
- */
7269
6932
  declare const warn: (tagId: string, logObj?: Object | undefined, logExtens?: ILogExtensions | undefined) => void;
7270
- /**
7271
- * @deprecated
7272
- */
7273
6933
  declare const error: (tagId: string, logObj?: Object | undefined, logExtens?: ILogExtensions | undefined) => void;
7274
- /**
7275
- * @deprecated
7276
- */
7277
6934
  declare const fatal: (tagId: string, logObj?: Object | undefined, logExtens?: ILogExtensions | undefined) => void;
7278
6935
 
6936
+ declare const base_sessionId: typeof sessionId;
7279
6937
  declare const base_logLevelTransformer: typeof logLevelTransformer;
6938
+ declare const base_formatLogObj: typeof formatLogObj;
6939
+ declare const base_insertIntoLogCache: typeof insertIntoLogCache;
6940
+ declare const base__defaultStdout: typeof _defaultStdout;
7280
6941
  declare const base_ID: typeof ID;
7281
6942
  declare const base_init: typeof init;
7282
6943
  declare const base_log: typeof log;
@@ -7287,7 +6948,11 @@ declare const base_error: typeof error;
7287
6948
  declare const base_fatal: typeof fatal;
7288
6949
  declare namespace base {
7289
6950
  export {
6951
+ base_sessionId as sessionId,
7290
6952
  base_logLevelTransformer as logLevelTransformer,
6953
+ base_formatLogObj as formatLogObj,
6954
+ base_insertIntoLogCache as insertIntoLogCache,
6955
+ base__defaultStdout as _defaultStdout,
7291
6956
  base_ID as ID,
7292
6957
  base_init as init,
7293
6958
  base_log as log,
@@ -7299,8 +6964,18 @@ declare namespace base {
7299
6964
  };
7300
6965
  }
7301
6966
 
6967
+ /** *********************实时日志上报***************** */
6968
+
7302
6969
  /**
7303
6970
  * @deprecated
6971
+ * 缓存日志实时
6972
+ * @param {LogLevel} logLevel 日志等级
6973
+ * @param tagId 日志标签
6974
+ * @param content 日志内容
6975
+ */
6976
+ declare function reportLog(logLevel: LogLevel, tagId: string, content: string, logSource?: LogSource): void;
6977
+
6978
+ /**
7304
6979
  * @description 兼容旧版用法,建议用Logger静态方法
7305
6980
  * 1、不符合新版Web日志规范
7306
6981
  * 2、不支持自定义TagId
@@ -7318,39 +6993,31 @@ declare class Logger {
7318
6993
  */
7319
6994
  constructor(tagId: string, logSource?: LogSource | undefined, initiator?: string | undefined);
7320
6995
  /**
7321
- * @deprecated
7322
- * 自定义本地打印日志级别
7323
- * @param logLevel
6996
+ * 本地控制台日志输出级别
7324
6997
  */
7325
- setLogLevel(logLevel?: LogLevel): void;
6998
+ private _localLogLevel;
7326
6999
  /**
7327
- * @deprecated
7328
- * 自定义本地打印函数
7000
+ * 自定义本地日志输出函数
7329
7001
  */
7330
- setLogStdout(stdout?: (level: LogLevel, content: string) => void): void;
7002
+ private _customLogPrint?;
7331
7003
  /**
7332
- * @deprecated
7004
+ * 为向前兼容,暂不删除
7333
7005
  */
7334
- private log;
7006
+ private _stdout?;
7335
7007
  /**
7336
- * @deprecated
7008
+ * 自定义本地打印日志级别
7009
+ * @param logLevel
7337
7010
  */
7338
- debug: (...args: any[]) => void;
7011
+ setLogLevel(logLevel?: LogLevel): void;
7339
7012
  /**
7340
- * @deprecated
7013
+ * 自定义本地打印函数
7341
7014
  */
7015
+ setLogStdout(stdout?: (level: LogLevel, content: string) => void): void;
7016
+ log(logLevel: LogLevel, ...args: any[]): void;
7017
+ debug: (...args: any[]) => void;
7342
7018
  info: (...args: any[]) => void;
7343
- /**
7344
- * @deprecated
7345
- */
7346
7019
  warn: (...args: any[]) => void;
7347
- /**
7348
- * @deprecated
7349
- */
7350
7020
  error: (...args: any[]) => void;
7351
- /**
7352
- * @deprecated
7353
- */
7354
7021
  fatal: (...args: any[]) => void;
7355
7022
  /**
7356
7023
  * @deprecated
@@ -7363,11 +7030,9 @@ declare class Logger {
7363
7030
  * @deprecated
7364
7031
  */
7365
7032
  setStdout(stdout?: (level: LogLevel, msgTag: string, ...args: any[]) => void): void;
7033
+ reportLog: typeof reportLog;
7366
7034
  }
7367
- /**
7368
- * @deprecated
7369
- */
7370
- declare const logger: Logger;
7035
+ declare const _default: Logger;
7371
7036
 
7372
7037
  declare const getUUID: () => string;
7373
7038
  declare const getUUID22: () => string;
@@ -7441,6 +7106,10 @@ declare const assert: (key: string, value: any, validator: AssertRules | ((value
7441
7106
  */
7442
7107
  declare const validate: (key: string, value: any, validator: AssertRules | ((value?: any) => boolean), required?: boolean) => boolean;
7443
7108
 
7109
+ /**
7110
+ * engine 层业务相关工具方法
7111
+ */
7112
+
7444
7113
  /**
7445
7114
  * 通过文件类型生成上传唯一文件名
7446
7115
  */
@@ -7459,7 +7128,7 @@ declare const pushConfigsToJSON: (iOSConfig?: IiOSPushConfig, androidConfig?: IA
7459
7128
  * 将服务端返回的 push 信息格式化
7460
7129
  * @param pushStr
7461
7130
  */
7462
- declare const pushJSONToConfigs: (logger: BasicLogger, pushStr: string, pushId: string) => {
7131
+ declare const pushJSONToConfigs: (pushStr: string, pushId: string) => {
7463
7132
  iOSConfig: IiOSPushConfig;
7464
7133
  androidConfig: IAndroidPushConfig;
7465
7134
  };
@@ -7582,6 +7251,7 @@ declare const SEND_MESSAGE_TYPE_OPTION: {
7582
7251
  [key: string]: {
7583
7252
  isCounted: boolean;
7584
7253
  isPersited: boolean;
7254
+ searchProps?: string[];
7585
7255
  };
7586
7256
  };
7587
7257
  /**
@@ -7616,4 +7286,4 @@ declare type AbsCodec<T> = Codec<T>;
7616
7286
  */
7617
7287
  declare const version: string;
7618
7288
 
7619
- export { AEngine, APIContext, AbsCodec, AppStorage, AssertRules, BasicLogger, BasicReporter, CPP_PROTOCAL_MSGTYPE_OPTION, CallLibMsgType, ChatroomEntryType, ChatroomUserChangeType, Codec, CodecPBMaps, ConnectResultCode, ConnectionStatus, ConversationType, DB_LOG_FLUSH_FREQUENCY, DB_LOG_MAX_SIZE, DelayTimer, EnableLogL, ErrorCode, EventEmitter, FileType, HTTP_TIMEOUT, HttpMethod, IAPIContextOption, IAndroidPushConfig, IAsyncRes, IBaseConversationInfo, IBigdataLogInit, IBlockedMessageInfo, ICancelRoomPKOptions, IChatRoomEntries, IChatRoomEntry, IChatroomEntries, IChatroomEntry, IChatroomEntryListenerData, IChatroomInfo, IChatroomListener, IChatroomListenerData, IChatroomRejoinedFailed, IChatroomRejoinedInfo, IChatroomRejoinedSuccessed, IChatroomUser, IChatroomUserChangeInfo, IChrmKVEntries, IChrmKVEntry, IConnectResult, IConnectionStatusListener, IConversationOption, IConversationState, IConversationStateListener, IConversationTag, IConversationTagListener, IDeletedExpansion, IDeliveredUser, IEndRoomPKOptions, IEngine, IEngineWatcher, IEventListener, IExpansionListener, IExpansionListenerData, IExpansionMsgContent, IExtraMethod, IGetMsgOption, IGetUltraGroupListOption, IGooglePushConfig, IGroupMessageDeliverInfo, IGroupMessageDeliverStatus, IInitBigDataOption, IInsertMsgOptions, IIsValidExpansion, IJoinRTCRoomData, ILocalReadReceiptInfo, ILocalTagStatus, ILogDB, ILogData, ILogExtensions, ILogInfo, ILogInit, 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, INaviInfo, IOSInfo, IOperateStatusNotify, IPluginGenerator, IProcessInfo, IPromiseResult, IPushConfig, IRTCInnerListener, IRTCJoinedInfo, IRTCRoomBindOption, IRTCRoomInfo, IRTCUserData, IRTCUsers, IReadReceiptInfo, IRealTimeLog, IRecallMsgContent, IRecallMsgOptions, IReceivedConversation, IReceivedConversationByTag, IReceivedMessage, IRemoveChatRoomEntries, IRemoveChatRoomEntry, IRemoveChatroomEntries, IRemoveChatroomEntry, IReqRoomPKOptions, IRequest, IResRoomPKOptions, IResponse, IRtcTokenData, IRuntime, ISendExMsgOptions, ISendMsgOptions, IServerConversationStatus, IServerRTCRoomEntry, IServerUserSetting, ISetConversationStatusOptions, IStorage, ITagInfo, ITagListener, ITagParam, ITagStatus, ITypingInfo, ITypingMessage, ITypingUser, IUltraChannelChangeInfo, IUltraChannelDeleteInfo, IUltraChannelUserKickedInfo, IUltraExMsgOptions, IUltraGroupConversation, IUltraGroupOption, IUltraGroupUnreadMentionedOption, IUltraModifyMsgOptions, IUltraMsgQueryOptions, IUltraUnreadConversation, IUltraUnreadMsg, IUpdatedConversation, IUpdatedExpansion, IUploadAuth, IUserProfile, IWatcher, IWebSocket, IiOSPushConfig, IndexDBLogger, IndexDBReporter, RTCKeyMaps as InnerRTCKeyMaps, ItypingStateListener, KVString, LOG_REPORT_URI, LiveRole, LiveType, LogContent, LogL, LogLevel, LogSource, LogTagId, LogType, Logger, MAX_MESSAGE_CONTENT_BYTES, MAX_MESSAGE_EXPANSION_KEY_LENGTH, MAX_MESSAGE_EXPANSION_VAL_LENGTH, MINI_SOCKET_CONNECT_URIS, MentionedType, MessageBlockSourceType, MessageBlockType, MessageDirection, MessageType, NAVI_CACHE_DURATION, NAVI_REQ_TIMEOUT, NetworkType, NotificationLevel, NotificationStatus, ONE_LOG_SIZE_MAX, OperateStatus, PUBLIC_CLOUD_NAVI_URIS, PluginContext, RCAssertError, REAT_TIME_LOG_SIZE, RTCApiType, RTCIdentityChangeType, RTCJoinType, RTCMode, RTCPluginContext, ReceivedStatus, SEND_MESSAGE_TYPE_OPTION, STATUS_MESSAGE, STORAGE_ROOT_KEY, StoreKeys, TagChangeType, UltraGroupChannelChangeType, UltraGroupChannelType, UltraMsgChangeType, UltraMsgSubChangeType, UploadMethod, VersionManage, WEB_SOCKET_TIMEOUT, WebSocketChannel, appendUrl, assert, clone, cloneByJSON, deInitLogDB, logger as engineLogger, forEach, formatConnectResponseCode, getBrowser, getClientMessageId, getMimeKey, getUUID, getUUID22, getUploadFileName, indexOf, initLogDB, isArray, isArrayBuffer, isBoolean, isFunction, isHttpUrl, isInObject, isInclude, isNull, isNumber, isObject, isString, isUndefined, isValidChannelId, isValidChrmEntryKey, isValidChrmEntryValue, isValidConversationType, isValidExpansion, isValidFileType, isValidNotificationLevel, base as logger, map, notEmptyArray, notEmptyObject, notEmptyString, pushConfigsToJSON, pushJSONToConfigs, todo, usingCppEngine, validate, version };
7289
+ export { AEngine, APIContext, AbsCodec, AppStorage, AssertRules, CPP_PROTOCAL_MSGTYPE_OPTION, CallLibMsgType, ChatroomEntryType, ChatroomUserChangeType, Codec, CodecPBMaps, ConnectResultCode, ConnectionStatus, ConversationType, DB_LOG_FLUSH_FREQUENCY, DB_LOG_MAX_SIZE, DelayTimer, ErrorCode, EventEmitter, FileType, HTTP_TIMEOUT, HttpMethod, IAPIContextOption, IAndroidPushConfig, IAsyncRes, IBaseConversationInfo, IBigdataLogInit, IBlockedMessageInfo, ICancelRoomPKOptions, IChatRoomEntries, IChatRoomEntry, IChatroomEntries, IChatroomEntry, IChatroomEntryListenerData, IChatroomInfo, IChatroomListener, IChatroomListenerData, IChatroomRejoinedFailed, IChatroomRejoinedInfo, IChatroomRejoinedSuccessed, IChatroomUser, IChatroomUserChangeInfo, IChrmKVEntries, IChrmKVEntry, IConnectResult, IConnectionStatusListener, IConversationOption, IConversationState, IConversationStateListener, IConversationTag, IConversationTagListener, IDeletedExpansion, IDeliveredUser, IEndRoomPKOptions, IEngine, IEngineWatcher, IEventListener, IExpansionListener, IExpansionListenerData, IExpansionMsgContent, IExtraMethod, IGetMsgOption, IGetUltraGroupListOption, IGooglePushConfig, IGroupMessageDeliverInfo, IGroupMessageDeliverStatus, IInitBigDataOption, IInsertMsgOptions, IIsValidExpansion, IJoinRTCRoomData, ILocalReadReceiptInfo, ILocalTagStatus, ILogExtensions, ILogInfo, ILogInit, 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, INaviInfo, IOSInfo, IOperateStatusNotify, IPluginGenerator, IProcessInfo, IPromiseResult, IPushConfig, IRTCInnerListener, IRTCJoinedInfo, IRTCRoomBindOption, IRTCRoomInfo, IRTCUserData, IRTCUsers, IReadReceiptInfo, IRealTimeLog, IRecallMsgContent, IRecallMsgOptions, IReceivedConversation, IReceivedConversationByTag, IReceivedMessage, IRemoveChatRoomEntries, IRemoveChatRoomEntry, IRemoveChatroomEntries, IRemoveChatroomEntry, IReqRoomPKOptions, IRequest, IResRoomPKOptions, IResponse, IRtcTokenData, IRuntime, ISendExMsgOptions, ISendMsgOptions, IServerConversationStatus, IServerRTCRoomEntry, IServerUserSetting, ISetConversationStatusOptions, IStorage, ITagInfo, ITagListener, ITagParam, ITagStatus, ITypingInfo, ITypingMessage, ITypingUser, IUltraChannelChangeInfo, IUltraChannelDeleteInfo, IUltraChannelUserKickedInfo, IUltraExMsgOptions, IUltraGroupConversation, IUltraGroupOption, IUltraGroupUnreadMentionedOption, IUltraModifyMsgOptions, IUltraMsgQueryOptions, IUltraUnreadConversation, IUltraUnreadMsg, IUpdatedConversation, IUpdatedExpansion, IUploadAuth, IUserProfile, IWatcher, IWebSocket, IiOSPushConfig, RTCKeyMaps as InnerRTCKeyMaps, ItypingStateListener, KVString, LOG_REPORT_URI, LiveRole, LiveType, LogLevel, LogSource, LogTagId, Logger, MAX_MESSAGE_CONTENT_BYTES, MAX_MESSAGE_EXPANSION_KEY_LENGTH, MAX_MESSAGE_EXPANSION_VAL_LENGTH, MINI_SOCKET_CONNECT_URIS, MentionedType, MessageBlockSourceType, MessageBlockType, MessageDirection, MessageType, NAVI_CACHE_DURATION, NAVI_REQ_TIMEOUT, NetworkType, NotificationLevel, NotificationStatus, ONE_LOG_SIZE_MAX, OperateStatus, PUBLIC_CLOUD_NAVI_URIS, PluginContext, RCAssertError, REAT_TIME_LOG_SIZE, RTCApiType, RTCIdentityChangeType, RTCJoinType, RTCMode, RTCPluginContext, ReceivedStatus, SEND_MESSAGE_TYPE_OPTION, STATUS_MESSAGE, STORAGE_ROOT_KEY, TagChangeType, UltraGroupChannelChangeType, UltraGroupChannelType, UltraMsgChangeType, UltraMsgSubChangeType, UploadMethod, VersionManage, WEB_SOCKET_TIMEOUT, WebSocketChannel, appendUrl, assert, clone, cloneByJSON, _default as engineLogger, forEach, formatConnectResponseCode, getBrowser, getClientMessageId, getMimeKey, getUUID, getUUID22, getUploadFileName, indexOf, isArray, isArrayBuffer, isBoolean, isFunction, isHttpUrl, isInObject, isInclude, isNull, isNumber, isObject, isString, isUndefined, isValidChannelId, isValidChrmEntryKey, isValidChrmEntryValue, isValidConversationType, isValidExpansion, isValidFileType, isValidNotificationLevel, base as logger, map, notEmptyArray, notEmptyObject, notEmptyString, pushConfigsToJSON, pushJSONToConfigs, reportLog, todo, usingCppEngine, validate, version };