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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
  /**
@@ -4089,6 +4211,10 @@ interface IEngine {
4089
4211
  * 获取消息
4090
4212
  */
4091
4213
  getMessage(messageId: number | string): IPromiseResult<IReceivedMessage>;
4214
+ /**
4215
+ * 设置消息附加信息
4216
+ */
4217
+ setTextMessageExtra(messageId: number, content: any): Promise<ErrorCode>;
4092
4218
  /**
4093
4219
  * 设置消息内容
4094
4220
  */
@@ -4420,9 +4546,6 @@ interface IEndRoomPKOptions {
4420
4546
  keys: string[];
4421
4547
  }
4422
4548
 
4423
- /**
4424
- * 消息送达相关接口
4425
- */
4426
4549
  /**
4427
4550
  * 送达的用户信息
4428
4551
  * @hidden
@@ -4466,6 +4589,29 @@ interface IGroupMessageDeliverStatus {
4466
4589
  list: IGroupMessageDeliveredStatusInfo[];
4467
4590
  }
4468
4591
 
4592
+ /**
4593
+ * 用户组变更数据
4594
+ */
4595
+ interface IUserGroupChangeData {
4596
+ conversation: IConversationIdentifier;
4597
+ userGroupIds: string[];
4598
+ }
4599
+ /**
4600
+ * 频道和用户组关系变更数据
4601
+ */
4602
+ interface IChannelAndUserGroupChangeData {
4603
+ conversation: IConversationOption;
4604
+ channelType: UltraGroupChannelType;
4605
+ userGroupIds: string[];
4606
+ }
4607
+ interface IUserGroupStatusInfo {
4608
+ userGroupDisband?: IUserGroupChangeData[];
4609
+ userAdded?: IUserGroupChangeData[];
4610
+ userRemoved?: IUserGroupChangeData[];
4611
+ userGroupBindChannel?: IChannelAndUserGroupChangeData[];
4612
+ userGroupUnBindChannel?: IChannelAndUserGroupChangeData[];
4613
+ }
4614
+
4469
4615
  /**
4470
4616
  * 定义已废弃,请使用 `IRemoveChatroomEntries` 替换
4471
4617
  * @deprecated
@@ -4621,6 +4767,14 @@ declare const deInitLogDB: () => Promise<void>;
4621
4767
  */
4622
4768
  declare const transcsv: (log: ILogData) => string;
4623
4769
 
4770
+ /**
4771
+ * 会话标识
4772
+ * @category Interface
4773
+ */
4774
+ interface IConversationIdentifier {
4775
+ conversationType: ConversationType;
4776
+ targetId: string;
4777
+ }
4624
4778
  /**
4625
4779
  * 会话属性
4626
4780
  * @category Interface
@@ -4745,11 +4899,6 @@ interface IWatcher {
4745
4899
  conversationState?: IConversationStateListener;
4746
4900
  chatroomState?: IChatroomListener;
4747
4901
  expansion?: IExpansionListener;
4748
- /**
4749
- * 为兼容老版本 RTCLib 与 CallLib 接收消息的方式,新版本消息走插件机制
4750
- * @deprecated
4751
- */
4752
- rtcInnerWatcher?: IRTCInnerListener;
4753
4902
  /**
4754
4903
  * 标签的增删改监听
4755
4904
  */
@@ -4786,6 +4935,7 @@ interface IWatcher {
4786
4935
  ultraGroupChannelChangeType?: (list: IUltraChannelChangeInfo[]) => void;
4787
4936
  ultraGroupChannelUserKicked?: (list: IUltraChannelUserKickedInfo[]) => void;
4788
4937
  ultraGroupChannelDelete?: (list: IUltraChannelDeleteInfo[]) => void;
4938
+ userGroupStatus?: (data: IUserGroupStatusInfo) => void;
4789
4939
  }
