4209 lines
214 KiB
JavaScript
4209 lines
214 KiB
JavaScript
const RCUniIM = uni.requireNativePlugin('RongCloud-IM-V2-RCUniIMV2');
|
||
import { RCIMIWPushType, RCIMIWErrorCode } from './RCIMDefines';
|
||
import * as RCIMLog from './utils/RCIMLog';
|
||
import { AssertRules, validate } from './utils/assert';
|
||
import { RCIMIWLogLevel, } from './RCIMDefines';
|
||
const paramErrorPromise = Promise.resolve(RCIMIWErrorCode.paramError);
|
||
let instance;
|
||
export default class RCIMIWEngine {
|
||
static _invokeMethod(name, params) {
|
||
RCIMLog.log(RCIMIWLogLevel.info, `invokeMethod methodName: ${name}, params:${JSON.stringify(params)}`);
|
||
return new Promise((resolve, _) => {
|
||
RCUniIM.invokeMethod({ name, params }, (res) => {
|
||
resolve(res);
|
||
});
|
||
});
|
||
}
|
||
_invokeMethod(name, callback, params) {
|
||
RCIMLog.log(RCIMIWLogLevel.info, `invokeMethod methodName: ${name}, params:${JSON.stringify(params)}`);
|
||
return new Promise((resolve, _) => {
|
||
if (callback) {
|
||
RCUniIM.invokeMethod({ name, params }, (res) => {
|
||
resolve(res);
|
||
}, callback);
|
||
}
|
||
else {
|
||
RCUniIM.invokeMethod({ name, params }, (res) => {
|
||
resolve(res);
|
||
});
|
||
}
|
||
});
|
||
}
|
||
_setListener(eventName, callback) {
|
||
RCIMLog.log(RCIMIWLogLevel.info, `setListener eventName: ${eventName}, callback:${callback != null}`);
|
||
// 因为单个事件名只支持设置一个监听,所以要先移除已有的监听。
|
||
RCUniIM.removeAllEventListeners(eventName);
|
||
if (callback) {
|
||
let listener = (res) => {
|
||
callback(res.data);
|
||
};
|
||
RCUniIM.addEventListener(eventName, listener);
|
||
}
|
||
}
|
||
/**
|
||
* 初始化 IM 对象
|
||
* @param appKey 融云后台申请的应用 appKey
|
||
* @param options 全局配置项
|
||
* @returns 创建的 IM 对象
|
||
*/
|
||
static async create(appKey, options = {}) {
|
||
if (instance) {
|
||
return new Promise((resolve) => resolve(instance));
|
||
}
|
||
let code = await RCIMIWEngine._invokeMethod('create', { appKey, options });
|
||
if (code === 0) {
|
||
instance = new RCIMIWEngine();
|
||
return instance;
|
||
}
|
||
return new Promise((resolve) => resolve(null));
|
||
}
|
||
/**
|
||
* 销毁 IM 对象
|
||
*/
|
||
async destroy() {
|
||
let code = await this._invokeMethod('destroy', null);
|
||
if (code === 0) {
|
||
instance = null;
|
||
}
|
||
return code;
|
||
}
|
||
/**
|
||
* 注册推送 token 给融云,用于不集成融云推送 SDK 但需使用融云消息推送能力。
|
||
* 如果是 iOS 平台时,会忽略传入的 pushType 值,只使用 pushToken 参数。
|
||
* 该方法需要在 IM 初始化后 3 秒再调用。
|
||
* @param pushType 推送厂商类型
|
||
* @param pushToken 推送 token (厂商接口 或 三方推送 SDK 提供的)
|
||
* @returns 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
*/
|
||
registerPushToken(pushType, pushToken) {
|
||
if (!validate('pushType', pushType, AssertRules.NUMBER, true) ||
|
||
!validate('pushToken', pushToken, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
const Platform = uni.getSystemInfoSync().platform;
|
||
if (Platform == 'android' && pushType == RCIMIWPushType.iOS) {
|
||
RCIMLog.log(RCIMIWLogLevel.error, 'pushType iOS only support iOS platform');
|
||
return paramErrorPromise;
|
||
}
|
||
return this._invokeMethod('registerPushToken', null, { pushType, pushToken });
|
||
}
|
||
// /**
|
||
// * 根据消息 id 获取消息体(本地数据库索引唯一值)。
|
||
// * @param messageId 消息的 messageId,可在消息对象中获取
|
||
// */
|
||
// getMessageById(messageId: number): Promise<{code: number, message: RCIMIWMessage}> {
|
||
// return this._invokeMethod('getMessageById', {messageId});
|
||
// }
|
||
// /**
|
||
// * 通过全局唯一 id 获取消息实体。
|
||
// * @param messageUId 消息的 messageUid,可在消息对象中获取,且只有发送成功的消息才会有值。
|
||
// */
|
||
// getMessageByUId(messageUId: string): Promise<{code: number, message: RCIMIWMessage}> {
|
||
// return this._invokeMethod('getMessageByUId', {messageUId});
|
||
// }
|
||
/**
|
||
* 注册原生自定义普通消息
|
||
* @param messageIdentifier 消息的唯一标识
|
||
* @param persistentFlag 消息的存储策略
|
||
* @return 当次接口操作的状态码。0 代表调用成功,非 0 代表当前接口调用操作失败,详细错误参考错误码
|
||
*/
|
||
registerNativeCustomMessage(messageIdentifier, persistentFlag) {
|
||
if (!validate('messageIdentifier', messageIdentifier, AssertRules.STRING, true) ||
|
||
!validate('persistentFlag', persistentFlag, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('registerNativeCustomMessage', resultCallback, { messageIdentifier, persistentFlag });
|
||
}
|
||
/**
|
||
* 注册原生自定义媒体消息
|
||
* @param messageIdentifier 消息的唯一标识
|
||
* @param persistentFlag 消息的存储策略
|
||
* @return 当次接口操作的状态码。0 代表调用成功,非 0 代表当前接口调用操作失败,详细错误参考错误码
|
||
*/
|
||
registerNativeCustomMediaMessage(messageIdentifier, persistentFlag) {
|
||
if (!validate('messageIdentifier', messageIdentifier, AssertRules.STRING, true) ||
|
||
!validate('persistentFlag', persistentFlag, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('registerNativeCustomMediaMessage', resultCallback, {
|
||
messageIdentifier,
|
||
persistentFlag,
|
||
});
|
||
}
|
||
/**
|
||
* 连接融云服务器,在整个应用程序全局,只需要调用一次。调用此接口返回非业务错误码时,SDK 会启动重连机制进行重连;如果仍没有连接成功,会在设备网络状态变化时再次进行重连。
|
||
* @param token 调用 server api 获取到的 token
|
||
* @param timeout 连接超时时间,单位:秒。
|
||
* timeLimit <= 0,则 IM 将一直连接,直到连接成功或者无法连接(如 token 非法)
|
||
* timeLimit > 0,则 IM 将最多连接 timeLimit 秒
|
||
* 如果在 timeLimit 秒内连接成功,后面再发生了网络变化或前后台切换,SDK 会自动重连; 如果在 timeLimit 秒无法连接成功则不再进行重连,通过 listener 告知连接超时,您需要再自行调用 connect 接口
|
||
* @param callback 链接事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener 接口回调可以监听 [onConnected]
|
||
*/
|
||
connect(token, timeout, callback) {
|
||
if (!validate('token', token, AssertRules.STRING, true) ||
|
||
!validate('timeout', timeout, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onDatabaseOpened') {
|
||
let { code } = res;
|
||
callback.onDatabaseOpened?.({ code });
|
||
}
|
||
if (res.callbackName === 'onConnected') {
|
||
let { code, userId } = res;
|
||
callback.onConnected?.({ code, userId });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('connect', resultCallback, { token, timeout });
|
||
}
|
||
/**
|
||
* 断开链接
|
||
* 注:因为 SDK 在前后台切换或者网络出现异常都会自动重连,保证连接可靠性。 所以除非您的 App 逻辑需要登出,否则一般不需要调用此方法进行手动断开
|
||
* @param receivePush 退出后是否接收 push,true:断开后接收远程推送,false:断开后不再接收远程推送
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
*/
|
||
disconnect(receivePush) {
|
||
if (!validate('receivePush', receivePush, AssertRules.BOOLEAN, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('disconnect', resultCallback, { receivePush });
|
||
}
|
||
/**
|
||
* 构建文本消息
|
||
* @param type 会话类型,
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param text 文本内容
|
||
* @return 文本消息实体
|
||
*/
|
||
createTextMessage(type, targetId, channelId, text) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('text', text, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('createTextMessage', resultCallback, { type, targetId, channelId, text });
|
||
}
|
||
/**
|
||
* 构建图片消息
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param path 图片消息的本地路径,必须为有效路径
|
||
* @return 图片消息实体
|
||
*/
|
||
createImageMessage(type, targetId, channelId, path) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('path', path, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('createImageMessage', resultCallback, { type, targetId, channelId, path });
|
||
}
|
||
/**
|
||
* 构建文件消息
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param path 文件消息的本地路径,必须为有效路径
|
||
* @return 文件消息实体
|
||
*/
|
||
createFileMessage(type, targetId, channelId, path) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('path', path, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('createFileMessage', resultCallback, { type, targetId, channelId, path });
|
||
}
|
||
/**
|
||
* 构建小视频消息
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param path 小视频消息的本地路径,必须为有效路径
|
||
* @param duration 小视频消息的视频时长
|
||
* @return 视频消息实体
|
||
*/
|
||
createSightMessage(type, targetId, channelId, path, duration) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('path', path, AssertRules.STRING, true) ||
|
||
!validate('duration', duration, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('createSightMessage', resultCallback, { type, targetId, channelId, path, duration });
|
||
}
|
||
/**
|
||
* 构建语音消息 (高清语音)
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param path 语音消息的本地路径,必须为有效路径
|
||
* @param duration 语音消息的消息时长
|
||
* @return 语音消息的实体
|
||
*/
|
||
createVoiceMessage(type, targetId, channelId, path, duration) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('path', path, AssertRules.STRING, true) ||
|
||
!validate('duration', duration, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('createVoiceMessage', resultCallback, { type, targetId, channelId, path, duration });
|
||
}
|
||
/**
|
||
* 构建引用消息
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param referenceMessage 引用的消息
|
||
* @param text 引用的文本内容
|
||
* @return 引用消息实体
|
||
*/
|
||
createReferenceMessage(type, targetId, channelId, referenceMessage, text) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('referenceMessage', referenceMessage, AssertRules.OBJECT, true) ||
|
||
!validate('text', text, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('createReferenceMessage', resultCallback, {
|
||
type,
|
||
targetId,
|
||
channelId,
|
||
referenceMessage,
|
||
text,
|
||
});
|
||
}
|
||
/**
|
||
* 构建 GIF 消息
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param path GIF 消息的本地路径
|
||
* @return GIF 消息实体
|
||
*/
|
||
createGIFMessage(type, targetId, channelId, path) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('path', path, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('createGIFMessage', resultCallback, { type, targetId, channelId, path });
|
||
}
|
||
/**
|
||
* 构建自定义消息
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param policy 消息的存储策略
|
||
* @param messageIdentifier 消息的标识符,需唯一
|
||
* @param fields 消息的内容键值对
|
||
* @return 自定义消息实体
|
||
*/
|
||
createCustomMessage(type, targetId, channelId, policy, messageIdentifier, fields) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('policy', policy, AssertRules.NUMBER, true) ||
|
||
!validate('messageIdentifier', messageIdentifier, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('createCustomMessage', resultCallback, {
|
||
type,
|
||
targetId,
|
||
channelId,
|
||
policy,
|
||
messageIdentifier,
|
||
fields,
|
||
});
|
||
}
|
||
/**
|
||
* 构建位置消息
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param longitude 经度
|
||
* @param latitude 纬度
|
||
* @param poiName POI 信息
|
||
* @param thumbnailPath 缩略图本地路径,必须为有效路径
|
||
* @return 位置消息实体
|
||
*/
|
||
createLocationMessage(type, targetId, channelId, longitude, latitude, poiName, thumbnailPath) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('longitude', longitude, AssertRules.NUMBER, true) ||
|
||
!validate('latitude', latitude, AssertRules.NUMBER, true) ||
|
||
!validate('poiName', poiName, AssertRules.STRING, true) ||
|
||
!validate('thumbnailPath', thumbnailPath, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('createLocationMessage', resultCallback, {
|
||
type,
|
||
targetId,
|
||
channelId,
|
||
longitude,
|
||
latitude,
|
||
poiName,
|
||
thumbnailPath,
|
||
});
|
||
}
|
||
/**
|
||
* 构建原生自定义普通消息
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param messageIdentifier 消息的标识符,需唯一
|
||
* @param fields 消息的内容键值对
|
||
* @return 原生自定义普通消息
|
||
*/
|
||
createNativeCustomMessage(type, targetId, channelId, messageIdentifier, fields) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('messageIdentifier', messageIdentifier, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('createNativeCustomMessage', resultCallback, {
|
||
type,
|
||
targetId,
|
||
channelId,
|
||
messageIdentifier,
|
||
fields,
|
||
});
|
||
}
|
||
/**
|
||
* 构建原生自定义媒体消息
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param messageIdentifier 消息的标识符,需唯一
|
||
* @param path 媒体文件的本地路径,必须为有效路径
|
||
* @param fields 消息的内容键值对
|
||
* @return 原生自定义媒体消息
|
||
*/
|
||
createNativeCustomMediaMessage(type, targetId, channelId, messageIdentifier, path, fields) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('messageIdentifier', messageIdentifier, AssertRules.STRING, true) ||
|
||
!validate('path', path, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('createNativeCustomMediaMessage', resultCallback, {
|
||
type,
|
||
targetId,
|
||
channelId,
|
||
messageIdentifier,
|
||
path,
|
||
fields,
|
||
});
|
||
}
|
||
/**
|
||
* 发送普通消息
|
||
* @param message 发送的消息实体
|
||
* @param callback 发送消息的事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener 接口回调可以监听 [onMessageAttached],[onMessageSent]
|
||
*/
|
||
sendMessage(message, callback) {
|
||
if (!validate('message', message, AssertRules.OBJECT, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onMessageSaved') {
|
||
let { message } = res;
|
||
callback.onMessageSaved?.({ message });
|
||
}
|
||
if (res.callbackName === 'onMessageSent') {
|
||
let { code, message } = res;
|
||
callback.onMessageSent?.({ code, message });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('sendMessage', resultCallback, { message });
|
||
}
|
||
/**
|
||
* 发送媒体消息
|
||
* @param message 发送的媒体消息实体
|
||
* @param listener 发送媒体消息的事件监听
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener 接口回调可以监听 [onMediaMessageSending],[onMediaMessageAttached],[onMediaMessageSent]
|
||
*/
|
||
sendMediaMessage(message, listener) {
|
||
if (!validate('message', message, AssertRules.OBJECT, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (listener) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onMediaMessageSaved') {
|
||
let { message } = res;
|
||
listener.onMediaMessageSaved?.({ message });
|
||
}
|
||
if (res.callbackName === 'onMediaMessageSending') {
|
||
let { message, progress } = res;
|
||
listener.onMediaMessageSending?.({ message, progress });
|
||
}
|
||
if (res.callbackName === 'onSendingMediaMessageCanceled') {
|
||
let { message } = res;
|
||
listener.onSendingMediaMessageCanceled?.({ message });
|
||
}
|
||
if (res.callbackName === 'onMediaMessageSent') {
|
||
let { code, message } = res;
|
||
listener.onMediaMessageSent?.({ code, message });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('sendMediaMessage', resultCallback, { message });
|
||
}
|
||
/**
|
||
* 取消发送媒体消息
|
||
* @param message 需要取消发送的媒体消息实体
|
||
* @param callback 取消发送媒体消息的事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener 接口回调可以监听 [onSendingMediaMessageCanceled]
|
||
*/
|
||
cancelSendingMediaMessage(message, callback) {
|
||
if (!validate('message', message, AssertRules.OBJECT, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onCancelSendingMediaMessageCalled') {
|
||
let { code, message } = res;
|
||
callback.onCancelSendingMediaMessageCalled?.({ code, message });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('cancelSendingMediaMessage', resultCallback, { message });
|
||
}
|
||
/**
|
||
* 下载媒体消息
|
||
* @param message 需要下载的媒体消息实体
|
||
* @param listener 下载媒体消息的事件监听
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onMediaMessageDownloaded], [onMediaMessageDownloading]
|
||
*/
|
||
downloadMediaMessage(message, listener) {
|
||
if (!validate('message', message, AssertRules.OBJECT, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (listener) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onMediaMessageDownloading') {
|
||
let { message, progress } = res;
|
||
listener.onMediaMessageDownloading?.({ message, progress });
|
||
}
|
||
if (res.callbackName === 'onDownloadingMediaMessageCanceled') {
|
||
let { message } = res;
|
||
listener.onDownloadingMediaMessageCanceled?.({ message });
|
||
}
|
||
if (res.callbackName === 'onMediaMessageDownloaded') {
|
||
let { code, message } = res;
|
||
listener.onMediaMessageDownloaded?.({ code, message });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('downloadMediaMessage', resultCallback, { message });
|
||
}
|
||
/**
|
||
* 取消下载媒体消息
|
||
* @param message 需要取消下载的媒体消息实体
|
||
* @param callback 取消下载媒体消息的事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onDownloadingMediaMessageCanceled]
|
||
*/
|
||
cancelDownloadingMediaMessage(message, callback) {
|
||
if (!validate('message', message, AssertRules.OBJECT, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onCancelDownloadingMediaMessageCalled') {
|
||
let { code, message } = res;
|
||
callback.onCancelDownloadingMediaMessageCalled?.({ code, message });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('cancelDownloadingMediaMessage', resultCallback, { message });
|
||
}
|
||
/**
|
||
* 加载某个会话
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onConversationLoaded]
|
||
* @deprecated 用 {@link #getConversation(RCIMIWConversationType, String, String, IRCIMIWGetConversationCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadConversation(type, targetId, channelId) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('loadConversation', resultCallback, { type, targetId, channelId });
|
||
}
|
||
/**
|
||
* 获取某个会话
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可
|
||
* @param callback 获取会话事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onConversationLoaded]
|
||
*/
|
||
getConversation(type, targetId, channelId, callback) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getConversation', resultCallback, { type, targetId, channelId });
|
||
}
|
||
/**
|
||
* 加载某些会话
|
||
* @param conversationTypes 会话类型
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可
|
||
* @param startTime 时间戳(毫秒),获取小于此时间戳的会话,传 0 为查询最新数据
|
||
* @param count 查询的数量, 0 < count <= 50
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onConversationsLoaded]
|
||
* @deprecated 用 {@link #getConversations(List, String, long, int, IRCIMIWGetConversationsCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadConversations(conversationTypes, channelId, startTime, count) {
|
||
if (!validate('conversationTypes', conversationTypes, AssertRules.NUMBER_ARRAY, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('startTime', startTime, AssertRules.NUMBER, true) ||
|
||
!validate('count', count, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('loadConversations', resultCallback, {
|
||
conversationTypes,
|
||
channelId,
|
||
startTime,
|
||
count,
|
||
});
|
||
}
|
||
/**
|
||
* 获取某些会话
|
||
* @param conversationTypes 会话类型
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可
|
||
* @param startTime 时间戳(毫秒),获取小于此时间戳的会话,传 0 为查询最新数据
|
||
* @param count 查询的数量, 0 < count <= 50
|
||
* @param callback 获取会话列表事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onConversationsLoaded]
|
||
*/
|
||
getConversations(conversationTypes, channelId, startTime, count, callback) {
|
||
if (!validate('conversationTypes', conversationTypes, AssertRules.NUMBER_ARRAY, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('startTime', startTime, AssertRules.NUMBER, true) ||
|
||
!validate('count', count, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getConversations', resultCallback, {
|
||
conversationTypes,
|
||
channelId,
|
||
startTime,
|
||
count,
|
||
});
|
||
}
|
||
/**
|
||
* 获取指定类型的含有未读消息的会话列表
|
||
* @param conversationTypes 支持单聊、群聊、系统会话
|
||
* @param callback 获取会话列表事件回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
*/
|
||
getUnreadConversations(conversationTypes, callback) {
|
||
if (!validate('conversationTypes', conversationTypes, AssertRules.NUMBER_ARRAY, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getUnreadConversations', resultCallback, { conversationTypes });
|
||
}
|
||
/**
|
||
* 移除某个会话
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可
|
||
* @param callback 移除会话事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onConversationRemoved]
|
||
*/
|
||
removeConversation(type, targetId, channelId, callback) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onConversationRemoved') {
|
||
let { code } = res;
|
||
callback.onConversationRemoved?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('removeConversation', resultCallback, { type, targetId, channelId });
|
||
}
|
||
/**
|
||
* 根据会话类型移除会话
|
||
* @param conversationTypes 会话类型集合
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param callback 移除会话列表事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onConversationsRemoved]
|
||
*/
|
||
removeConversations(conversationTypes, channelId, callback) {
|
||
if (!validate('conversationTypes', conversationTypes, AssertRules.NUMBER_ARRAY, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onConversationsRemoved') {
|
||
let { code } = res;
|
||
callback.onConversationsRemoved?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('removeConversations', resultCallback, { conversationTypes, channelId });
|
||
}
|
||
/**
|
||
* 加载某个会话的未读数
|
||
* 注:不支持聊天室!
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUnreadCountLoaded]
|
||
* @deprecated 用 {@link #getUnreadCount(RCIMIWConversationType, String, String, IRCIMIWGetUnreadCountCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadUnreadCount(type, targetId, channelId) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('loadUnreadCount', resultCallback, { type, targetId, channelId });
|
||
}
|
||
/**
|
||
* 获取某个会话的未读数
|
||
* 注:不支持聊天室!
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param callback 获取会话未读数事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUnreadCountLoaded]
|
||
*/
|
||
getUnreadCount(type, targetId, channelId, callback) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getUnreadCount', resultCallback, { type, targetId, channelId });
|
||
}
|
||
/**
|
||
* 加载所有未读数
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onTotalUnreadCountLoaded]
|
||
* @deprecated 用 {@link #getTotalUnreadCount(String, IRCIMIWGetTotalUnreadCountCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadTotalUnreadCount(channelId) {
|
||
if (!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('loadTotalUnreadCount', resultCallback, { channelId });
|
||
}
|
||
/**
|
||
* 获取所有未读数
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param callback 获取所有未读数事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onTotalUnreadCountLoaded]
|
||
*/
|
||
getTotalUnreadCount(channelId, callback) {
|
||
if (!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getTotalUnreadCount', resultCallback, { channelId });
|
||
}
|
||
/**
|
||
* 加载会话中未读的 @ 消息数量。
|
||
* 注:不支持聊天室!
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUnreadMentionedCountLoaded]
|
||
* @deprecated 用 {@link #getUnreadMentionedCount(RCIMIWConversationType, String, String, IRCIMIWGetUnreadMentionedCountCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadUnreadMentionedCount(type, targetId, channelId) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('loadUnreadMentionedCount', resultCallback, { type, targetId, channelId });
|
||
}
|
||
/**
|
||
* 获取会话中未读的 @ 消息数量。
|
||
* 注:不支持聊天室!
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param callback 获取会话中未读的 @ 消息数量事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUnreadMentionedCountLoaded]
|
||
*/
|
||
getUnreadMentionedCount(type, targetId, channelId, callback) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getUnreadMentionedCount', resultCallback, { type, targetId, channelId });
|
||
}
|
||
/**
|
||
* 加载当前用户加入的所有超级群会话的未读消息数的总和。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUltraGroupAllUnreadCountLoaded]
|
||
* @deprecated 用 {@link #getUltraGroupAllUnreadCount(IRCIMIWGetUltraGroupAllUnreadCountCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadUltraGroupAllUnreadCount() {
|
||
let resultCallback;
|
||
return this._invokeMethod('loadUltraGroupAllUnreadCount', resultCallback, {});
|
||
}
|
||
/**
|
||
* 获取当前用户加入的所有超级群会话的未读消息数的总和。
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUltraGroupAllUnreadCountLoaded]
|
||
*/
|
||
getUltraGroupAllUnreadCount(callback) {
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getUltraGroupAllUnreadCount', resultCallback, {});
|
||
}
|
||
/**
|
||
* 加载当前用户加入的所有超级群会话中的未读 @ 消息数的总和。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUltraGroupAllUnreadMentionedCountLoaded]
|
||
* @deprecated 用 {@link #getUltraGroupAllUnreadMentionedCount(IRCIMIWGetUltraGroupAllUnreadMentionedCountCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadUltraGroupAllUnreadMentionedCount() {
|
||
let resultCallback;
|
||
return this._invokeMethod('loadUltraGroupAllUnreadMentionedCount', resultCallback, {});
|
||
}
|
||
/**
|
||
* 获取当前用户加入的所有超级群会话中的未读 @ 消息数的总和。
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUltraGroupAllUnreadMentionedCountLoaded]
|
||
*/
|
||
getUltraGroupAllUnreadMentionedCount(callback) {
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getUltraGroupAllUnreadMentionedCount', resultCallback, {});
|
||
}
|
||
/**
|
||
* 获取指定会话的未读消息数
|
||
* @param targetId 会话 ID
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUltraGroupUnreadCountLoaded]
|
||
* @deprecated 用 {@link #getUltraGroupUnreadCount(String, IRCIMIWGetUltraGroupUnreadCountCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadUltraGroupUnreadCount(targetId) {
|
||
if (!validate('targetId', targetId, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('loadUltraGroupUnreadCount', resultCallback, { targetId });
|
||
}
|
||
/**
|
||
* 获取指定会话的未读消息数
|
||
* @param targetId 会话 ID
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUltraGroupUnreadCountLoaded]
|
||
*/
|
||
getUltraGroupUnreadCount(targetId, callback) {
|
||
if (!validate('targetId', targetId, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getUltraGroupUnreadCount', resultCallback, { targetId });
|
||
}
|
||
/**
|
||
* 获取超级群会话中被 @ 的消息数
|
||
* @param targetId 会话 ID
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUltraGroupUnreadMentionedCountLoaded]
|
||
* @deprecated 用 {@link #getUltraGroupUnreadMentionedCount(String, IRCIMIWGetUltraGroupUnreadMentionedCountCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadUltraGroupUnreadMentionedCount(targetId) {
|
||
if (!validate('targetId', targetId, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('loadUltraGroupUnreadMentionedCount', resultCallback, { targetId });
|
||
}
|
||
/**
|
||
* 获取超级群会话中被 @ 的消息数
|
||
* @param targetId 会话 ID
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUltraGroupUnreadMentionedCountLoaded]
|
||
*/
|
||
getUltraGroupUnreadMentionedCount(targetId, callback) {
|
||
if (!validate('targetId', targetId, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getUltraGroupUnreadMentionedCount', resultCallback, { targetId });
|
||
}
|
||
/**
|
||
* 根据会话类型加载未读数
|
||
* 注:不支持聊天室!
|
||
* @param conversationTypes 会话类型集合
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param contain 是否包含免打扰消息的未读消息数。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUnreadCountByConversationTypesLoaded]
|
||
* @deprecated 用 {@link #getUnreadCountByConversationTypes(List, String, boolean, IRCIMIWGetUnreadCountByConversationTypesCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadUnreadCountByConversationTypes(conversationTypes, channelId, contain) {
|
||
if (!validate('conversationTypes', conversationTypes, AssertRules.NUMBER_ARRAY, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('contain', contain, AssertRules.BOOLEAN, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('loadUnreadCountByConversationTypes', resultCallback, {
|
||
conversationTypes,
|
||
channelId,
|
||
contain,
|
||
});
|
||
}
|
||
/**
|
||
* 根据会话类型加载未读数
|
||
* 注:不支持聊天室!
|
||
* @param conversationTypes 会话类型集合
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param contain 是否包含免打扰消息的未读消息数。
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUnreadCountByConversationTypesLoaded]
|
||
*/
|
||
getUnreadCountByConversationTypes(conversationTypes, channelId, contain, callback) {
|
||
if (!validate('conversationTypes', conversationTypes, AssertRules.NUMBER_ARRAY, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('contain', contain, AssertRules.BOOLEAN, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getUnreadCountByConversationTypes', resultCallback, {
|
||
conversationTypes,
|
||
channelId,
|
||
contain,
|
||
});
|
||
}
|
||
/**
|
||
* 清除某个会话中的未读消息数。
|
||
* 注:不支持聊天室!
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param timestamp 该会话已阅读的最后一条消息的发送时间戳,清除所有传入当前最新时间戳
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUnreadCountCleared]
|
||
*/
|
||
clearUnreadCount(type, targetId, channelId, timestamp, callback) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('timestamp', timestamp, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onUnreadCountCleared') {
|
||
let { code } = res;
|
||
callback.onUnreadCountCleared?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('clearUnreadCount', resultCallback, { type, targetId, channelId, timestamp });
|
||
}
|
||
/**
|
||
* 保存会话草稿信息。
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param draft 草稿的文字内容。
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onDraftMessageSaved]
|
||
*/
|
||
saveDraftMessage(type, targetId, channelId, draft, callback) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('draft', draft, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onDraftMessageSaved') {
|
||
let { code } = res;
|
||
callback.onDraftMessageSaved?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('saveDraftMessage', resultCallback, { type, targetId, channelId, draft });
|
||
}
|
||
/**
|
||
* 加载会话中的草稿信息。
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onDraftMessageLoaded]
|
||
* @deprecated 用 {@link #getDraftMessage(RCIMIWConversationType, String, String, IRCIMIWGetDraftMessageCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadDraftMessage(type, targetId, channelId) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('loadDraftMessage', resultCallback, { type, targetId, channelId });
|
||
}
|
||
/**
|
||
* 获取会话中的草稿信息。
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onDraftMessageLoaded]
|
||
*/
|
||
getDraftMessage(type, targetId, channelId, callback) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getDraftMessage', resultCallback, { type, targetId, channelId });
|
||
}
|
||
/**
|
||
* 删除指定会话中的草稿信息。
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onDraftMessageCleared]
|
||
*/
|
||
clearDraftMessage(type, targetId, channelId, callback) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onDraftMessageCleared') {
|
||
let { code } = res;
|
||
callback.onDraftMessageCleared?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('clearDraftMessage', resultCallback, { type, targetId, channelId });
|
||
}
|
||
/**
|
||
* 加载免打扰的会话列表。
|
||
* @param conversationTypes 会话类型集合
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onBlockedConversationsLoaded]
|
||
* @deprecated 用 {@link #getBlockedConversations(List, String, IRCIMIWGetBlockedConversationsCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadBlockedConversations(conversationTypes, channelId) {
|
||
if (!validate('conversationTypes', conversationTypes, AssertRules.NUMBER_ARRAY, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('loadBlockedConversations', resultCallback, { conversationTypes, channelId });
|
||
}
|
||
/**
|
||
* 获取免打扰的会话列表。
|
||
* @param conversationTypes 会话类型集合
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onBlockedConversationsLoaded]
|
||
*/
|
||
getBlockedConversations(conversationTypes, channelId, callback) {
|
||
if (!validate('conversationTypes', conversationTypes, AssertRules.NUMBER_ARRAY, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getBlockedConversations', resultCallback, { conversationTypes, channelId });
|
||
}
|
||
/**
|
||
* 设置会话的置顶状态。若会话不存在,调用此方法 SDK 自动创建会话并置顶。
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param top 是否置顶
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onConversationTopStatusChanged]
|
||
*/
|
||
changeConversationTopStatus(type, targetId, channelId, top, callback) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('top', top, AssertRules.BOOLEAN, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onConversationTopStatusChanged') {
|
||
let { code } = res;
|
||
callback.onConversationTopStatusChanged?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('changeConversationTopStatus', resultCallback, { type, targetId, channelId, top });
|
||
}
|
||
/**
|
||
* 加载会话的置顶状态
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onConversationTopStatusLoaded]
|
||
* @deprecated 用 {@link #getConversationTopStatus(RCIMIWConversationType, String, String, IRCIMIWGetConversationTopStatusCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadConversationTopStatus(type, targetId, channelId) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('loadConversationTopStatus', resultCallback, { type, targetId, channelId });
|
||
}
|
||
/**
|
||
* 获取会话的置顶状态
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onConversationTopStatusLoaded]
|
||
*/
|
||
getConversationTopStatus(type, targetId, channelId, callback) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getConversationTopStatus', resultCallback, { type, targetId, channelId });
|
||
}
|
||
/**
|
||
* 同步会话阅读状态。
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param timestamp 会话中已读的最后一条消息的发送时间戳
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onConversationReadStatusSynced]
|
||
*/
|
||
syncConversationReadStatus(type, targetId, channelId, timestamp, callback) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('timestamp', timestamp, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onConversationReadStatusSynced') {
|
||
let { code } = res;
|
||
callback.onConversationReadStatusSynced?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('syncConversationReadStatus', resultCallback, {
|
||
type,
|
||
targetId,
|
||
channelId,
|
||
timestamp,
|
||
});
|
||
}
|
||
/**
|
||
* 向会话中发送正在输入的状态,目前只支持单聊。
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param currentType 当前的状态
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
*/
|
||
sendTypingStatus(type, targetId, channelId, currentType) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('currentType', currentType, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('sendTypingStatus', resultCallback, { type, targetId, channelId, currentType });
|
||
}
|
||
/**
|
||
* 加载历史消息
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param sentTime 当前消息时间戳
|
||
* @param order 获取消息的方向。BEFORE:获取 sentTime 之前的消息 (时间递减),AFTER:获取 sentTime 之后的消息 (时间递增)
|
||
* @param policy 消息的加载策略。LOCAL:只加载本地,REMOTE:只加载远端,LOCAL_REMOTE:本地远端都加载
|
||
* @param count 获取的消息数量,0 < count <= 20
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onMessagesLoaded]
|
||
* @deprecated 用 {@link #getMessages(RCIMIWConversationType, String, String, long, RCIMIWTimeOrder, RCIMIWMessageOperationPolicy, int, IRCIMIWGetMessagesCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadMessages(type, targetId, channelId, sentTime, order, policy, count) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('sentTime', sentTime, AssertRules.NUMBER, true) ||
|
||
!validate('order', order, AssertRules.NUMBER, true) ||
|
||
!validate('policy', policy, AssertRules.NUMBER, true) ||
|
||
!validate('count', count, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('loadMessages', resultCallback, {
|
||
type,
|
||
targetId,
|
||
channelId,
|
||
sentTime,
|
||
order,
|
||
policy,
|
||
count,
|
||
});
|
||
}
|
||
/**
|
||
* 加载历史消息
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param sentTime 当前消息时间戳
|
||
* @param order 获取消息的方向。BEFORE:获取 sentTime 之前的消息 (时间递减),AFTER:获取 sentTime 之后的消息 (时间递增)
|
||
* @param policy 消息的加载策略。LOCAL:只加载本地,REMOTE:只加载远端,LOCAL_REMOTE:本地远端都加载
|
||
* @param count 获取的消息数量,0 < count <= 20
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onMessagesLoaded]
|
||
*/
|
||
getMessages(type, targetId, channelId, sentTime, order, policy, count, callback) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('sentTime', sentTime, AssertRules.NUMBER, true) ||
|
||
!validate('order', order, AssertRules.NUMBER, true) ||
|
||
!validate('policy', policy, AssertRules.NUMBER, true) ||
|
||
!validate('count', count, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getMessages', resultCallback, {
|
||
type,
|
||
targetId,
|
||
channelId,
|
||
sentTime,
|
||
order,
|
||
policy,
|
||
count,
|
||
});
|
||
}
|
||
/**
|
||
* 根据消息 id 获取消息体(本地数据库索引唯一值)。
|
||
* @param messageId 消息的 messageId,可在消息对象中获取
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
*/
|
||
getMessageById(messageId, callback) {
|
||
if (!validate('messageId', messageId, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getMessageById', resultCallback, { messageId });
|
||
}
|
||
/**
|
||
* 通过全局唯一 id 获取消息实体。
|
||
* @param messageUId 消息的 messageUid,可在消息对象中获取,且只有发送成功的消息才会有值。
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
*/
|
||
getMessageByUId(messageUId, callback) {
|
||
if (!validate('messageUId', messageUId, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getMessageByUId', resultCallback, { messageUId });
|
||
}
|
||
/**
|
||
* 加载第一条未读消息。
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onFirstUnreadMessageLoaded]
|
||
* @deprecated 用 {@link #getFirstUnreadMessage(RCIMIWConversationType, String, String, IRCIMIWGetFirstUnreadMessageCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadFirstUnreadMessage(type, targetId, channelId) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('loadFirstUnreadMessage', resultCallback, { type, targetId, channelId });
|
||
}
|
||
/**
|
||
* 获取第一条未读消息。
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onFirstUnreadMessageLoaded]
|
||
*/
|
||
getFirstUnreadMessage(type, targetId, channelId, callback) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getFirstUnreadMessage', resultCallback, { type, targetId, channelId });
|
||
}
|
||
/**
|
||
* 加载会话中未读的 @ 消息。
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUnreadMentionedMessagesLoaded]
|
||
* @deprecated 用 {@link #getUnreadMentionedMessages(RCIMIWConversationType, String, String, IRCIMIWGetUnreadMentionedMessagesCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadUnreadMentionedMessages(type, targetId, channelId) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('loadUnreadMentionedMessages', resultCallback, { type, targetId, channelId });
|
||
}
|
||
/**
|
||
* 获取会话中未读的 @ 消息。
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUnreadMentionedMessagesLoaded]
|
||
*/
|
||
getUnreadMentionedMessages(type, targetId, channelId, callback) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getUnreadMentionedMessages', resultCallback, { type, targetId, channelId });
|
||
}
|
||
/**
|
||
* 插入一条消息
|
||
* @param message 插入的消息
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onMessageInserted]
|
||
*/
|
||
insertMessage(message, callback) {
|
||
if (!validate('message', message, AssertRules.OBJECT, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onMessageInserted') {
|
||
let { code, message } = res;
|
||
callback.onMessageInserted?.({ code, message });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('insertMessage', resultCallback, { message });
|
||
}
|
||
/**
|
||
* 插入多条消息,不支持超级群
|
||
* @param messages 插入的消息集合
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onMessagesInserted]
|
||
*/
|
||
insertMessages(messages, callback) {
|
||
if (!validate('messages', messages, AssertRules.ARRAY, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onMessagesInserted') {
|
||
let { code, messages } = res;
|
||
callback.onMessagesInserted?.({ code, messages });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('insertMessages', resultCallback, { messages });
|
||
}
|
||
/**
|
||
* 清除消息
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param timestamp 清除消息截止时间戳,0 <= recordTime <= 当前会话最后一条消息的 sentTime, 0 清除所有消息,其他值清除小于等于 recordTime 的消息
|
||
* @param policy 清除的策略
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onMessagesCleared]
|
||
*/
|
||
clearMessages(type, targetId, channelId, timestamp, policy, callback) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('timestamp', timestamp, AssertRules.NUMBER, true) ||
|
||
!validate('policy', policy, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onMessagesCleared') {
|
||
let { code } = res;
|
||
callback.onMessagesCleared?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('clearMessages', resultCallback, { type, targetId, channelId, timestamp, policy });
|
||
}
|
||
/**
|
||
* 删除本地消息
|
||
* @param messages 消息集合
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onLocalMessagesDeleted]
|
||
*/
|
||
deleteLocalMessages(messages, callback) {
|
||
if (!validate('messages', messages, AssertRules.ARRAY, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onLocalMessagesDeleted') {
|
||
let { code, messages } = res;
|
||
callback.onLocalMessagesDeleted?.({ code, messages });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('deleteLocalMessages', resultCallback, { messages });
|
||
}
|
||
/**
|
||
* 删除消息
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param messages 消息集合
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onMessagesDeleted]
|
||
*/
|
||
deleteMessages(type, targetId, channelId, messages, callback) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('messages', messages, AssertRules.ARRAY, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onMessagesDeleted') {
|
||
let { code, messages } = res;
|
||
callback.onMessagesDeleted?.({ code, messages });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('deleteMessages', resultCallback, { type, targetId, channelId, messages });
|
||
}
|
||
/**
|
||
* 撤回消息
|
||
* @param message 需要被撤回的消息
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onMessageRecalled]
|
||
*/
|
||
recallMessage(message, callback) {
|
||
if (!validate('message', message, AssertRules.OBJECT, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onMessageRecalled') {
|
||
let { code, message } = res;
|
||
callback.onMessageRecalled?.({ code, message });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('recallMessage', resultCallback, { message });
|
||
}
|
||
/**
|
||
* 发送某个会话中的消息阅读回执
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param timestamp 该会话中已读的最后一条消息的发送时间戳
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onPrivateReadReceiptMessageSent]
|
||
*/
|
||
sendPrivateReadReceiptMessage(targetId, channelId, timestamp, callback) {
|
||
if (!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('timestamp', timestamp, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onPrivateReadReceiptMessageSent') {
|
||
let { code } = res;
|
||
callback.onPrivateReadReceiptMessageSent?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('sendPrivateReadReceiptMessage', resultCallback, { targetId, channelId, timestamp });
|
||
}
|
||
/**
|
||
* 发起群聊消息已读回执请求
|
||
* @param message 需要请求已读回执的消息
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onGroupReadReceiptRequestSent]
|
||
*/
|
||
sendGroupReadReceiptRequest(message, callback) {
|
||
if (!validate('message', message, AssertRules.OBJECT, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onGroupReadReceiptRequestSent') {
|
||
let { code, message } = res;
|
||
callback.onGroupReadReceiptRequestSent?.({ code, message });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('sendGroupReadReceiptRequest', resultCallback, { message });
|
||
}
|
||
/**
|
||
* 发送群聊已读回执
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param messages 会话中需要发送已读回执的消息列表
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onGroupReadReceiptResponseSent]
|
||
*/
|
||
sendGroupReadReceiptResponse(targetId, channelId, messages, callback) {
|
||
if (!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('messages', messages, AssertRules.ARRAY, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onGroupReadReceiptResponseSent') {
|
||
let { code, message } = res;
|
||
callback.onGroupReadReceiptResponseSent?.({ code, message });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('sendGroupReadReceiptResponse', resultCallback, { targetId, channelId, messages });
|
||
}
|
||
/**
|
||
* 更新消息扩展信息
|
||
* 每条消息携带扩展信息键值对最大值 300个,单次设置扩展信息键值对最大值 20个
|
||
* @param messageUId 消息的 messageUid,可在消息对象中获取,且只有发送成功的消息才会有值
|
||
* @param expansion 要更新的消息扩展信息键值对,类型是 HashMap;Key 支持大小写英文字母、数字、部分特殊符号 + = - _ 的组合方式,不支持汉字。Value 可以输入空格
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onMessageExpansionUpdated]
|
||
*/
|
||
updateMessageExpansion(messageUId, expansion, callback) {
|
||
if (!validate('messageUId', messageUId, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onMessageExpansionUpdated') {
|
||
let { code } = res;
|
||
callback.onMessageExpansionUpdated?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('updateMessageExpansion', resultCallback, { messageUId, expansion });
|
||
}
|
||
/**
|
||
* 删除消息扩展信息中特定的键值对
|
||
* @param messageUId 消息的 messageUid,可在消息对象中获取,且只有发送成功的消息才会有值
|
||
* @param keys 消息扩展信息中待删除的 key 的列表,类型是 ArrayList
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onMessageExpansionForKeysRemoved]
|
||
*/
|
||
removeMessageExpansionForKeys(messageUId, keys, callback) {
|
||
if (!validate('messageUId', messageUId, AssertRules.STRING, true) ||
|
||
!validate('keys', keys, AssertRules.ARRAY, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onMessageExpansionForKeysRemoved') {
|
||
let { code } = res;
|
||
callback.onMessageExpansionForKeysRemoved?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('removeMessageExpansionForKeys', resultCallback, { messageUId, keys });
|
||
}
|
||
/**
|
||
* 设置消息发送状态。
|
||
* @param messageId 消息的 messageId,可在消息对象中获取
|
||
* @param sentStatus 要修改的状态
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onMessageSentStatusChanged]
|
||
*/
|
||
changeMessageSentStatus(messageId, sentStatus, callback) {
|
||
if (!validate('messageId', messageId, AssertRules.NUMBER, true) ||
|
||
!validate('sentStatus', sentStatus, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onMessageSentStatusChanged') {
|
||
let { code } = res;
|
||
callback.onMessageSentStatusChanged?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('changeMessageSentStatus', resultCallback, { messageId, sentStatus });
|
||
}
|
||
/**
|
||
* 设置消息接收状态。
|
||
* @param messageId 消息的 messageId,可在消息对象中获取
|
||
* @param receivedStatus 要修改的状态
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onMessageReceiveStatusChanged]
|
||
*/
|
||
changeMessageReceiveStatus(messageId, receivedStatus, callback) {
|
||
if (!validate('messageId', messageId, AssertRules.NUMBER, true) ||
|
||
!validate('receivedStatus', receivedStatus, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onMessageReceiveStatusChanged') {
|
||
let { code } = res;
|
||
callback.onMessageReceiveStatusChanged?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('changeMessageReceiveStatus', resultCallback, { messageId, receivedStatus });
|
||
}
|
||
/**
|
||
* 加入聊天室。
|
||
* @param targetId 聊天室会话 ID
|
||
* @param messageCount 进入聊天室拉取消息数目,-1 时不拉取任何消息,0 时拉取 10 条消息,最多只能拉取 50
|
||
* @param autoCreate 是否创建聊天室,TRUE 如果聊天室不存在,sdk 会创建聊天室并加入,如果已存在,则直接加入
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onChatRoomJoined]
|
||
*/
|
||
joinChatRoom(targetId, messageCount, autoCreate, callback) {
|
||
if (!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('messageCount', messageCount, AssertRules.NUMBER, true) ||
|
||
!validate('autoCreate', autoCreate, AssertRules.BOOLEAN, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onChatRoomJoined') {
|
||
let { code, targetId } = res;
|
||
callback.onChatRoomJoined?.({ code, targetId });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('joinChatRoom', resultCallback, { targetId, messageCount, autoCreate });
|
||
}
|
||
/**
|
||
* 退出聊天室。
|
||
* @param targetId 聊天室会话 ID
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onChatRoomLeft]
|
||
*/
|
||
leaveChatRoom(targetId, callback) {
|
||
if (!validate('targetId', targetId, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onChatRoomLeft') {
|
||
let { code, targetId } = res;
|
||
callback.onChatRoomLeft?.({ code, targetId });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('leaveChatRoom', resultCallback, { targetId });
|
||
}
|
||
/**
|
||
* 加载聊天室历史消息记录。
|
||
* 注:必须先开通聊天室消息云存储功能。
|
||
* @param targetId 聊天室会话 ID
|
||
* @param timestamp 起始的消息发送时间戳
|
||
* @param order 拉取顺序 0:倒序,1:正序
|
||
* @param count 要获取的消息数量,0 < count <= 50。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onChatRoomMessagesLoaded]
|
||
* @deprecated 用 {@link #getChatRoomMessages(String, long, RCIMIWTimeOrder, int, IRCIMIWGetChatRoomMessagesCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadChatRoomMessages(targetId, timestamp, order, count) {
|
||
if (!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('timestamp', timestamp, AssertRules.NUMBER, true) ||
|
||
!validate('order', order, AssertRules.NUMBER, true) ||
|
||
!validate('count', count, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('loadChatRoomMessages', resultCallback, { targetId, timestamp, order, count });
|
||
}
|
||
/**
|
||
* 获取聊天室历史消息记录。
|
||
* 注:必须先开通聊天室消息云存储功能。
|
||
* @param targetId 聊天室会话 ID
|
||
* @param timestamp 起始的消息发送时间戳
|
||
* @param order 拉取顺序 0:倒序,1:正序
|
||
* @param count 要获取的消息数量,0 < count <= 50。
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onChatRoomMessagesLoaded]
|
||
*/
|
||
getChatRoomMessages(targetId, timestamp, order, count, callback) {
|
||
if (!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('timestamp', timestamp, AssertRules.NUMBER, true) ||
|
||
!validate('order', order, AssertRules.NUMBER, true) ||
|
||
!validate('count', count, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getChatRoomMessages', resultCallback, { targetId, timestamp, order, count });
|
||
}
|
||
/**
|
||
* 设置聊天室自定义属性。
|
||
* @param targetId 聊天室会话 ID
|
||
* @param key 聊天室属性名称,Key 支持大小写英文字母、数字、部分特殊符号 + = - _ 的组合方式,最大长度 128 个字符
|
||
* @param value 聊天室属性对应的值,最大长度 4096 个字符
|
||
* @param deleteWhenLeft 用户掉线或退出时,是否自动删除该 Key、Value 值
|
||
* @param overwrite 如果当前 key 存在,是否进行覆盖
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onChatRoomEntryAdded]
|
||
*/
|
||
addChatRoomEntry(targetId, key, value, deleteWhenLeft, overwrite, callback) {
|
||
if (!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('key', key, AssertRules.STRING, true) ||
|
||
!validate('value', value, AssertRules.STRING, true) ||
|
||
!validate('deleteWhenLeft', deleteWhenLeft, AssertRules.BOOLEAN, true) ||
|
||
!validate('overwrite', overwrite, AssertRules.BOOLEAN, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onChatRoomEntryAdded') {
|
||
let { code } = res;
|
||
callback.onChatRoomEntryAdded?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('addChatRoomEntry', resultCallback, {
|
||
targetId,
|
||
key,
|
||
value,
|
||
deleteWhenLeft,
|
||
overwrite,
|
||
});
|
||
}
|
||
/**
|
||
* 批量设置聊天室自定义属性
|
||
* @param targetId 聊天室会话 ID
|
||
* @param entries 聊天室属性
|
||
* @param deleteWhenLeft 用户掉线或退出时,是否自动删除该 Key、Value 值
|
||
* @param overwrite 是否强制覆盖
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onChatRoomEntriesAdded]
|
||
*/
|
||
addChatRoomEntries(targetId, entries, deleteWhenLeft, overwrite, callback) {
|
||
if (!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('deleteWhenLeft', deleteWhenLeft, AssertRules.BOOLEAN, true) ||
|
||
!validate('overwrite', overwrite, AssertRules.BOOLEAN, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onChatRoomEntriesAdded') {
|
||
let { code, errors } = res;
|
||
callback.onChatRoomEntriesAdded?.({ code, errors });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('addChatRoomEntries', resultCallback, {
|
||
targetId,
|
||
entries,
|
||
deleteWhenLeft,
|
||
overwrite,
|
||
});
|
||
}
|
||
/**
|
||
* 加载聊天室单个属性。
|
||
* @param targetId 聊天室会话 ID
|
||
* @param key 聊天室属性键值
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onChatRoomEntryLoaded]
|
||
* @deprecated 用 {@link #getChatRoomEntry(String, String, IRCIMIWGetChatRoomEntryCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadChatRoomEntry(targetId, key) {
|
||
if (!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('key', key, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('loadChatRoomEntry', resultCallback, { targetId, key });
|
||
}
|
||
/**
|
||
* 获取聊天室单个属性。
|
||
* @param targetId 聊天室会话 ID
|
||
* @param key 聊天室属性键值
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onChatRoomEntryLoaded]
|
||
*/
|
||
getChatRoomEntry(targetId, key, callback) {
|
||
if (!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('key', key, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getChatRoomEntry', resultCallback, { targetId, key });
|
||
}
|
||
/**
|
||
* 加载聊天室所有属性。
|
||
* @param targetId 聊天室会话 ID
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onChatRoomAllEntriesLoaded]
|
||
* @deprecated 用 {@link #getChatRoomAllEntries(String, IRCIMIWGetChatRoomAllEntriesCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadChatRoomAllEntries(targetId) {
|
||
if (!validate('targetId', targetId, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('loadChatRoomAllEntries', resultCallback, { targetId });
|
||
}
|
||
/**
|
||
* 获取聊天室所有属性。
|
||
* @param targetId 聊天室会话 ID
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onChatRoomAllEntriesLoaded]
|
||
*/
|
||
getChatRoomAllEntries(targetId, callback) {
|
||
if (!validate('targetId', targetId, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getChatRoomAllEntries', resultCallback, { targetId });
|
||
}
|
||
/**
|
||
* 删除聊天室自定义属性。
|
||
* @param targetId 聊天室会话 ID
|
||
* @param key 聊天室属性键值
|
||
* @param force 是否强制删除
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onChatRoomEntryRemoved]
|
||
*/
|
||
removeChatRoomEntry(targetId, key, force, callback) {
|
||
if (!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('key', key, AssertRules.STRING, true) ||
|
||
!validate('force', force, AssertRules.BOOLEAN, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onChatRoomEntryRemoved') {
|
||
let { code } = res;
|
||
callback.onChatRoomEntryRemoved?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('removeChatRoomEntry', resultCallback, { targetId, key, force });
|
||
}
|
||
/**
|
||
* 批量删除聊天室自定义属性
|
||
* @param targetId 聊天室会话 ID
|
||
* @param keys 聊天室属性
|
||
* @param force 是否强制覆盖
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onChatRoomEntriesRemoved]
|
||
*/
|
||
removeChatRoomEntries(targetId, keys, force, callback) {
|
||
if (!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('keys', keys, AssertRules.ARRAY, true) ||
|
||
!validate('force', force, AssertRules.BOOLEAN, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onChatRoomEntriesRemoved') {
|
||
let { code } = res;
|
||
callback.onChatRoomEntriesRemoved?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('removeChatRoomEntries', resultCallback, { targetId, keys, force });
|
||
}
|
||
/**
|
||
* 将某个用户加入黑名单。
|
||
* 当你把对方加入黑名单后,对方再发消息时,就会提示“已被加入黑名单,消息发送失败”。 但你依然可以发消息个对方。
|
||
* @param userId 用户 Id
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onBlacklistAdded]
|
||
*/
|
||
addToBlacklist(userId, callback) {
|
||
if (!validate('userId', userId, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onBlacklistAdded') {
|
||
let { code, userId } = res;
|
||
callback.onBlacklistAdded?.({ code, userId });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('addToBlacklist', resultCallback, { userId });
|
||
}
|
||
/**
|
||
* 将某个用户从黑名单中移出。
|
||
* @param userId 用户 Id
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onBlacklistRemoved]
|
||
*/
|
||
removeFromBlacklist(userId, callback) {
|
||
if (!validate('userId', userId, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onBlacklistRemoved') {
|
||
let { code, userId } = res;
|
||
callback.onBlacklistRemoved?.({ code, userId });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('removeFromBlacklist', resultCallback, { userId });
|
||
}
|
||
/**
|
||
* 获取某用户是否在黑名单中。
|
||
* @param userId 用户 Id
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onBlacklistStatusLoaded]
|
||
* @deprecated 用 {@link #getBlacklistStatus(String, IRCIMIWGetBlacklistStatusCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadBlacklistStatus(userId) {
|
||
if (!validate('userId', userId, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('loadBlacklistStatus', resultCallback, { userId });
|
||
}
|
||
/**
|
||
* 获取某用户是否在黑名单中。
|
||
* @param userId 用户 Id
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onBlacklistStatusLoaded]
|
||
*/
|
||
getBlacklistStatus(userId, callback) {
|
||
if (!validate('userId', userId, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getBlacklistStatus', resultCallback, { userId });
|
||
}
|
||
/**
|
||
* 加载当前用户设置的黑名单列表。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onBlacklistLoaded]
|
||
* @deprecated 用 {@link #getBlacklist(IRCIMIWGetBlacklistCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadBlacklist() {
|
||
let resultCallback;
|
||
return this._invokeMethod('loadBlacklist', resultCallback, {});
|
||
}
|
||
/**
|
||
* 获取当前用户设置的黑名单列表。
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onBlacklistLoaded]
|
||
*/
|
||
getBlacklist(callback) {
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getBlacklist', resultCallback, {});
|
||
}
|
||
/**
|
||
* 根据关键字搜索指定会话中的消息。
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param keyword 搜索的关键字
|
||
* @param startTime 查询 beginTime 之前的消息, 传 0 时从最新消息开始搜索,从该时间往前搜索。
|
||
* @param count 查询的数量,0 < count <= 50。
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onMessagesSearched]
|
||
*/
|
||
searchMessages(type, targetId, channelId, keyword, startTime, count, callback) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('keyword', keyword, AssertRules.STRING, true) ||
|
||
!validate('startTime', startTime, AssertRules.NUMBER, true) ||
|
||
!validate('count', count, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('searchMessages', resultCallback, {
|
||
type,
|
||
targetId,
|
||
channelId,
|
||
keyword,
|
||
startTime,
|
||
count,
|
||
});
|
||
}
|
||
/**
|
||
* 根据关键字搜索指定会话中某个时间段的消息。
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param keyword 搜索的关键字
|
||
* @param startTime 开始时间
|
||
* @param endTime 结束时间
|
||
* @param offset 偏移量
|
||
* @param count 返回的搜索结果数量,0 < count <= 50。
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onMessagesSearchedByTimeRange]
|
||
*/
|
||
searchMessagesByTimeRange(type, targetId, channelId, keyword, startTime, endTime, offset, count, callback) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('keyword', keyword, AssertRules.STRING, true) ||
|
||
!validate('startTime', startTime, AssertRules.NUMBER, true) ||
|
||
!validate('endTime', endTime, AssertRules.NUMBER, true) ||
|
||
!validate('offset', offset, AssertRules.NUMBER, true) ||
|
||
!validate('count', count, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('searchMessagesByTimeRange', resultCallback, {
|
||
type,
|
||
targetId,
|
||
channelId,
|
||
keyword,
|
||
startTime,
|
||
endTime,
|
||
offset,
|
||
count,
|
||
});
|
||
}
|
||
/**
|
||
* 根据用户 id 搜索指定会话中的消息。
|
||
* @param userId 用户 id
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param startTime 查询记录的起始时间, 传 0 时从最新消息开始搜索,从该时间往前搜索。
|
||
* @param count 返回的搜索结果数量 0 < count <= 50。
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onMessagesSearchedByUserId]
|
||
*/
|
||
searchMessagesByUserId(userId, type, targetId, channelId, startTime, count, callback) {
|
||
if (!validate('userId', userId, AssertRules.STRING, true) ||
|
||
!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('startTime', startTime, AssertRules.NUMBER, true) ||
|
||
!validate('count', count, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('searchMessagesByUserId', resultCallback, {
|
||
userId,
|
||
type,
|
||
targetId,
|
||
channelId,
|
||
startTime,
|
||
count,
|
||
});
|
||
}
|
||
/**
|
||
* 根据关键字搜索会话。
|
||
* @param conversationTypes 会话类型集合
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param messageTypes 搜索的消息类型
|
||
* @param keyword 搜索的关键字。
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onConversationsSearched]
|
||
*/
|
||
searchConversations(conversationTypes, channelId, messageTypes, keyword, callback) {
|
||
if (!validate('conversationTypes', conversationTypes, AssertRules.NUMBER_ARRAY, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('messageTypes', messageTypes, AssertRules.NUMBER_ARRAY, true) ||
|
||
!validate('keyword', keyword, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('searchConversations', resultCallback, {
|
||
conversationTypes,
|
||
channelId,
|
||
messageTypes,
|
||
keyword,
|
||
});
|
||
}
|
||
/**
|
||
* 屏蔽某个时间段的消息提醒
|
||
* @param startTime 开始消息免打扰时间,格式为 HH:MM:SS
|
||
* @param spanMinutes 需要消息免打扰分钟数,0 < spanMinutes < 1440( 比如,您设置的起始时间是 00:00, 结束时间为 01:00,则 spanMinutes 为 60 分钟。设置为 1439 代表全天免打扰 (23 60 + 59 = 1439 ))
|
||
* @param level 消息通知级别
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onNotificationQuietHoursChanged]
|
||
*/
|
||
changeNotificationQuietHours(startTime, spanMinutes, level, callback) {
|
||
if (!validate('startTime', startTime, AssertRules.STRING, true) ||
|
||
!validate('spanMinutes', spanMinutes, AssertRules.NUMBER, true) ||
|
||
!validate('level', level, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onNotificationQuietHoursChanged') {
|
||
let { code } = res;
|
||
callback.onNotificationQuietHoursChanged?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('changeNotificationQuietHours', resultCallback, { startTime, spanMinutes, level });
|
||
}
|
||
/**
|
||
* 删除已设置的全局时间段消息提醒屏蔽
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onNotificationQuietHoursRemoved]
|
||
*/
|
||
removeNotificationQuietHours(callback) {
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onNotificationQuietHoursRemoved') {
|
||
let { code } = res;
|
||
callback.onNotificationQuietHoursRemoved?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('removeNotificationQuietHours', resultCallback, {});
|
||
}
|
||
/**
|
||
* 加载已设置的时间段消息提醒屏蔽
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onNotificationQuietHoursLoaded]
|
||
* @deprecated 用 {@link #getNotificationQuietHours(IRCIMIWGetNotificationQuietHoursCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadNotificationQuietHours() {
|
||
let resultCallback;
|
||
return this._invokeMethod('loadNotificationQuietHours', resultCallback, {});
|
||
}
|
||
/**
|
||
* 获取已设置的时间段消息提醒屏蔽
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onNotificationQuietHoursLoaded]
|
||
*/
|
||
getNotificationQuietHours(callback) {
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { startTime, spanMinutes, level } = res;
|
||
callback.onSuccess?.({ startTime, spanMinutes, level });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getNotificationQuietHours', resultCallback, {});
|
||
}
|
||
/**
|
||
* 设置会话的消息提醒状态
|
||
* 注:超级群调用该接口,channelId 为空时,相当于设置了 channelId 为空的频道的免打扰,不会屏蔽整个超级群会话下所有频道的免打扰
|
||
* @param type 会话类型。请注意以下限制:<ul><li>*超级群会话类型*:如在 2022.09.01 之前开通超级群业务,默认不支持为单个超级群会话*所有消息*设置免打扰级别(“所有消息”指所有频道中的消息和不属于任何频道的消息)。该接口仅设置指定超级群会话(`targetId`)中*不属于任何频道的消息*的免打扰状态级别。如需修改请提交工单。</li><li>*聊天室会话类型*:不支持,因为聊天室消息默认不支持消息推送提醒。</li></ul>
|
||
* @param targetId 会话 ID
|
||
* @param channelId 超级群的会话频道 ID。其他类型传 null 即可。<ul><li>如果传入频道 ID,则针对该指定频道设置消息免打扰级别。如果不指定频道 ID,则对所有超级群消息生效。</li><li>*注意*:2022.09.01 之前开通超级群业务的客户,如果不指定频道 ID,则默认传 "" 空字符串,即仅针对指定超级群会话(`targetId`)中*不属于任何频道的消息*设置免打扰状态级别。如需修改请提交工单。</p></li></ul>
|
||
* @param level 消息通知级别
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onConversationNotificationLevelChanged]
|
||
*/
|
||
changeConversationNotificationLevel(type, targetId, channelId, level, callback) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('level', level, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onConversationNotificationLevelChanged') {
|
||
let { code } = res;
|
||
callback.onConversationNotificationLevelChanged?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('changeConversationNotificationLevel', resultCallback, {
|
||
type,
|
||
targetId,
|
||
channelId,
|
||
level,
|
||
});
|
||
}
|
||
/**
|
||
* 加载会话的消息提醒状态
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onConversationNotificationLevelLoaded]
|
||
* @deprecated 用 {@link #getConversationNotificationLevel(RCIMIWConversationType, String, String, IRCIMIWGetConversationNotificationLevelCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadConversationNotificationLevel(type, targetId, channelId) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('loadConversationNotificationLevel', resultCallback, { type, targetId, channelId });
|
||
}
|
||
/**
|
||
* 获取会话的消息提醒状态
|
||
* @param type 会话类型。请注意以下限制:<ul><li>*超级群会话类型*:如在 2022.09.01 之前开通超级群业务,默认不支持为单个超级群会话*所有消息*设置免打扰级别(“所有消息”指所有频道中的消息和不属于任何频道的消息)。该接口仅设置指定超级群会话(`targetId`)中*不属于任何频道的消息*的免打扰状态级别。如需修改请提交工单。</li><li>*聊天室会话类型*:不支持,因为聊天室消息默认不支持消息推送提醒。</li></ul>
|
||
* @param targetId 会话 ID
|
||
* @param channelId 超级群的会话频道 ID。其他类型传 null 即可。<ul><li>如果传入频道 ID,则针对该指定频道设置消息免打扰级别。如果不指定频道 ID,则对所有超级群消息生效。</li><li>*注意*:2022.09.01 之前开通超级群业务的客户,如果不指定频道 ID,则默认传 "" 空字符串,即仅针对指定超级群会话(`targetId`)中*不属于任何频道的消息*设置免打扰状态级别。如需修改请提交工单。</p></li></ul>
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onConversationNotificationLevelLoaded]
|
||
*/
|
||
getConversationNotificationLevel(type, targetId, channelId, callback) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getConversationNotificationLevel', resultCallback, { type, targetId, channelId });
|
||
}
|
||
/**
|
||
* 设置会话类型的消息提醒状态
|
||
* 注:如要移除消息提醒状态,设置level为RCIMIWPushNotificationLevelDefault
|
||
* @param type 会话类型
|
||
* @param level 消息通知级别
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onConversationTypeNotificationLevelChanged]
|
||
*/
|
||
changeConversationTypeNotificationLevel(type, level, callback) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) || !validate('level', level, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onConversationTypeNotificationLevelChanged') {
|
||
let { code } = res;
|
||
callback.onConversationTypeNotificationLevelChanged?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('changeConversationTypeNotificationLevel', resultCallback, { type, level });
|
||
}
|
||
/**
|
||
* 获取会话类型的消息提醒状态
|
||
* @param type 会话类型
|
||
* @return [onConversationTypeNotificationLevelLoaded]
|
||
* @deprecated 用 {@link #getConversationTypeNotificationLevel(RCIMIWConversationType, IRCIMIWGetConversationTypeNotificationLevelCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadConversationTypeNotificationLevel(type) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('loadConversationTypeNotificationLevel', resultCallback, { type });
|
||
}
|
||
/**
|
||
* 获取会话类型的消息提醒状态
|
||
* @param type 会话类型
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return [onConversationTypeNotificationLevelLoaded]
|
||
*/
|
||
getConversationTypeNotificationLevel(type, callback) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getConversationTypeNotificationLevel', resultCallback, { type });
|
||
}
|
||
/**
|
||
* 设置超级群的默认消息状态
|
||
* 一般由管理员设置的接口,针对超级群的所有群成员生效,针对超级群下所有频道生效,优先级较低。如果群成员自己超级群的免打扰级别,那么以群成员自己设置的为准。
|
||
* @param targetId 会话 ID
|
||
* @param level 消息通知级别
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUltraGroupDefaultNotificationLevelChanged]
|
||
*/
|
||
changeUltraGroupDefaultNotificationLevel(targetId, level, callback) {
|
||
if (!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('level', level, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onUltraGroupDefaultNotificationLevelChanged') {
|
||
let { code } = res;
|
||
callback.onUltraGroupDefaultNotificationLevelChanged?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('changeUltraGroupDefaultNotificationLevel', resultCallback, { targetId, level });
|
||
}
|
||
/**
|
||
* 获取超级群的默认消息状态
|
||
* @param targetId 会话 ID
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUltraGroupDefaultNotificationLevelLoaded]
|
||
* @deprecated 用 {@link #getUltraGroupDefaultNotificationLevel(String, IRCIMIWGetUltraGroupDefaultNotificationLevelCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadUltraGroupDefaultNotificationLevel(targetId) {
|
||
if (!validate('targetId', targetId, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('loadUltraGroupDefaultNotificationLevel', resultCallback, { targetId });
|
||
}
|
||
/**
|
||
* 获取超级群的默认消息状态
|
||
* @param targetId 会话 ID
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUltraGroupDefaultNotificationLevelLoaded]
|
||
*/
|
||
getUltraGroupDefaultNotificationLevel(targetId, callback) {
|
||
if (!validate('targetId', targetId, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getUltraGroupDefaultNotificationLevel', resultCallback, { targetId });
|
||
}
|
||
/**
|
||
* 设置超级群频道的默认消息状态
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用。
|
||
* @param level 消息通知级别
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUltraGroupChannelDefaultNotificationLevelChanged]
|
||
*/
|
||
changeUltraGroupChannelDefaultNotificationLevel(targetId, channelId, level, callback) {
|
||
if (!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('level', level, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onUltraGroupChannelDefaultNotificationLevelChanged') {
|
||
let { code } = res;
|
||
callback.onUltraGroupChannelDefaultNotificationLevelChanged?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('changeUltraGroupChannelDefaultNotificationLevel', resultCallback, {
|
||
targetId,
|
||
channelId,
|
||
level,
|
||
});
|
||
}
|
||
/**
|
||
* 获取超级群频道的默认消息状态
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUltraGroupChannelDefaultNotificationLevelLoaded]
|
||
* @deprecated 用 {@link #getUltraGroupChannelDefaultNotificationLevel(String, String, IRCIMIWGetUltraGroupChannelDefaultNotificationLevelCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadUltraGroupChannelDefaultNotificationLevel(targetId, channelId) {
|
||
if (!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('loadUltraGroupChannelDefaultNotificationLevel', resultCallback, {
|
||
targetId,
|
||
channelId,
|
||
});
|
||
}
|
||
/**
|
||
* 获取超级群频道的默认消息状态
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用。
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUltraGroupChannelDefaultNotificationLevelLoaded]
|
||
*/
|
||
getUltraGroupChannelDefaultNotificationLevel(targetId, channelId, callback) {
|
||
if (!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getUltraGroupChannelDefaultNotificationLevel', resultCallback, {
|
||
targetId,
|
||
channelId,
|
||
});
|
||
}
|
||
/**
|
||
* 设置是否显示远程推送内容详情,此功能需要从服务端开启用户设置功能。
|
||
* @param showContent 是否显示远程推送内容
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onPushContentShowStatusChanged]
|
||
*/
|
||
changePushContentShowStatus(showContent, callback) {
|
||
if (!validate('showContent', showContent, AssertRules.BOOLEAN, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onPushContentShowStatusChanged') {
|
||
let { code } = res;
|
||
callback.onPushContentShowStatusChanged?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('changePushContentShowStatus', resultCallback, { showContent });
|
||
}
|
||
/**
|
||
* 设置推送语言
|
||
* @param language 推送语言, 目前仅支持 en_us、zh_cn、ar_sa
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onPushLanguageChanged]
|
||
*/
|
||
changePushLanguage(language, callback) {
|
||
if (!validate('language', language, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onPushLanguageChanged') {
|
||
let { code } = res;
|
||
callback.onPushLanguageChanged?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('changePushLanguage', resultCallback, { language });
|
||
}
|
||
/**
|
||
* 设置是否接收远程推送。
|
||
* 前提:移动端未在线,Web 、MAC/PC 终端在线,移动端是否接收远程推送。
|
||
* 此功能需要从服务端开启用户设置功能。
|
||
* @param receive 是否接收
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onPushReceiveStatusChanged]
|
||
*/
|
||
changePushReceiveStatus(receive, callback) {
|
||
if (!validate('receive', receive, AssertRules.BOOLEAN, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onPushReceiveStatusChanged') {
|
||
let { code } = res;
|
||
callback.onPushReceiveStatusChanged?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('changePushReceiveStatus', resultCallback, { receive });
|
||
}
|
||
/**
|
||
* 给指定的群成员发送消息
|
||
* @param message 要发送的消息
|
||
* @param userIds 群成员集合
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onGroupMessageToDesignatedUsersAttached], [onGroupMessageToDesignatedUsersSent]
|
||
*/
|
||
sendGroupMessageToDesignatedUsers(message, userIds, callback) {
|
||
if (!validate('message', message, AssertRules.OBJECT, true) ||
|
||
!validate('userIds', userIds, AssertRules.ARRAY, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onMessageSaved') {
|
||
let { message } = res;
|
||
callback.onMessageSaved?.({ message });
|
||
}
|
||
if (res.callbackName === 'onMessageSent') {
|
||
let { code, message } = res;
|
||
callback.onMessageSent?.({ code, message });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('sendGroupMessageToDesignatedUsers', resultCallback, { message, userIds });
|
||
}
|
||
/**
|
||
* 加载指定会话的消息总数。
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onMessageCountLoaded]
|
||
* @deprecated 用 {@link #getMessageCount(RCIMIWConversationType, String, String, IRCIMIWGetMessageCountCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadMessageCount(type, targetId, channelId) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('loadMessageCount', resultCallback, { type, targetId, channelId });
|
||
}
|
||
/**
|
||
* 获取指定会话的消息总数。
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onMessageCountLoaded]
|
||
*/
|
||
getMessageCount(type, targetId, channelId, callback) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getMessageCount', resultCallback, { type, targetId, channelId });
|
||
}
|
||
/**
|
||
* 根据会话类型,加载置顶会话列表
|
||
* @param conversationTypes 会话类型集合
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onTopConversationsLoaded]
|
||
* @deprecated 用 {@link #getTopConversations(List, String, IRCIMIWGetTopConversationsCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadTopConversations(conversationTypes, channelId) {
|
||
if (!validate('conversationTypes', conversationTypes, AssertRules.NUMBER_ARRAY, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('loadTopConversations', resultCallback, { conversationTypes, channelId });
|
||
}
|
||
/**
|
||
* 根据会话类型,获取置顶会话列表
|
||
* @param conversationTypes 会话类型集合
|
||
* @param channelId 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onTopConversationsLoaded]
|
||
*/
|
||
getTopConversations(conversationTypes, channelId, callback) {
|
||
if (!validate('conversationTypes', conversationTypes, AssertRules.NUMBER_ARRAY, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getTopConversations', resultCallback, { conversationTypes, channelId });
|
||
}
|
||
/**
|
||
* 上报超级群的已读时间
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用。
|
||
* @param timestamp 已读时间
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUltraGroupReadStatusSynced]
|
||
*/
|
||
syncUltraGroupReadStatus(targetId, channelId, timestamp, callback) {
|
||
if (!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('timestamp', timestamp, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onUltraGroupReadStatusSynced') {
|
||
let { code } = res;
|
||
callback.onUltraGroupReadStatusSynced?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('syncUltraGroupReadStatus', resultCallback, { targetId, channelId, timestamp });
|
||
}
|
||
/**
|
||
* 获取特定会话下所有频道的会话列表,只支持超级群
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onConversationsLoadedForAllChannel]
|
||
* @deprecated 用 {@link #getConversationsForAllChannel(RCIMIWConversationType, String, IRCIMIWGetConversationsForAllChannelCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadConversationsForAllChannel(type, targetId) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('loadConversationsForAllChannel', resultCallback, { type, targetId });
|
||
}
|
||
/**
|
||
* 获取特定会话下所有频道的会话列表,只支持超级群
|
||
* @param type 会话类型
|
||
* @param targetId 会话 ID
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onConversationsLoadedForAllChannel]
|
||
*/
|
||
getConversationsForAllChannel(type, targetId, callback) {
|
||
if (!validate('type', type, AssertRules.NUMBER, true) ||
|
||
!validate('targetId', targetId, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { t } = res;
|
||
callback.onSuccess?.({ t });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getConversationsForAllChannel', resultCallback, { type, targetId });
|
||
}
|
||
/**
|
||
* 修改超级群消息
|
||
* @param messageUId 消息的 messageUid,可在消息对象中获取,且只有发送成功的消息才会有值
|
||
* @param message 要修改的 message
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUltraGroupMessageModified]
|
||
*/
|
||
modifyUltraGroupMessage(messageUId, message, callback) {
|
||
if (!validate('messageUId', messageUId, AssertRules.STRING, true) ||
|
||
!validate('message', message, AssertRules.OBJECT, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onUltraGroupMessageModified') {
|
||
let { code } = res;
|
||
callback.onUltraGroupMessageModified?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('modifyUltraGroupMessage', resultCallback, { messageUId, message });
|
||
}
|
||
/**
|
||
* 撤回超级群消息
|
||
* @param message 需要撤回的消息
|
||
* @param deleteRemote 是否删除远端消息
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUltraGroupMessageRecalled]
|
||
*/
|
||
recallUltraGroupMessage(message, deleteRemote, callback) {
|
||
if (!validate('message', message, AssertRules.OBJECT, true) ||
|
||
!validate('deleteRemote', deleteRemote, AssertRules.BOOLEAN, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onUltraGroupMessageRecalled') {
|
||
let { code } = res;
|
||
callback.onUltraGroupMessageRecalled?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('recallUltraGroupMessage', resultCallback, { message, deleteRemote });
|
||
}
|
||
/**
|
||
* 删除超级群指定时间之前的消息
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用。
|
||
* @param timestamp 时间戳
|
||
* @param policy 清除策略
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUltraGroupMessagesCleared]
|
||
*/
|
||
clearUltraGroupMessages(targetId, channelId, timestamp, policy, callback) {
|
||
if (!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('timestamp', timestamp, AssertRules.NUMBER, true) ||
|
||
!validate('policy', policy, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onUltraGroupMessagesCleared') {
|
||
let { code } = res;
|
||
callback.onUltraGroupMessagesCleared?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('clearUltraGroupMessages', resultCallback, {
|
||
targetId,
|
||
channelId,
|
||
timestamp,
|
||
policy,
|
||
});
|
||
}
|
||
/**
|
||
* 发送超级群输入状态
|
||
* @param targetId 会话 ID
|
||
* @param channelId 频道 ID,仅支持超级群使用。
|
||
* @param typingStatus 输入状态
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUltraGroupTypingStatusSent]
|
||
*/
|
||
sendUltraGroupTypingStatus(targetId, channelId, typingStatus, callback) {
|
||
if (!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('channelId', channelId, AssertRules.ONLY_STRING, false) ||
|
||
!validate('typingStatus', typingStatus, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onUltraGroupTypingStatusSent') {
|
||
let { code } = res;
|
||
callback.onUltraGroupTypingStatusSent?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('sendUltraGroupTypingStatus', resultCallback, { targetId, channelId, typingStatus });
|
||
}
|
||
/**
|
||
* 删除超级群所有频道指定时间之前的消息
|
||
* @param targetId 会话 ID
|
||
* @param timestamp 时间戳
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUltraGroupMessagesClearedForAllChannel]
|
||
*/
|
||
clearUltraGroupMessagesForAllChannel(targetId, timestamp, callback) {
|
||
if (!validate('targetId', targetId, AssertRules.STRING, true) ||
|
||
!validate('timestamp', timestamp, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onUltraGroupMessagesClearedForAllChannel') {
|
||
let { code } = res;
|
||
callback.onUltraGroupMessagesClearedForAllChannel?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('clearUltraGroupMessagesForAllChannel', resultCallback, { targetId, timestamp });
|
||
}
|
||
/**
|
||
* 从服务获取批量消息
|
||
* @param messages 获取的消息集合
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onBatchRemoteUltraGroupMessagesLoaded]
|
||
* @deprecated 用 {@link #getBatchRemoteUltraGroupMessages(List, IRCIMIWGetBatchRemoteUltraGroupMessagesCallback)} 代替, 预计将在 6.x 版本删除此接口。
|
||
*/
|
||
loadBatchRemoteUltraGroupMessages(messages) {
|
||
if (!validate('messages', messages, AssertRules.ARRAY, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('loadBatchRemoteUltraGroupMessages', resultCallback, { messages });
|
||
}
|
||
/**
|
||
* 从服务获取批量消息
|
||
* @param messages 获取的消息集合
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onBatchRemoteUltraGroupMessagesLoaded]
|
||
*/
|
||
getBatchRemoteUltraGroupMessages(messages, callback) {
|
||
if (!validate('messages', messages, AssertRules.ARRAY, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onSuccess') {
|
||
let { matchedMessages, notMatchedMessages } = res;
|
||
callback.onSuccess?.({ matchedMessages, notMatchedMessages });
|
||
}
|
||
if (res.callbackName === 'onError') {
|
||
let { code } = res;
|
||
callback.onError?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('getBatchRemoteUltraGroupMessages', resultCallback, { messages });
|
||
}
|
||
/**
|
||
* 更新超级群消息扩展信息
|
||
* @param messageUId 消息的 messageUid,可在消息对象中获取,且只有发送成功的消息才会有值
|
||
* @param expansion 更新的消息扩展信息键值对,类型是 HashMap;Key 支持大小写英文字母、数字、部分特殊符号 + = - _ 的组合方式,不支持汉字。Value 可以输入空格。
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUltraGroupMessageExpansionUpdated]
|
||
*/
|
||
updateUltraGroupMessageExpansion(messageUId, expansion, callback) {
|
||
if (!validate('messageUId', messageUId, AssertRules.STRING, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onUltraGroupMessageExpansionUpdated') {
|
||
let { code } = res;
|
||
callback.onUltraGroupMessageExpansionUpdated?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('updateUltraGroupMessageExpansion', resultCallback, { messageUId, expansion });
|
||
}
|
||
/**
|
||
* 删除超级群消息扩展信息中特定的键值对
|
||
* @param messageUId 消息的 messageUid,可在消息对象中获取,且只有发送成功的消息才会有值
|
||
* @param keys 消息扩展信息中待删除的 key 的列表,类型是 ArrayList
|
||
* @param callback 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式,预计将在 6.x 版本删除此其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
* @listener [onUltraGroupMessageExpansionForKeysRemoved]
|
||
*/
|
||
removeUltraGroupMessageExpansionForKeys(messageUId, keys, callback) {
|
||
if (!validate('messageUId', messageUId, AssertRules.STRING, true) ||
|
||
!validate('keys', keys, AssertRules.ARRAY, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
if (callback) {
|
||
resultCallback = (res) => {
|
||
if (res.callbackName === 'onUltraGroupMessageExpansionForKeysRemoved') {
|
||
let { code } = res;
|
||
callback.onUltraGroupMessageExpansionForKeysRemoved?.({ code });
|
||
}
|
||
};
|
||
}
|
||
return this._invokeMethod('removeUltraGroupMessageExpansionForKeys', resultCallback, { messageUId, keys });
|
||
}
|
||
/**
|
||
* 修改日志等级
|
||
* @param level 日志级别
|
||
* @return 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码
|
||
*/
|
||
changeLogLevel(level) {
|
||
if (!validate('level', level, AssertRules.NUMBER, true)) {
|
||
return paramErrorPromise;
|
||
}
|
||
let resultCallback;
|
||
return this._invokeMethod('changeLogLevel', resultCallback, { level });
|
||
}
|
||
/**
|
||
* 获取本地时间与服务器时间的时间差。消息发送成功后,SDK 与服务器同步时间,消息所在数据库中存储的时间就是服务器时间。 System.currentTimeMillis() - getDeltaTime() 可以获取服务器当前时间。
|
||
* @return 本地时间与服务器时间的差值
|
||
*/
|
||
getDeltaTime() {
|
||
let resultCallback;
|
||
return this._invokeMethod('getDeltaTime', resultCallback, {});
|
||
}
|
||
/**
|
||
* 收到消息的监听
|
||
*/
|
||
setOnMessageReceivedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onMessageReceived';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* 网络状态变化
|
||
*/
|
||
setOnConnectionStatusChangedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onConnectionStatusChanged';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* 会话状态置顶多端同步监听
|
||
*/
|
||
setOnConversationTopStatusSyncedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onConversationTopStatusSynced';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* 会话状态免打扰多端同步监听
|
||
*/
|
||
setOnConversationNotificationLevelSyncedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onConversationNotificationLevelSynced';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* 撤回消息监听器
|
||
*/
|
||
setOnRemoteMessageRecalledListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onRemoteMessageRecalled';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* 单聊中收到消息回执的回调。
|
||
*/
|
||
setOnPrivateReadReceiptReceivedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onPrivateReadReceiptReceived';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* 消息扩展信息更改的回调
|
||
*/
|
||
setOnRemoteMessageExpansionUpdatedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onRemoteMessageExpansionUpdated';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* 消息扩展信息删除的回调
|
||
*/
|
||
setOnRemoteMessageExpansionForKeyRemovedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onRemoteMessageExpansionForKeyRemoved';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* 聊天室用户进入、退出聊天室监听
|
||
*/
|
||
setOnChatRoomMemberChangedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onChatRoomMemberChanged';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* 会话输入状态发生变化。对于单聊而言,当对方正在输入时,监听会触发一次;当对方不处于输入状态时,该监听还会触发一次,但回调里输入用户列表为空。
|
||
*/
|
||
setOnTypingStatusChangedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onTypingStatusChanged';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* 同步消息未读状态监听接口。多端登录,收到其它端清除某一会话未读数通知的时候
|
||
*/
|
||
setOnConversationReadStatusSyncMessageReceivedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onConversationReadStatusSyncMessageReceived';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* 聊天室 KV 同步完成的回调
|
||
*/
|
||
setOnChatRoomEntriesSyncedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onChatRoomEntriesSynced';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* 聊天室 KV 发生变化的回调
|
||
*/
|
||
setOnChatRoomEntriesChangedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onChatRoomEntriesChanged';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* 超级群消息 kv 被更新
|
||
*/
|
||
setOnRemoteUltraGroupMessageExpansionUpdatedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onRemoteUltraGroupMessageExpansionUpdated';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* 超级群消息被更改
|
||
*/
|
||
setOnRemoteUltraGroupMessageModifiedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onRemoteUltraGroupMessageModified';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* 超级群消息被撤回
|
||
*/
|
||
setOnRemoteUltraGroupMessageRecalledListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onRemoteUltraGroupMessageRecalled';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* 超级群已读的监听
|
||
*/
|
||
setOnUltraGroupReadTimeReceivedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onUltraGroupReadTimeReceived';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* 用户输入状态变化的回调
|
||
* 当客户端收到用户输入状态的变化时,会回调此接口,通知发生变化的会话以及当前正在输入的RCUltraGroupTypingStatusInfo列表
|
||
*/
|
||
setOnUltraGroupTypingStatusChangedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onUltraGroupTypingStatusChanged';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* 发送含有敏感词消息被拦截的回调
|
||
*/
|
||
setOnMessageBlockedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onMessageBlocked';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* 聊天室状态发生变化的监听
|
||
*/
|
||
setOnChatRoomStatusChangedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onChatRoomStatusChanged';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* 收到群聊已读回执请求的监听
|
||
*/
|
||
setOnGroupMessageReadReceiptRequestReceivedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onGroupMessageReadReceiptRequestReceived';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* 收到群聊已读回执响应的监听
|
||
*/
|
||
setOnGroupMessageReadReceiptResponseReceivedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onGroupMessageReadReceiptResponseReceived';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [connect] 的接口监听,收到链接结果的回调
|
||
*/
|
||
setOnConnectedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onConnected';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [connect] 的接口监听,数据库打开时发生的回调
|
||
*/
|
||
setOnDatabaseOpenedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onDatabaseOpened';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadConversation] 的接口监听
|
||
*/
|
||
setOnConversationLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onConversationLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadConversations] 的接口监听
|
||
*/
|
||
setOnConversationsLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onConversationsLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [removeConversation] 的接口监听
|
||
*/
|
||
setOnConversationRemovedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onConversationRemoved';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [removeConversations] 的接口监听
|
||
*/
|
||
setOnConversationsRemovedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onConversationsRemoved';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadTotalUnreadCount] 的接口监听
|
||
*/
|
||
setOnTotalUnreadCountLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onTotalUnreadCountLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadUnreadCount] 的接口监听
|
||
*/
|
||
setOnUnreadCountLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onUnreadCountLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadUnreadCountByConversationTypes] 的接口监听
|
||
*/
|
||
setOnUnreadCountByConversationTypesLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onUnreadCountByConversationTypesLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadUnreadMentionedCount] 的接口监听
|
||
*/
|
||
setOnUnreadMentionedCountLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onUnreadMentionedCountLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadUltraGroupAllUnreadMentionedCount] 的接口监听
|
||
*/
|
||
setOnUltraGroupAllUnreadCountLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onUltraGroupAllUnreadCountLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadUltraGroupAllUnreadMentionedCount] 的接口监听
|
||
*/
|
||
setOnUltraGroupAllUnreadMentionedCountLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onUltraGroupAllUnreadMentionedCountLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
*
|
||
* 超级群列表同步完成的回调
|
||
*
|
||
*/
|
||
setOnUltraGroupConversationsSyncedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onUltraGroupConversationsSynced';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [clearUnreadCount] 的接口监听
|
||
*/
|
||
setOnUnreadCountClearedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onUnreadCountCleared';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [saveDraftMessage] 的接口监听
|
||
*/
|
||
setOnDraftMessageSavedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onDraftMessageSaved';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [clearDraftMessage] 的接口监听
|
||
*/
|
||
setOnDraftMessageClearedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onDraftMessageCleared';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadDraftMessage] 的接口监听
|
||
*/
|
||
setOnDraftMessageLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onDraftMessageLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadBlockedConversations] 的接口监听
|
||
*/
|
||
setOnBlockedConversationsLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onBlockedConversationsLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [changeConversationTopStatus] 的接口监听
|
||
*/
|
||
setOnConversationTopStatusChangedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onConversationTopStatusChanged';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadConversationTopStatus] 的接口监听
|
||
*/
|
||
setOnConversationTopStatusLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onConversationTopStatusLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [syncConversationReadStatus] 的接口监听
|
||
*/
|
||
setOnConversationReadStatusSyncedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onConversationReadStatusSynced';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [sendMessage] 的接口监听
|
||
*/
|
||
setOnMessageAttachedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onMessageAttached';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [sendMessage] 的接口监听
|
||
*/
|
||
setOnMessageSentListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onMessageSent';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [sendMediaMessage] 的接口监听
|
||
*/
|
||
setOnMediaMessageAttachedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onMediaMessageAttached';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [sendMediaMessage] 的接口监听
|
||
*/
|
||
setOnMediaMessageSendingListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onMediaMessageSending';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [cancelSendingMediaMessage] 的接口监听
|
||
*/
|
||
setOnSendingMediaMessageCanceledListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onSendingMediaMessageCanceled';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [sendMediaMessage] 的接口监听
|
||
*/
|
||
setOnMediaMessageSentListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onMediaMessageSent';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [downloadMediaMessage] 的接口监听
|
||
*/
|
||
setOnMediaMessageDownloadingListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onMediaMessageDownloading';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [downloadMediaMessage] 的接口监听
|
||
*/
|
||
setOnMediaMessageDownloadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onMediaMessageDownloaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [cancelDownloadingMediaMessage] 的接口监听
|
||
*/
|
||
setOnDownloadingMediaMessageCanceledListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onDownloadingMediaMessageCanceled';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadMessages] 的接口监听
|
||
*/
|
||
setOnMessagesLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onMessagesLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadUnreadMentionedMessages] 的接口监听
|
||
*/
|
||
setOnUnreadMentionedMessagesLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onUnreadMentionedMessagesLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadFirstUnreadMessage] 的接口监听
|
||
*/
|
||
setOnFirstUnreadMessageLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onFirstUnreadMessageLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [insertMessage] 的接口监听
|
||
*/
|
||
setOnMessageInsertedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onMessageInserted';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [insertMessages] 的接口监听
|
||
*/
|
||
setOnMessagesInsertedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onMessagesInserted';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [clearMessages] 的接口监听
|
||
*/
|
||
setOnMessagesClearedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onMessagesCleared';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [deleteLocalMessages] 的接口监听
|
||
*/
|
||
setOnLocalMessagesDeletedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onLocalMessagesDeleted';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [deleteMessages] 的接口监听
|
||
*/
|
||
setOnMessagesDeletedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onMessagesDeleted';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [recallMessage] 的接口监听
|
||
*/
|
||
setOnMessageRecalledListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onMessageRecalled';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [sendPrivateReadReceiptMessage] 的接口监听
|
||
*/
|
||
setOnPrivateReadReceiptMessageSentListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onPrivateReadReceiptMessageSent';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [updateMessageExpansion] 的接口监听
|
||
*/
|
||
setOnMessageExpansionUpdatedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onMessageExpansionUpdated';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [removeMessageExpansionForKeys] 的接口监听
|
||
*/
|
||
setOnMessageExpansionForKeysRemovedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onMessageExpansionForKeysRemoved';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [changeMessageReceiveStatus] 的接口监听
|
||
*/
|
||
setOnMessageReceiveStatusChangedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onMessageReceiveStatusChanged';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [changeMessageSentStatus] 的接口监听
|
||
*/
|
||
setOnMessageSentStatusChangedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onMessageSentStatusChanged';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [joinChatRoom] 的接口监听
|
||
*/
|
||
setOnChatRoomJoinedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onChatRoomJoined';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* 正在加入聊天室的回调
|
||
*/
|
||
setOnChatRoomJoiningListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onChatRoomJoining';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [leaveChatRoom] 的接口监听
|
||
*/
|
||
setOnChatRoomLeftListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onChatRoomLeft';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadChatRoomMessages] 的接口监听
|
||
*/
|
||
setOnChatRoomMessagesLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onChatRoomMessagesLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [addChatRoomEntry] 的接口监听
|
||
*/
|
||
setOnChatRoomEntryAddedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onChatRoomEntryAdded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [addChatRoomEntries] 的接口监听
|
||
*/
|
||
setOnChatRoomEntriesAddedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onChatRoomEntriesAdded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadChatRoomEntry] 的接口监听
|
||
*/
|
||
setOnChatRoomEntryLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onChatRoomEntryLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadChatRoomAllEntries] 的接口监听
|
||
*/
|
||
setOnChatRoomAllEntriesLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onChatRoomAllEntriesLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [removeChatRoomEntry] 的接口监听
|
||
*/
|
||
setOnChatRoomEntryRemovedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onChatRoomEntryRemoved';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [removeChatRoomEntries] 的接口监听
|
||
*/
|
||
setOnChatRoomEntriesRemovedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onChatRoomEntriesRemoved';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [addToBlacklist] 的接口监听
|
||
*/
|
||
setOnBlacklistAddedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onBlacklistAdded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [removeFromBlacklist] 的接口监听
|
||
*/
|
||
setOnBlacklistRemovedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onBlacklistRemoved';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadBlacklistStatus] 的接口监听
|
||
*/
|
||
setOnBlacklistStatusLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onBlacklistStatusLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadBlacklist] 的接口监听
|
||
*/
|
||
setOnBlacklistLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onBlacklistLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [searchMessages] 的接口监听
|
||
*/
|
||
setOnMessagesSearchedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onMessagesSearched';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [searchMessagesByTimeRange] 的接口监听
|
||
*/
|
||
setOnMessagesSearchedByTimeRangeListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onMessagesSearchedByTimeRange';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [searchMessagesByUserId] 的接口监听
|
||
*/
|
||
setOnMessagesSearchedByUserIdListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onMessagesSearchedByUserId';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [searchConversations] 的接口监听
|
||
*/
|
||
setOnConversationsSearchedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onConversationsSearched';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* sendGroupReadReceiptRequest 的接口监听
|
||
*/
|
||
setOnGroupReadReceiptRequestSentListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onGroupReadReceiptRequestSent';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [sendGroupReadReceiptResponse] 的接口监听
|
||
*/
|
||
setOnGroupReadReceiptResponseSentListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onGroupReadReceiptResponseSent';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [changeNotificationQuietHours] 的接口监听
|
||
*/
|
||
setOnNotificationQuietHoursChangedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onNotificationQuietHoursChanged';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [removeNotificationQuietHours] 的接口监听
|
||
*/
|
||
setOnNotificationQuietHoursRemovedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onNotificationQuietHoursRemoved';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadNotificationQuietHours] 的接口监听
|
||
*/
|
||
setOnNotificationQuietHoursLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onNotificationQuietHoursLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [changeConversationNotificationLevel] 的接口监听
|
||
*/
|
||
setOnConversationNotificationLevelChangedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onConversationNotificationLevelChanged';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadConversationNotificationLevel] 的接口监听
|
||
*/
|
||
setOnConversationNotificationLevelLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onConversationNotificationLevelLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [changeConversationTypeNotificationLevel] 的接口监听
|
||
*/
|
||
setOnConversationTypeNotificationLevelChangedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onConversationTypeNotificationLevelChanged';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadConversationTypeNotificationLevel] 的接口监听
|
||
*/
|
||
setOnConversationTypeNotificationLevelLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onConversationTypeNotificationLevelLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [changeUltraGroupDefaultNotificationLevel] 的接口监听
|
||
*/
|
||
setOnUltraGroupDefaultNotificationLevelChangedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onUltraGroupDefaultNotificationLevelChanged';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadUltraGroupDefaultNotificationLevel] 的接口监听
|
||
*/
|
||
setOnUltraGroupDefaultNotificationLevelLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onUltraGroupDefaultNotificationLevelLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [changeUltraGroupChannelDefaultNotificationLevel] 的接口监听
|
||
*/
|
||
setOnUltraGroupChannelDefaultNotificationLevelChangedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onUltraGroupChannelDefaultNotificationLevelChanged';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadUltraGroupChannelDefaultNotificationLevel] 的接口监听
|
||
*/
|
||
setOnUltraGroupChannelDefaultNotificationLevelLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onUltraGroupChannelDefaultNotificationLevelLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [changePushContentShowStatus] 的接口监听
|
||
*/
|
||
setOnPushContentShowStatusChangedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onPushContentShowStatusChanged';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [changePushLanguage] 的接口监听
|
||
*/
|
||
setOnPushLanguageChangedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onPushLanguageChanged';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [changePushReceiveStatus] 的接口监听
|
||
*/
|
||
setOnPushReceiveStatusChangedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onPushReceiveStatusChanged';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadMessageCount] 的接口监听
|
||
*/
|
||
setOnMessageCountLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onMessageCountLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadTopConversations] 的接口监听
|
||
*/
|
||
setOnTopConversationsLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onTopConversationsLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [sendGroupMessageToDesignatedUsers] 的接口监听
|
||
* 消息存入数据库的回调
|
||
*/
|
||
setOnGroupMessageToDesignatedUsersAttachedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onGroupMessageToDesignatedUsersAttached';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [sendGroupMessageToDesignatedUsers] 的接口监听
|
||
* 消息发送完成的回调
|
||
*/
|
||
setOnGroupMessageToDesignatedUsersSentListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onGroupMessageToDesignatedUsersSent';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [syncUltraGroupReadStatus] 的接口监听
|
||
*/
|
||
setOnUltraGroupReadStatusSyncedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onUltraGroupReadStatusSynced';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadConversationsForAllChannel] 的接口监听
|
||
*/
|
||
setOnConversationsLoadedForAllChannelListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onConversationsLoadedForAllChannel';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadUltraGroupUnreadMentionedCount] 的接口监听
|
||
*/
|
||
setOnUltraGroupUnreadMentionedCountLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onUltraGroupUnreadMentionedCountLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadUltraGroupUnreadCount] 的接口监听
|
||
*/
|
||
setOnUltraGroupUnreadCountLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onUltraGroupUnreadCountLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [modifyUltraGroupMessage] 的接口监听
|
||
*/
|
||
setOnUltraGroupMessageModifiedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onUltraGroupMessageModified';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [recallUltraGroupMessage] 的接口监听
|
||
*/
|
||
setOnUltraGroupMessageRecalledListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onUltraGroupMessageRecalled';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [clearUltraGroupMessages] 的接口监听
|
||
*/
|
||
setOnUltraGroupMessagesClearedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onUltraGroupMessagesCleared';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [clearUltraGroupMessagesForAllChannel] 的接口监听
|
||
*/
|
||
setOnUltraGroupMessagesClearedForAllChannelListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onUltraGroupMessagesClearedForAllChannel';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [sendUltraGroupTypingStatus] 的接口监听
|
||
*/
|
||
setOnUltraGroupTypingStatusSentListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onUltraGroupTypingStatusSent';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [loadBatchRemoteUltraGroupMessages] 的接口监听
|
||
*/
|
||
setOnBatchRemoteUltraGroupMessagesLoadedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onBatchRemoteUltraGroupMessagesLoaded';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [updateUltraGroupMessageExpansion] 的接口监听
|
||
*/
|
||
setOnUltraGroupMessageExpansionUpdatedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onUltraGroupMessageExpansionUpdated';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
/**
|
||
* [removeUltraGroupMessageExpansionForKeys] 的接口监听
|
||
*/
|
||
setOnUltraGroupMessageExpansionForKeysRemovedListener(callback) {
|
||
const eventName = 'IRCIMIWListener:onUltraGroupMessageExpansionForKeysRemoved';
|
||
this._setListener(eventName, callback);
|
||
}
|
||
}
|