@rongcloud/engine 5.7.2-alpha.1 → 5.7.2-beem.2

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
@@ -454,7 +454,7 @@ declare enum ErrorCode {
454
454
  */
455
455
  CHATROOM_KV_OVERWRITE_INVALID = 23424,
456
456
  /**
457
- * 聊天室 KV 存储功能没有开通
457
+ * 未开通聊天室属性自定义设置。请在开发者后台"免费基础功能"页面开通"聊天室属性自定义设置
458
458
  */
459
459
  CHATROOM_KV_STORE_NOT_OPEN = 23426,
460
460
  /**
@@ -1462,7 +1462,8 @@ declare enum LogTagId {
1462
1462
  A_SET_MSG_CONTENT_O = "A_SET_MSG_CONTENT_O",
1463
1463
  A_REMOVE_PROXY_O = "A-remove_proxy-O",
1464
1464
  A_SET_PROXY_O = "A-set_proxy-O",
1465
- A_TEST_PROXY_O = "A-test_proxy-O"
1465
+ A_TEST_PROXY_O = "A-test_proxy-O",
1466
+ L_WEBSOCKET_DISACCORD_E = "L-websocket_disaccord-e"
1466
1467
  }
1467
1468
 
1468
1469
  /**
@@ -1530,7 +1531,8 @@ declare enum UltraMsgChangeType {
1530
1531
  MSG_EXPANSION = 1,
1531
1532
  MSG_MODIFY = 2,
1532
1533
  MSG_RECALL = 3,
1533
- CHANNEL_CHANGE = 4
1534
+ CHANNEL_CHANGE = 4,
1535
+ USER_GROUP_CHANGE = 5
1534
1536
  }
1535
1537
  /** PB 结构 MsgChange 属性 subChangeType 对应枚举值 */
1536
1538
  declare enum UltraMsgSubChangeType {
@@ -1541,6 +1543,13 @@ declare enum UltraMsgSubChangeType {
1541
1543
  CHANNEL_USER_KICKED = 5,
1542
1544
  PUBLIC_TO_PRIVATE_USER_NOT_IN = 6
1543
1545
  }
1546
+ declare enum UserGroupChangeType {
1547
+ REMOVE_USER_GROUP = 1,
1548
+ JOIN_USER_GROUP = 2,
1549
+ EXIT_USER_GROUP = 3,
1550
+ CHANNEL_BIND_USER_GROUP = 4,
1551
+ CHANNEL_UNBIND_USER_GROUP = 5
1552
+ }
1544
1553
 
1545
1554
  /**
1546
1555
  * 音视频模式
@@ -1686,10 +1695,33 @@ interface IAndroidPushConfig {
1686
1695
  * 小米的 channelId
1687
1696
  */
1688
1697
  channelIdMi?: string;
1698
+ /**
1699
+ * 小米 Large icon 链接
1700
+ * Large icon 可以出现在大图版和多字版消息中,显示在右边。
1701
+ * 国内版仅 MIUI12 以上版本支持,以下版本均不支持;国际版支持。
1702
+ * 图片要求:大小 120 * 120px,格式为 png 或者 jpg 格式。
1703
+ */
1704
+ miLargeIconUrl?: string;
1689
1705
  /**
1690
1706
  * 华为的 channelId
1691
1707
  */
1692
1708
  channelIdHW?: string;
1709
+ /**
1710
+ * 华为推送消息分类
1711
+ * 更多信息请参考华为消息分类标准文档: https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/message-classification-0000001149358835
1712
+ * 5.7.3 版本开始支持
1713
+ */
1714
+ categoryHW?: string;
1715
+ /**
1716
+ * 华为推送消息级别
1717
+ * LOW: 表示消息为资讯营销
1718
+ * NORMAL: 消息为服务与通讯
1719
+ */
1720
+ importanceHW?: 'NORMAL' | 'LOW';
1721
+ /**
1722
+ * 华为通知类型的推送所使用的通知图片 url
1723
+ */
1724
+ imageUrlHW?: string;
1693
1725
  /**
1694
1726
  * OPPO 的 channelId
1695
1727
  */
@@ -1916,6 +1948,10 @@ interface IReceivedMessage {
1916
1948
  * 拉取历史消息时表示该消息是否为超级群频道类型(仅超级群有效)
1917
1949
  */
1918
1950
  channelType?: UltraGroupChannelType;
1951
+ /**
1952
+ * 扩展内容
1953
+ */
1954
+ extraContent?: string;
1919
1955
  }
1920
1956
  /**
1921
1957
  * @category Interface
@@ -2134,6 +2170,10 @@ interface ISendMsgOptions {
2134
2170
  * 超级群专有字段,是否断档,若断档需要客户判断是否拉取
2135
2171
  */
2136
2172
  isInterrupt?: boolean;
2173
+ /**
2174
+ * 标识该消息是否为重发消息,仅 electron 中有效。
2175
+ */
2176
+ isResend?: boolean;
2137
2177
  }
2138
2178
  interface IInsertMsgOptions {
2139
2179
  senderUserId: string;
@@ -2958,6 +2998,7 @@ declare enum NetworkType {
2958
2998
  UNKONWN = "unknown"
2959
2999
  }
2960
3000
  interface IWebSocket {
3001
+ id: number;
2961
3002
  /**
2962
3003
  * 监听连接建立事件,此时 WebSocket 实例已准备好收发数据
2963
3004
  * @param callback
@@ -3047,7 +3088,32 @@ interface IExtraMethod {
3047
3088
  }
3048
3089
 
3049
3090
  /**
3050
- * 导航信息数据就结构
3091
+ * 连接协议
3092
+ * 截止 5.7.4 版本,暂不支持 rpp 和 quic
3093
+ * v2 版本文档: https://a5bq662kv5.feishu.cn/wiki/wikcnfo3lEo2CPbonDxuXFvU0Kb#K7nbeN
3094
+ */
3095
+ declare enum EConnectProtocol {
3096
+ RMTP = 1,
3097
+ TLS = 2,
3098
+ RPP = 3,
3099
+ QUIC = 4,
3100
+ WS = 5,
3101
+ WSS = 6
3102
+ }
3103
+ interface INaviRequestOption {
3104
+ appkey: string;
3105
+ uri: string;
3106
+ token: string;
3107
+ platform: string;
3108
+ isTcp?: boolean;
3109
+ }
3110
+ interface ICmpData {
3111
+ addr: string;
3112
+ protocol: EConnectProtocol;
3113
+ weight: number;
3114
+ }
3115
+ /**
3116
+ * 导航信息数据结构
3051
3117
  */
3052
3118
  interface INaviInfo {
3053
3119
  /**
@@ -3074,15 +3140,18 @@ interface INaviInfo {
3074
3140
  /**
3075
3141
  * CMP 服务 Websocket 连接地址,包含域名与端口,不含 ws 或 wss 协议头
3076
3142
  * @example a.domain.com:443
3143
+ * @note 在 V2 版本废弃
3077
3144
  */
3078
3145
  server: string;
3079
3146
  /**
3080
3147
  * 备用 CMP 服务地址,包含域名与端口,不含 ws 或 wss 协议头,多个备用地址以 ',' 分割
3081
3148
  * @example a.domain.com:443,b.domain.com:443
3149
+ * @note 在 V2 版本废弃
3082
3150
  */
3083
3151
  backupServer?: string;
3084
3152
  /**
3085
3153
  * 备用 CMP 服务地址,POST 请求 TCP 连接返回的是 bs 字段,非 backupServer 字段
3154
+ * @note 在 V2 版本废弃
3086
3155
  */
3087
3156
  bs?: string;
3088
3157
  /**
@@ -3121,6 +3190,7 @@ interface INaviInfo {
3121
3190
  * @description
3122
3191
  * 1. 公有云下,该地址为七牛云服务器地址
3123
3192
  * 2. 私有云下,该地址为私有云自研文件服务器地址
3193
+ * @note 在 V2 版本废弃
3124
3194
  */
3125
3195
  uploadServer: string;
3126
3196
  /**
@@ -3169,6 +3239,7 @@ interface INaviInfo {
3169
3239
  * @todo
3170
3240
  * 1. 确定其控制的功能
3171
3241
  * 2. 确定 web 相关性
3242
+ * @note 在 V2 版本废弃
3172
3243
  */
3173
3244
  isFormatted: number;
3174
3245
  /**
@@ -3203,6 +3274,7 @@ interface INaviInfo {
3203
3274
  * 百度 BOS 存储服务地址
3204
3275
  * @description 公有云独有配置
3205
3276
  * @example `gz.bcebos.com`
3277
+ * @deprecated 已废弃
3206
3278
  */
3207
3279
  bosAddr?: string;
3208
3280
  /**
@@ -3259,6 +3331,7 @@ interface INaviInfo {
3259
3331
  onlinelogserver?: string;
3260
3332
  /**
3261
3333
  * 链路加密字段,内容为 JSON 字符串,仅限 C++ 可用
3334
+ * @note 在 V2 版本废弃
3262
3335
  */
3263
3336
  crypto?: string;
3264
3337
  /**
@@ -3273,6 +3346,24 @@ interface INaviInfo {
3273
3346
  * 鉴权认证
3274
3347
  */
3275
3348
  jwt?: string;
3349
+ /**
3350
+ * 数据中心
3351
+ */
3352
+ dc?: string;
3353
+ /**
3354
+ * 是否开启 tls
3355
+ */
3356
+ openTLS?: number;
3357
+ /**
3358
+ * V2 版本中新增字段
3359
+ * 服务地址列表
3360
+ */
3361
+ serverAddr?: ICmpData[];
3362
+ /**
3363
+ * V2 版本中新增字段
3364
+ * 新版本控制tag
3365
+ */
3366
+ excludeLogTag?: string;
3276
3367
  }
3277
3368
 
3278
3369
  declare type INaviCache = {
@@ -3324,7 +3415,17 @@ declare abstract class BasicNavi {
3324
3415
  * @param timeout 请求超时时间
3325
3416
  * @param traceId
3326
3417
  */
3327
- protected abstract httpRequest(uri: string, appkey: string, token: string, version: string, timeout: number, traceId: string): IPromiseResult<INaviInfo>;
3418
+ protected abstract httpRequest(uri: string, appkey: string, token: string, traceId: string, finished: boolean): IPromiseResult<INaviInfo>;
3419
+ /**
3420
+ * 向目标导航服务发送请求
3421
+ * @param uri 导航服务地址
3422
+ * @param appkey
3423
+ * @param token
3424
+ * @param version
3425
+ * @param timeout 请求超时时间
3426
+ * @param traceId
3427
+ */
3428
+ protected abstract httpRequestV2(uri: string, appkey: string, token: string, traceId: string, finished: boolean): IPromiseResult<INaviInfo>;
3328
3429
  /**
3329
3430
  * 转换 Navi 接口 HTTP 请求状态码为 ErrorCode 定义
3330
3431
  * @param code
@@ -3353,6 +3454,12 @@ declare abstract class BasicNavi {
3353
3454
  * @param voipCallInfo
3354
3455
  */
3355
3456
  updateVoipCallInfo(token: string, voipCallInfo: string): void;
3457
+ protected getNaviV2RequestOption(option: INaviRequestOption): IRequest;
3458
+ /**
3459
+ * 是否使用 v2 版本导航
3460
+ * 仅私有云 rcx 使用 v1 版本
3461
+ */
3462
+ useV2Navi(): boolean;
3356
3463
  }
3357
3464
 
3358
3465
  /**
@@ -3368,8 +3475,9 @@ declare class WebSocketNavi extends BasicNavi {
3368
3475
  /**
3369
3476
  * 小程序平台服务地址,多个地址以 ',' 分割
3370
3477
  */
3371
- miniCmpUris: string, navigators?: string[]);
3372
- protected httpRequest(uri: string, appkey: string, token: string, version: string, timeout: number, traceId: string): IPromiseResult<INaviInfo>;
3478
+ miniCmpUris: string[], navigators?: string[]);
3479
+ protected httpRequest(uri: string, appkey: string, token: string, traceId: string, finished: boolean): IPromiseResult<INaviInfo>;
3480
+ protected httpRequestV2(uri: string, appkey: string, token: string, traceId: string): IPromiseResult<INaviInfo>;
3373
3481
  protected getNaviCache(formatedToken: string): INaviCache | null;
3374
3482
  protected setNaviCache(formatedToken: string, naviInfo: INaviInfo): void;
3375
3483
  }
@@ -3537,6 +3645,11 @@ declare abstract class AConnectionMgr {
3537
3645
  * @returns
3538
3646
  */
3539
3647
  getCurrentUserId(): string;
3648
+ /**
3649
+ * 缓存的 cmp 权重
3650
+ * disconnect 时重置
3651
+ */
3652
+ private cmpWeightCache?;
3540
3653
  /**
3541
3654
  * 修改连接状态
3542
3655
  * @param status
@@ -3636,6 +3749,15 @@ declare abstract class AConnectionMgr {
3636
3749
  * 清理重连计时器
3637
3750
  */
3638
3751
  private stopReconnectTimer;
3752
+ /**
3753
+ * 获取 CMP 列表
3754
+ */
3755
+ protected getCmpList(navi: INaviInfo, isTcp?: boolean): ICmpData[];
3756
+ /**
3757
+ * 修改 CMP 权重
3758
+ */
3759
+ protected updateCmpWeight(cmpUrl: string, isRise?: boolean): void;
3760
+ private clearCmpWeightCache;
3639
3761
  }
3640
3762
 
3641
3763
  /**
@@ -3826,6 +3948,10 @@ interface IEngine {
3826
3948
  * 获取第一个未读消息
3827
3949
  */
3828
3950
  getFirstUnreadMessage(conversationType: ConversationType, targetId: string, channelId: string): IPromiseResult<IReceivedMessage | null>;
3951
+ /**
3952
+ * 按msgUids打量获取消息
3953
+ */
3954
+ getMessageByMsgUids(targetId: string, channelId: string, conversationType: ConversationType, msgUids: string[]): IReceivedMessage[];
3829
3955
  /**
3830
3956
  * 设置/保存指定会话消息草稿
3831
3957
  * @draft 草稿内容
@@ -4089,6 +4215,10 @@ interface IEngine {
4089
4215
  * 获取消息
4090
4216
  */
4091
4217
  getMessage(messageId: number | string): IPromiseResult<IReceivedMessage>;
4218
+ /**
4219
+ * 设置消息附加信息
4220
+ */
4221
+ setTextMessageExtra(messageId: number, content: any): Promise<ErrorCode>;
4092
4222
  /**
4093
4223
  * 设置消息内容
4094
4224
  */
@@ -4420,9 +4550,6 @@ interface IEndRoomPKOptions {
4420
4550
  keys: string[];
4421
4551
  }
4422
4552
 
4423
- /**
4424
- * 消息送达相关接口
4425
- */
4426
4553
  /**
4427
4554
  * 送达的用户信息
4428
4555
  * @hidden
@@ -4466,6 +4593,29 @@ interface IGroupMessageDeliverStatus {
4466
4593
  list: IGroupMessageDeliveredStatusInfo[];
4467
4594
  }
4468
4595
 
4596
+ /**
4597
+ * 用户组变更数据
4598
+ */
4599
+ interface IUserGroupChangeData {
4600
+ conversation: IConversationIdentifier;
4601
+ userGroupIds: string[];
4602
+ }
4603
+ /**
4604
+ * 频道和用户组关系变更数据
4605
+ */
4606
+ interface IChannelAndUserGroupChangeData {
4607
+ conversation: IConversationOption;
4608
+ channelType: UltraGroupChannelType;
4609
+ userGroupIds: string[];
4610
+ }
4611
+ interface IUserGroupStatusInfo {
4612
+ userGroupDisband?: IUserGroupChangeData[];
4613
+ userAdded?: IUserGroupChangeData[];
4614
+ userRemoved?: IUserGroupChangeData[];
4615
+ userGroupBindChannel?: IChannelAndUserGroupChangeData[];
4616
+ userGroupUnBindChannel?: IChannelAndUserGroupChangeData[];
4617
+ }
4618
+
4469
4619
  /**
4470
4620
  * 定义已废弃,请使用 `IRemoveChatroomEntries` 替换
4471
4621
  * @deprecated
@@ -4621,6 +4771,14 @@ declare const deInitLogDB: () => Promise<void>;
4621
4771
  */
4622
4772
  declare const transcsv: (log: ILogData) => string;
4623
4773
 
4774
+ /**
4775
+ * 会话标识
4776
+ * @category Interface
4777
+ */
4778
+ interface IConversationIdentifier {
4779
+ conversationType: ConversationType;
4780
+ targetId: string;
4781
+ }
4624
4782
  /**
4625
4783
  * 会话属性
4626
4784
  * @category Interface
@@ -4745,11 +4903,6 @@ interface IWatcher {
4745
4903
  conversationState?: IConversationStateListener;
4746
4904
  chatroomState?: IChatroomListener;
4747
4905
  expansion?: IExpansionListener;
4748
- /**
4749
- * 为兼容老版本 RTCLib 与 CallLib 接收消息的方式,新版本消息走插件机制
4750
- * @deprecated
4751
- */
4752
- rtcInnerWatcher?: IRTCInnerListener;
4753
4906
  /**
4754
4907
  * 标签的增删改监听
4755
4908
  */
@@ -4786,6 +4939,7 @@ interface IWatcher {
4786
4939
  ultraGroupChannelChangeType?: (list: IUltraChannelChangeInfo[]) => void;
4787
4940
  ultraGroupChannelUserKicked?: (list: IUltraChannelUserKickedInfo[]) => void;
4788
4941
  ultraGroupChannelDelete?: (list: IUltraChannelDeleteInfo[]) => void;
4942
+ userGroupStatus?: (data: IUserGroupStatusInfo) => void;
4789
4943
  }
4790
4944
  interface IAPIContextOption {
4791
4945
  /**
@@ -4918,6 +5072,23 @@ declare class Codec<T> {
4918
5072
  private fixInt64Values;
4919
5073
  }
4920
5074
 
5075
+ declare const keymaps: CodecPBMaps;
5076
+ /**
5077
+ * 仅限 IM 内部包使用,禁止 RTCLib 直接使用从而导致业务依赖
5078
+ */
5079
+ declare type RTCKeyMaps = typeof keymaps;
5080
+
5081
+ declare class RTCEntryHandler {
5082
+ private _pullQueue;
5083
+ private _isPulling;
5084
+ private _engine;
5085
+ private _pullTime;
5086
+ constructor(engine: AEngine);
5087
+ private _startPull;
5088
+ pullEntry(roomId: string, timestamp: number): void;
5089
+ reset(): void;
5090
+ }
5091
+
4921
5092
  declare class APIContext {
4922
5093
  private _runtime;
4923
5094
  private static _context?;
@@ -4941,7 +5112,8 @@ declare class APIContext {
4941
5112
  * RTC 相关的编解码模块,用于向前兼容 RTC 旧版本的编解码,
4942
5113
  * 包括向 CppEngine 提供 RTC 业务编解码能力
4943
5114
  */
4944
- private readonly _rtcCodec;
5115
+ readonly rtcCodec: Codec<RTCKeyMaps>;
5116
+ readonly rtcKVManager: RTCEntryHandler;
4945
5117
  /**
4946
5118
  * engine 内部日志工具
4947
5119
  */
@@ -5007,6 +5179,7 @@ declare class APIContext {
5007
5179
  private _ultraGroupChannelChangeTypeListener;
5008
5180
  private _ultraGroupChannelUserKickedListener;
5009
5181
  private _ultraGroupChannelDeleteListener;
5182
+ private _userGroupStatusListener;
5010
5183
  /**
5011
5184
  * rtc 数据变更通知 pluginContext
5012
5185
  */
@@ -5194,6 +5367,10 @@ declare class APIContext {
5194
5367
  * 获取第一个未读消息
5195
5368
  */
5196
5369
  getFirstUnreadMessage(conversationType: ConversationType, targetId: string, channelId?: string): Promise<IAsyncRes<IReceivedMessage | null>>;
5370
+ /**
5371
+ * 按msgUids批量获取消息
5372
+ */
5373
+ getMessageByMsgUids(targetId: string, channelId: string, conversationType: ConversationType, msgUids: string[]): IReceivedMessage[];
5197
5374
  /**
5198
5375
  * 设置会话免打扰
5199
5376
  * 原: setConversationStatus 已废弃
@@ -5207,6 +5384,8 @@ declare class APIContext {
5207
5384
  */
5208
5385
  setConversationNotificationLevel(conversationType: ConversationType, targetId: string, notificationLevel?: NotificationLevel, channelId?: string): Promise<ErrorCode>;
5209
5386
  setConversationStatus(conversationType: ConversationType, targetId: string, isTop?: boolean, notificationStatus?: 1 | 2, channelId?: string): Promise<ErrorCode>;
5387
+ setConversationsMuteStatus(statusList: ISetConversationStatusOptions[]): Promise<ErrorCode>;
5388
+ setConversationsTopStatus(statusList: ISetConversationStatusOptions[]): Promise<ErrorCode>;
5210
5389
  saveConversationMessageDraft(conversationType: ConversationType, targetId: string, draft: string, channelId?: string): Promise<ErrorCode>;
5211
5390
  getConversationMessageDraft(conversationType: ConversationType, targetId: string, channelId?: string): Promise<IAsyncRes<string>>;
5212
5391
  clearConversationMessageDraft(conversationType: ConversationType, targetId: string, channelId?: string): Promise<ErrorCode>;
@@ -5575,6 +5754,10 @@ declare class APIContext {
5575
5754
  * 获取本地消息
5576
5755
  */
5577
5756
  getMessage(messageId: number | string): Promise<IAsyncRes<IReceivedMessage>>;
5757
+ /**
5758
+ * 设置消息附加信息
5759
+ */
5760
+ setTextMessageExtra(messageId: number, value: string): Promise<ErrorCode>;
5578
5761
  /**
5579
5762
  * 设置消息内容
5580
5763
  */
@@ -5660,74 +5843,7 @@ declare class APIContext {
5660
5843
  code: ErrorCode;
5661
5844
  buffer?: Uint8Array;
5662
5845
  }>;
5663
- /**
5664
- * 加入房间
5665
- * @param roomId
5666
- * @param mode 房间模式:直播 or 会议
5667
- * @param mediaType 直播房间模式下的媒体资源类型
5668
- */
5669
- joinRTCRoom(roomId: string, mode: RTCMode, mediaType?: number, joinType?: RTCJoinType, innerUserDatas?: IRTCUserData, outerUserDatas?: IRTCUserData): Promise<IAsyncRes<IJoinRTCRoomData>>;
5670
- quitRTCRoom(roomId: string): Promise<ErrorCode>;
5671
5846
  rtcPing(roomId: string, mode: number, mediaType?: number): Promise<IAsyncRes<any>>;
5672
- getRTCRoomInfo(roomId: string): Promise<IAsyncRes<IRTCRoomInfo>>;
5673
- getRTCUserInfoList(roomId: string): Promise<IAsyncRes<IRTCUsers>>;
5674
- getRTCUserInfo(roomId: string): IPromiseResult<unknown>;
5675
- setRTCUserInfo(roomId: string, key: string, value: string): Promise<ErrorCode>;
5676
- removeRTCUserInfo(roomId: string, keys: string[]): Promise<ErrorCode>;
5677
- setRTCData(roomId: string, key: string, value: string, isInner: boolean, apiType: RTCApiType, message?: {
5678
- name: string;
5679
- content: string;
5680
- }): Promise<ErrorCode>;
5681
- setRTCTotalRes(roomId: string, message: {
5682
- name: string;
5683
- content: string;
5684
- }, valueInfo: string, objectName: string, mcuValInfo?: string): Promise<ErrorCode>;
5685
- setRTCCDNUris(roomId: string, objectName: string, CDNUris: string): Promise<ErrorCode>;
5686
- getRTCData(roomId: string, keys: string[], isInner: boolean, apiType: RTCApiType): Promise<IAsyncRes<KVString>>;
5687
- removeRTCData(roomId: string, keys: string[], isInner: boolean, apiType: RTCApiType, message?: {
5688
- name: string;
5689
- content: string;
5690
- }): Promise<ErrorCode>;
5691
- setRTCOutData(roomId: string, rtcData: unknown, type: number, message: unknown): Promise<ErrorCode>;
5692
- getRTCOutData(roomId: string, userIds: string[]): IPromiseResult<unknown>;
5693
- getRTCToken(roomId: string, mode: number, broadcastType?: number): Promise<IAsyncRes<IRtcTokenData>>;
5694
- setRTCState(roomId: string, report: string): Promise<ErrorCode>;
5695
- getRTCUserList(roomId: string): IPromiseResult<IRTCUsers>;
5696
- /**
5697
- * 直播观众加房间
5698
- */
5699
- joinLivingRoomAsAudience(roomId: string, mode: RTCMode, broadcastType?: number): Promise<IAsyncRes<{
5700
- token: string;
5701
- kvEntries: IServerRTCRoomEntry[];
5702
- }>>;
5703
- /**
5704
- * 直播观众退出房间
5705
- */
5706
- quitLivingRoomAsAudience(roomId: string): Promise<ErrorCode>;
5707
- /**
5708
- * 直播身份切换
5709
- */
5710
- rtcIdentityChange(roomId: string, changeType: RTCIdentityChangeType, broadcastType?: number): Promise<IAsyncRes<IJoinRTCRoomData>>;
5711
- /**
5712
- * 获取加入 RTC 房间的用户信息(当前仅能查自己的)
5713
- */
5714
- getRTCJoinedUserInfo(userId: string): Promise<IAsyncRes<IRTCJoinedInfo[]>>;
5715
- /**
5716
- * 连麦 PK 请求
5717
- */
5718
- requestRoomPK(options: IReqRoomPKOptions): Promise<ErrorCode>;
5719
- /**
5720
- * 取消连麦 PK 请求
5721
- */
5722
- cancelRoomPK(options: ICancelRoomPKOptions): Promise<ErrorCode>;
5723
- /**
5724
- * 响应连麦 PK 请求
5725
- */
5726
- responseRoomPK(options: IResRoomPKOptions): Promise<ErrorCode>;
5727
- /**
5728
- * 结束连麦 PK
5729
- */
5730
- endRoomPK(options: IEndRoomPKOptions): Promise<ErrorCode>;
5731
5847
  /**
5732
5848
  * SDK设置聊天室关联的rtc房间
5733
5849
  */
@@ -5878,11 +5994,11 @@ declare class RTCPluginContext extends PluginContext {
5878
5994
  */
5879
5995
  rtcPingResVersion(roomId: string, mode: number, broadcastType?: number): Promise<IAsyncRes<any>>;
5880
5996
  /**
5881
- * @deprecated
5997
+ * @deprecated 兼容 rtc v3 方法调用
5882
5998
  */
5883
5999
  getRTCRoomInfo(roomId: string): IPromiseResult<IRTCRoomInfo>;
5884
6000
  /**
5885
- * @deprecated
6001
+ * @deprecated 兼容 rtc v3 方法调用
5886
6002
  */
5887
6003
  getRTCUserInfoList(roomId: string): IPromiseResult<IRTCUsers>;
5888
6004
  /**
@@ -5890,11 +6006,11 @@ declare class RTCPluginContext extends PluginContext {
5890
6006
  */
5891
6007
  getRTCUserInfo(roomId: string): IPromiseResult<unknown>;
5892
6008
  /**
5893
- * @deprecated
6009
+ * @deprecated 兼容 rtc v3 方法调用
5894
6010
  */
5895
6011
  setRTCUserInfo(roomId: string, key: string, value: string): Promise<ErrorCode>;
5896
6012
  /**
5897
- * @deprecated
6013
+ * @deprecated 兼容 rtc v3 方法调用
5898
6014
  */
5899
6015
  removeRTCUserInfo(roomId: string, keys: string[]): Promise<ErrorCode>;
5900
6016
  /**
@@ -5974,11 +6090,11 @@ declare class RTCPluginContext extends PluginContext {
5974
6090
  */
5975
6091
  getRTCToken(roomId: string, mode: number, broadcastType?: number): IPromiseResult<IRtcTokenData>;
5976
6092
  /**
5977
- * @deprecated
6093
+ * @deprecated RTC 北极星数据上报
5978
6094
  */
5979
6095
  setRTCState(roomId: string, report: string): Promise<ErrorCode>;
5980
6096
  /**
5981
- * @deprecated
6097
+ * @deprecated 兼容 rtc v3 方法调用
5982
6098
  */
5983
6099
  getRTCUserList(roomId: string): IPromiseResult<IRTCUsers>;
5984
6100
  /**
@@ -6050,12 +6166,6 @@ declare class RTCPluginContext extends PluginContext {
6050
6166
  getRTCJoinedUserInfo(userId: string): IPromiseResult<IRTCJoinedInfo[]>;
6051
6167
  }
6052
6168
 
6053
- declare const keymaps: CodecPBMaps;
6054
- /**
6055
- * 仅限 IM 内部包使用,禁止 RTCLib 直接使用从而导致业务依赖
6056
- */
6057
- declare type RTCKeyMaps = typeof keymaps;
6058
-
6059
6169
  interface IEngineWatcher extends IConnectionListener {
6060
6170
  /**
6061
6171
  * @param message 消息
@@ -6085,6 +6195,7 @@ interface IEngineWatcher extends IConnectionListener {
6085
6195
  groupMessageDeliveredStatus: (data: IGroupMessageDeliverStatus) => void;
6086
6196
  callInfo: (data: string) => void;
6087
6197
  onNaviDataChange: (naviInfo: INaviInfo) => void;
6198
+ userGroupStatus: (info: IUserGroupStatusInfo) => void;
6088
6199
  }
6089
6200
  /**
6090
6201
  * 引擎定义
@@ -6289,6 +6400,10 @@ declare abstract class AEngine {
6289
6400
  * 获取第一个未读消息
6290
6401
  */
6291
6402
  abstract getFirstUnreadMessage(conversationType: ConversationType, targetId: string, channelId: string): IPromiseResult<IReceivedMessage | null>;
6403
+ /**
6404
+ * 按msgUids批量获取消息
6405
+ */
6406
+ abstract getMessageByMsgUids(targetId: string, channelId: string, conversationType: ConversationType, msgUids: string[]): IReceivedMessage[];
6292
6407
  /**
6293
6408
  * 设置/保存指定会话消息草稿
6294
6409
  * @draft 草稿内容
@@ -6310,6 +6425,8 @@ declare abstract class AEngine {
6310
6425
  * 批量设置会话 置顶、免打扰
6311
6426
  */
6312
6427
  abstract batchSetConversationStatus(statusList: ISetConversationStatusOptions[]): Promise<ErrorCode>;
6428
+ abstract setConversationsMuteStatus(statusList: ISetConversationStatusOptions[]): Promise<ErrorCode>;
6429
+ abstract setConversationsTopStatus(statusList: ISetConversationStatusOptions[]): Promise<ErrorCode>;
6313
6430
  abstract sendMessage(conversationType: ConversationType, targetId: string, options: ISendMsgOptions,
6314
6431
  /**
6315
6432
  * c++ 消息写库后存在自增 Id,必要时需要向业务层暴露,JSEngine 无需实现
@@ -6662,6 +6779,10 @@ declare abstract class AEngine {
6662
6779
  * 获取消息
6663
6780
  */
6664
6781
  abstract getMessage(messageId: number | string): IPromiseResult<IReceivedMessage>;
6782
+ /**
6783
+ * 设置消息附加信息
6784
+ */
6785
+ abstract setTextMessageExtra(messageId: number, value: string): Promise<ErrorCode>;
6665
6786
  /**
6666
6787
  * 设置消息内容
6667
6788
  */
@@ -6817,51 +6938,7 @@ declare abstract class AEngine {
6817
6938
  buffer?: Uint8Array;
6818
6939
  }>;
6819
6940
  abstract rtcPing(roomId: string, mode: number, broadcastType?: number): Promise<IAsyncRes<any>>;
6820
- joinRTCRoom(roomId: string, mode: RTCMode, broadcastType?: number, joinType?: RTCJoinType, innerUserDatas?: IRTCUserData, outerUserDatas?: IRTCUserData): IPromiseResult<IJoinRTCRoomData>;
6821
- quitRTCRoom(roomId: string): Promise<ErrorCode>;
6822
- getRTCRoomInfo(roomId: string): IPromiseResult<IRTCRoomInfo>;
6823
- getRTCUserInfoList(roomId: string): IPromiseResult<IRTCUsers>;
6824
- getRTCUserInfo(roomId: string): IPromiseResult<unknown>;
6825
- setRTCUserInfo(roomId: string, key: string, value: string): Promise<ErrorCode>;
6826
- removeRTCUserInfo(roomId: string, keys: string[]): Promise<ErrorCode>;
6827
- setRTCData(roomId: string, key: string, value: string, isInner: boolean, apiType: RTCApiType, message?: {
6828
- name: string;
6829
- content: string;
6830
- }): Promise<ErrorCode>;
6831
- /**
6832
- * 全量订阅资源修改
6833
- * @param roomId 房间 Id
6834
- * @param message 向前兼容的消息内容
6835
- * @param valueInfo 全量资源数据
6836
- * @param objectName 全量 URI 消息名
6837
- */
6838
- setRTCTotalRes(roomId: string, message: {
6839
- name: string;
6840
- content: string;
6841
- }, valueInfo: string, objectName: string, mcuValInfo: string): Promise<ErrorCode>;
6842
- getRTCData(roomId: string, keys: string[], isInner: boolean, apiType: RTCApiType): IPromiseResult<KVString>;
6843
- removeRTCData(roomId: string, keys: string[], isInner: boolean, apiType: RTCApiType, message?: {
6844
- name: string;
6845
- content: string;
6846
- }): Promise<ErrorCode>;
6847
- setRTCOutData(roomId: string, rtcData: unknown, type: number, message: unknown): Promise<ErrorCode>;
6848
- getRTCOutData(roomId: string, userIds: string[]): IPromiseResult<unknown>;
6849
- getRTCToken(roomId: string, mode: number, broadcastType?: number): IPromiseResult<IRtcTokenData>;
6850
- setRTCState(roomId: string, report: string): Promise<ErrorCode>;
6851
- getRTCUserList(roomId: string): IPromiseResult<IRTCUsers>;
6852
- joinLivingRoomAsAudience(roomId: string, mode: RTCMode, broadcastType?: number): Promise<IAsyncRes<{
6853
- token: string;
6854
- kvEntries: IServerRTCRoomEntry[];
6855
- }>>;
6856
6941
  pullRTCRoomEntry(roomId: string, _timestamp: number): Promise<IAsyncRes<IChrmKVPullData>>;
6857
- quitLivingRoomAsAudience(roomId: string): Promise<ErrorCode>;
6858
- rtcIdentityChange(roomId: string, changeType: RTCIdentityChangeType, broadcastType?: number): Promise<IAsyncRes<IJoinRTCRoomData>>;
6859
- getRTCJoinedUserInfo(userId: string): Promise<IAsyncRes<IRTCJoinedInfo[]>>;
6860
- setRTCCDNUris(roomId: string, objectName: string, CDNUris: string): Promise<ErrorCode>;
6861
- requestRoomPK(options: IReqRoomPKOptions): Promise<ErrorCode>;
6862
- cancelRoomPK(options: ICancelRoomPKOptions): Promise<ErrorCode>;
6863
- responseRoomPK(options: IResRoomPKOptions): Promise<ErrorCode>;
6864
- endRoomPK(options: IEndRoomPKOptions): Promise<ErrorCode>;
6865
6942
  /**
6866
6943
  * 设置聊天室关联的rtc房间
6867
6944
  */
@@ -7061,7 +7138,7 @@ declare function ID(): string;
7061
7138
  /**
7062
7139
  * @deprecated
7063
7140
  */
7064
- declare function init(userLogInfo: any): void;
7141
+ declare function init(_logger: BasicLogger): void;
7065
7142
  /**
7066
7143
  * @deprecated
7067
7144
  */
@@ -7348,6 +7425,14 @@ declare const PUBLIC_CLOUD_NAVI_URIS: string[];
7348
7425
  * 小程序 websocket 连接地址
7349
7426
  */
7350
7427
  declare const MINI_SOCKET_CONNECT_URIS: string[];
7428
+ /**
7429
+ * 七牛存储服务地址
7430
+ */
7431
+ declare const QINIU_STORAGE_SERVER_URI: string;
7432
+ /**
7433
+ * 百度存储服务地址
7434
+ */
7435
+ declare const BAIDU_STORAGE_SERVER_URI: string;
7351
7436
  /**
7352
7437
  * IM 接口超时时间,单位毫秒
7353
7438
  */
@@ -7435,4 +7520,4 @@ declare type AbsCodec<T> = Codec<T>;
7435
7520
  */
7436
7521
  declare const version: string;
7437
7522
 
7438
- export { AConnectionMgr, AEngine, APIContext, AbsCodec, AppStorage, AssertRules, BasicLogger, BasicNavi, BasicReporter, CPP_PROTOCAL_MSGTYPE_OPTION, CallLibMsgType, ChatroomEntryType, ChatroomUserChangeType, Codec, CodecPBMaps, ConnectionStatus, ConversationType, DB_LOG_FLUSH_FREQUENCY, DB_LOG_MAX_SIZE, DEFAULT_LOG_POLICY, DelayTimer, EnableLogL, ErrorCode, EventEmitter, FORMATED_VERSION, FileType, HTTP_TIMEOUT, HttpMethod, IAPIContextOption, IAndroidPushConfig, IAsyncRes, IBaseConversationInfo, IBlockedMessageInfo, ICancelRoomPKOptions, IChatRoomEntries, IChatRoomEntry, IChatroomEntries, IChatroomEntry, IChatroomEntryListenerData, IChatroomInfo, IChatroomListener, IChatroomListenerData, IChatroomRejoinedFailed, IChatroomRejoinedInfo, IChatroomRejoinedSuccessed, IChatroomUser, IChatroomUserChangeInfo, IChrmKVEntries, IChrmKVEntry, IConnectResult, IConnectionListener, IConnectionStatusListener, 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, INaviInfo, 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, 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, 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, RCConnectionStatus, REAT_TIME_LOG_SIZE, RTCApiType, RTCIdentityChangeType, RTCJoinType, RTCMode, RTCPluginContext, ReceivedStatus, SEND_MESSAGE_TYPE_OPTION, STATUS_MESSAGE, STORAGE_ROOT_KEY, SentStatus, StoreKeys, TagChangeType, UltraGroupChannelChangeType, UltraGroupChannelType, UltraMsgChangeType, UltraMsgSubChangeType, UploadMethod, VERSION, VersionManage, WEB_SOCKET_TIMEOUT, WebSocketNavi, appendUrl, assert, clone, cloneByJSON, deInitLogDB, logger as engineLogger, forEach, getBrowser, getClientMessageId, getMimeKey, getUUID, getUUID22, getUploadFileName, indexOf, initLogDB, 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, todo, transcsv, usingCppEngine, validate, version };
7523
+ export { AConnectionMgr, AEngine, APIContext, AbsCodec, AppStorage, AssertRules, BAIDU_STORAGE_SERVER_URI, BasicLogger, BasicNavi, BasicReporter, CPP_PROTOCAL_MSGTYPE_OPTION, CallLibMsgType, ChatroomEntryType, ChatroomUserChangeType, Codec, CodecPBMaps, ConnectionStatus, ConversationType, DB_LOG_FLUSH_FREQUENCY, DB_LOG_MAX_SIZE, DEFAULT_LOG_POLICY, DelayTimer, EnableLogL, ErrorCode, EventEmitter, FORMATED_VERSION, FileType, HTTP_TIMEOUT, HttpMethod, IAPIContextOption, IAndroidPushConfig, IAsyncRes, IBaseConversationInfo, IBlockedMessageInfo, ICancelRoomPKOptions, IChannelAndUserGroupChangeData, IChatRoomEntries, IChatRoomEntry, IChatroomEntries, IChatroomEntry, IChatroomEntryListenerData, IChatroomInfo, IChatroomListener, IChatroomListenerData, 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, INaviInfo, 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, IStorage, ITagInfo, ITagListener, ITagParam, ITagStatus, ITypingInfo, ITypingMessage, ITypingUser, IUltraChannelChangeInfo, IUltraChannelDeleteInfo, IUltraChannelUserKickedInfo, IUltraExMsgOptions, IUltraGroupConversation, IUltraGroupOption, IUltraGroupUnreadMentionedOption, IUltraModifyMsgOptions, IUltraMsgQueryOptions, IUltraUnreadConversation, IUltraUnreadMsg, IUpdatedConversation, IUpdatedExpansion, IUploadAuth, IUserGroupChangeData, IUserGroupStatusInfo, IUserProfile, IWatcher, IWebSocket, IiOSPushConfig, IndexDBLogger, IndexDBReporter, RTCKeyMaps as InnerRTCKeyMaps, ItypingStateListener, KVString, 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, QINIU_STORAGE_SERVER_URI, RCAssertError, RCConnectionStatus, REAT_TIME_LOG_SIZE, RTCApiType, RTCIdentityChangeType, RTCJoinType, RTCMode, RTCPluginContext, ReceivedStatus, SEND_MESSAGE_TYPE_OPTION, STATUS_MESSAGE, STORAGE_ROOT_KEY, SentStatus, StoreKeys, TagChangeType, UltraGroupChannelChangeType, UltraGroupChannelType, UltraMsgChangeType, UltraMsgSubChangeType, UploadMethod, UserGroupChangeType, VERSION, VersionManage, WEB_SOCKET_TIMEOUT, WebSocketNavi, appendUrl, assert, clone, cloneByJSON, deInitLogDB, logger as engineLogger, forEach, getBrowser, getClientMessageId, getMimeKey, getUUID, getUUID22, getUploadFileName, indexOf, initLogDB, 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, todo, transcsv, usingCppEngine, validate, version };