4790
4940
  interface IAPIContextOption {
4791
4941
  /**
@@ -4918,6 +5068,23 @@ declare class Codec<T> {
4918
5068
  private fixInt64Values;
4919
5069
  }
4920
5070
 
5071
+ declare const keymaps: CodecPBMaps;
5072
+ /**
5073
+ * 仅限 IM 内部包使用,禁止 RTCLib 直接使用从而导致业务依赖
5074
+ */
5075
+ declare type RTCKeyMaps = typeof keymaps;
5076
+
5077
+ declare class RTCEntryHandler {
5078
+ private _pullQueue;
5079
+ private _isPulling;
5080
+ private _engine;
5081
+ private _pullTime;
5082
+ constructor(engine: AEngine);
5083
+ private _startPull;
5084
+ pullEntry(roomId: string, timestamp: number): void;
5085
+ reset(): void;
5086
+ }
5087
+
4921
5088
  declare class APIContext {
4922
5089
  private _runtime;
4923
5090
  private static _context?;
@@ -4941,7 +5108,8 @@ declare class APIContext {
4941
5108
  * RTC 相关的编解码模块,用于向前兼容 RTC 旧版本的编解码,
4942
5109
  * 包括向 CppEngine 提供 RTC 业务编解码能力
4943
5110
  */
4944
- private readonly _rtcCodec;
5111
+ readonly rtcCodec: Codec<RTCKeyMaps>;
5112
+ readonly rtcKVManager: RTCEntryHandler;
4945
5113
  /**
4946
5114
  * engine 内部日志工具
4947
5115
  */
@@ -5007,6 +5175,7 @@ declare class APIContext {
5007
5175
  private _ultraGroupChannelChangeTypeListener;
5008
5176
  private _ultraGroupChannelUserKickedListener;
5009
5177
  private _ultraGroupChannelDeleteListener;
5178
+ private _userGroupStatusListener;
5010
5179
  /**
5011
5180
  * rtc 数据变更通知 pluginContext
5012
5181
  */
@@ -5207,6 +5376,8 @@ declare class APIContext {
5207
5376
  */
5208
5377
  setConversationNotificationLevel(conversationType: ConversationType, targetId: string, notificationLevel?: NotificationLevel, channelId?: string): Promise<ErrorCode>;
5209
5378
  setConversationStatus(conversationType: ConversationType, targetId: string, isTop?: boolean, notificationStatus?: 1 | 2, channelId?: string): Promise<ErrorCode>;
5379
+ setConversationsMuteStatus(statusList: ISetConversationStatusOptions[]): Promise<ErrorCode>;
5380
+ setConversationsTopStatus(statusList: ISetConversationStatusOptions[]): Promise<ErrorCode>;
5210
5381
  saveConversationMessageDraft(conversationType: ConversationType, targetId: string, draft: string, channelId?: string): Promise<ErrorCode>;
5211
5382
  getConversationMessageDraft(conversationType: ConversationType, targetId: string, channelId?: string): Promise<IAsyncRes<string>>;
5212
5383
  clearConversationMessageDraft(conversationType: ConversationType, targetId: string, channelId?: string): Promise<ErrorCode>;
@@ -5575,6 +5746,10 @@ declare class APIContext {
5575
5746
  * 获取本地消息
5576
5747
  */
5577
5748
  getMessage(messageId: number | string): Promise<IAsyncRes<IReceivedMessage>>;
5749
+ /**
5750
+ * 设置消息附加信息
5751
+ */
5752
+ setTextMessageExtra(messageId: number, value: string): Promise<ErrorCode>;
5578
5753
  /**
5579
5754
  * 设置消息内容
5580
5755
  */
@@ -5660,74 +5835,7 @@ declare class APIContext {
5660
5835
  code: ErrorCode;
5661
5836
  buffer?: Uint8Array;
5662
5837
  }>;
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
5838
  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
5839
  /**
5732
5840
  * SDK设置聊天室关联的rtc房间
5733
5841
  */
@@ -5878,11 +5986,11 @@ declare class RTCPluginContext extends PluginContext {
5878
5986
  */
5879
5987
  rtcPingResVersion(roomId: string, mode: number, broadcastType?: number): Promise<IAsyncRes<any>>;
5880
5988
  /**
5881
- * @deprecated
5989
+ * @deprecated 兼容 rtc v3 方法调用
5882
5990
  */
5883
5991
  getRTCRoomInfo(roomId: string): IPromiseResult<IRTCRoomInfo>;
5884
5992
  /**
5885
- * @deprecated
5993
+ * @deprecated 兼容 rtc v3 方法调用
5886
5994
  */
5887
5995
  getRTCUserInfoList(roomId: string): IPromiseResult<IRTCUsers>;
5888
5996
  /**
@@ -5890,11 +5998,11 @@ declare class RTCPluginContext extends PluginContext {
5890
5998
  */
5891
5999
  getRTCUserInfo(roomId: string): IPromiseResult<unknown>;
5892
6000
  /**
5893
- * @deprecated
6001
+ * @deprecated 兼容 rtc v3 方法调用
5894
6002
  */
5895
6003
  setRTCUserInfo(roomId: string, key: string, value: string): Promise<ErrorCode>;
5896
6004
  /**
5897
- * @deprecated
6005
+ * @deprecated 兼容 rtc v3 方法调用
5898
6006
  */
5899
6007
  removeRTCUserInfo(roomId: string, keys: string[]): Promise<ErrorCode>;
5900
6008
  /**
@@ -5974,11 +6082,11 @@ declare class RTCPluginContext extends PluginContext {
5974
6082
  */
5975
6083
  getRTCToken(roomId: string, mode: number, broadcastType?: number): IPromiseResult<IRtcTokenData>;
5976
6084
  /**
5977
- * @deprecated
6085
+ * @deprecated RTC 北极星数据上报
5978
6086
  */
5979
6087
  setRTCState(roomId: string, report: string): Promise<ErrorCode>;
5980
6088
  /**
5981
- * @deprecated
6089
+ * @deprecated 兼容 rtc v3 方法调用
5982
6090
  */
5983
6091
  getRTCUserList(roomId: string): IPromiseResult<IRTCUsers>;
5984
6092
  /**
@@ -6050,12 +6158,6 @@ declare class RTCPluginContext extends PluginContext {
6050
6158
  getRTCJoinedUserInfo(userId: string): IPromiseResult<IRTCJoinedInfo[]>;
6051
6159
  }
6052
6160
 
6053
- declare const keymaps: CodecPBMaps;
6054
- /**
6055
- * 仅限 IM 内部包使用,禁止 RTCLib 直接使用从而导致业务依赖
6056
- */
6057
- declare type RTCKeyMaps = typeof keymaps;
6058
-
6059
6161
  interface IEngineWatcher extends IConnectionListener {
6060
6162
  /**
6061
6163
  * @param message 消息
@@ -6085,6 +6187,7 @@ interface IEngineWatcher extends IConnectionListener {
6085
6187
  groupMessageDeliveredStatus: (data: IGroupMessageDeliverStatus) => void;
6086
6188
  callInfo: (data: string) => void;
6087
6189
  onNaviDataChange: (naviInfo: INaviInfo) => void;
6190
+ userGroupStatus: (info: IUserGroupStatusInfo) => void;
6088
6191
  }
6089
6192
  /**
6090
6193
  * 引擎定义
@@ -6310,6 +6413,8 @@ declare abstract class AEngine {
6310
6413
  * 批量设置会话 置顶、免打扰
6311
6414
  */
6312
6415
  abstract batchSetConversationStatus(statusList: ISetConversationStatusOptions[]): Promise<ErrorCode>;
6416
+ abstract setConversationsMuteStatus(statusList: ISetConversationStatusOptions[]): Promise<ErrorCode>;
6417
+ abstract setConversationsTopStatus(statusList: ISetConversationStatusOptions[]): Promise<ErrorCode>;
6313
6418
  abstract sendMessage(conversationType: ConversationType, targetId: string, options: ISendMsgOptions,
6314
6419
  /**
6315
6420
  * c++ 消息写库后存在自增 Id,必要时需要向业务层暴露,JSEngine 无需实现
@@ -6662,6 +6767,10 @@ declare abstract class AEngine {
6662
6767
  * 获取消息
6663
6768
  */
6664
6769
  abstract getMessage(messageId: number | string): IPromiseResult<IReceivedMessage>;
6770
+ /**
6771
+ * 设置消息附加信息
6772
+ */
6773
+ abstract setTextMessageExtra(messageId: number, value: string): Promise<ErrorCode>;
6665
6774
  /**
6666
6775
  * 设置消息内容
6667
6776
  */
@@ -6817,51 +6926,7 @@ declare abstract class AEngine {
6817
6926
  buffer?: Uint8Array;
6818
6927
  }>;
6819
6928
  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
6929
  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
6930
  /**
6866
6931
  * 设置聊天室关联的rtc房间
6867
6932
  */
@@ -7061,7 +7126,7 @@ declare function ID(): string;
7061
7126
  /**
7062
7127
  * @deprecated
7063
7128
  */
7064
- declare function init(userLogInfo: any): void;
7129
+ declare function init(_logger: BasicLogger): void;
7065
7130
  /**
7066
7131
  * @deprecated
7067
7132
  */
@@ -7348,6 +7413,14 @@ declare const PUBLIC_CLOUD_NAVI_URIS: string[];
7348
7413
  * 小程序 websocket 连接地址
7349
7414
  */
7350
7415
  declare const MINI_SOCKET_CONNECT_URIS: string[];
7416
+ /**
7417
+ * 七牛存储服务地址
7418
+ */
7419
+ declare const QINIU_STORAGE_SERVER_URI: string;
7420
+ /**
7421
+ * 百度存储服务地址
7422
+ */
7423
+ declare const BAIDU_STORAGE_SERVER_URI: string;
7351
7424
  /**
7352
7425
  * IM 接口超时时间,单位毫秒
7353
7426
  */
@@ -7435,4 +7508,4 @@ declare type AbsCodec<T> = Codec<T>;
7435
7508
  */
7436
7509
  declare const version: string;
7437
7510
 
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 };
7511
+ 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 };