Files
dtx_store/uni_modules/RongCloud-IMWrapper/js_sdk/index.js
唐明明 1c6091371e init
2022-06-07 16:37:03 +08:00

1466 lines
51 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* RCIMLibUni - v5.1.3-release.4
* CommitId - 683537a92582a32f4686f41774947782dc7ff16e
* Wed Jan 19 2022 15:01:35 GMT+0800 (中国标准时间)
* ©2020 RongCloud, Inc. All rights reserved.
*/
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
/**
* 消息方向
*/
exports.MessageDirection = void 0;
(function (MessageDirection) {
MessageDirection[MessageDirection["SEND"] = 1] = "SEND";
MessageDirection[MessageDirection["RECEIVE"] = 2] = "RECEIVE";
})(exports.MessageDirection || (exports.MessageDirection = {}));
/**
* 会话类型
*/
exports.ConversationType = void 0;
(function (ConversationType) {
ConversationType[ConversationType["PRIVATE"] = 1] = "PRIVATE";
ConversationType[ConversationType["DISCUSSION"] = 2] = "DISCUSSION";
ConversationType[ConversationType["GROUP"] = 3] = "GROUP";
ConversationType[ConversationType["CHATROOM"] = 4] = "CHATROOM";
ConversationType[ConversationType["CUSTOMER_SERVICE"] = 5] = "CUSTOMER_SERVICE";
ConversationType[ConversationType["SYSTEM"] = 6] = "SYSTEM";
ConversationType[ConversationType["APP_SERVICE"] = 7] = "APP_SERVICE";
ConversationType[ConversationType["PUBLIC_SERVICE"] = 8] = "PUBLIC_SERVICE";
ConversationType[ConversationType["PUSH_SERVICE"] = 9] = "PUSH_SERVICE";
})(exports.ConversationType || (exports.ConversationType = {}));
/**
* 发送状态
*/
exports.SentStatus = void 0;
(function (SentStatus) {
SentStatus[SentStatus["SENDING"] = 10] = "SENDING";
SentStatus[SentStatus["FAILED"] = 20] = "FAILED";
SentStatus[SentStatus["SENT"] = 30] = "SENT";
SentStatus[SentStatus["RECEIVED"] = 40] = "RECEIVED";
SentStatus[SentStatus["READ"] = 50] = "READ";
SentStatus[SentStatus["DESTROYED"] = 60] = "DESTROYED";
SentStatus[SentStatus["CANCELED"] = 70] = "CANCELED";
})(exports.SentStatus || (exports.SentStatus = {}));
/**
* 消息提醒类型
*/
exports.MentionedType = void 0;
(function (MentionedType) {
/**
* 提醒所有
*/
MentionedType[MentionedType["ALL"] = 1] = "ALL";
/**
* 部分提醒
*/
MentionedType[MentionedType["PART"] = 2] = "PART";
})(exports.MentionedType || (exports.MentionedType = {}));
/**
* 消息对象名称
*/
exports.ObjectName = void 0;
(function (ObjectName) {
/**
* 文本消息
*/
ObjectName["Text"] = "RC:TxtMsg";
/**
* 文件消息
*/
ObjectName["File"] = "RC:FileMsg";
/**
* 图片消息
*/
ObjectName["Image"] = "RC:ImgMsg";
/**
* GIF 图片消息
*/
ObjectName["GIF"] = "RC:GIFMsg";
/**
* 位置信息
*/
ObjectName["Location"] = "RC:LBSMsg";
/**
* 语音消息
*/
ObjectName["Voice"] = "RC:VcMsg";
/**
* 高质量语音消息
*/
ObjectName["HQVoice"] = "RC:HQVCMsg";
/**
* 小视频消息
*/
ObjectName["Sight"] = "RC:SightMsg";
/**
* 命令消息
*/
ObjectName["Command"] = "RC:CmdMsg";
/**
* 公众服务单图文消息
*/
ObjectName["PublicServiceRich"] = "RC:PSImgTxtMsg";
/**
* 公众服务多图文消息
*/
ObjectName["PublicServiceMultiRich"] = "RC:PSMultiImgTxtMsg";
/**
* 好友通知消息
*/
ObjectName["ContactNotification"] = "RC:ContactNtf";
/**
* 资料通知消息
*/
ObjectName["ProfileNotification"] = "RC:ProfileNtf";
/**
* 通用命令通知消息
*/
ObjectName["CommandNotification"] = "RC:CmdNtf";
/**
* 提示条通知消息
*/
ObjectName["InformationNotification"] = "RC:InfoNtf";
/**
* 群组通知消息
*/
ObjectName["GroupNotification"] = "RC:GrpNtf";
/**
* 已读通知消息
*/
ObjectName["ReadReceipt"] = "RC:ReadNtf";
/**
* 公众服务命令消息
*/
ObjectName["PublicServiceCommand"] = "RC:PSCmd";
/**
* 对方正在输入状态消息
*/
ObjectName["TypingStatus"] = "RC:TypSts";
/**
* 群消息已读状态回执
*/
ObjectName["ReadReceiptResponse"] = "RC:RRRspMsg";
})(exports.ObjectName || (exports.ObjectName = {}));
/**
* 自定义消息类型
*/
exports.CustomMessageType = void 0;
(function (CustomMessageType) {
/**
* 命令消息,不存储、不计入未读计数
*/
CustomMessageType[CustomMessageType["COMMAND"] = 0] = "COMMAND";
/**
* 存储消息,存储、不计入未读计数
*/
CustomMessageType[CustomMessageType["STORAGE"] = 1] = "STORAGE";
/**
* 普通消息,存储、计入未读计数
*/
CustomMessageType[CustomMessageType["NORMAL"] = 2] = "NORMAL";
/**
* 状态消息,不存储不计数
*/
CustomMessageType[CustomMessageType["STATUS"] = 3] = "STATUS";
})(exports.CustomMessageType || (exports.CustomMessageType = {}));
/**
* 消息对象名称枚举
*/
exports.MessageObjectNames = void 0;
(function (MessageObjectNames) {
MessageObjectNames["text"] = "RC:TxtMsg";
MessageObjectNames["image"] = "RC:ImgMsg";
MessageObjectNames["file"] = "RC:FileMsg";
MessageObjectNames["location"] = "RC:LocMsg";
MessageObjectNames["voice"] = "RC:VcMsg";
})(exports.MessageObjectNames || (exports.MessageObjectNames = {}));
/**
* 连接错误代码
*/
exports.ConnectErrorCode = void 0;
(function (ConnectErrorCode) {
ConnectErrorCode[ConnectErrorCode["RC_SUCCESS"] = 0] = "RC_SUCCESS";
ConnectErrorCode[ConnectErrorCode["RC_NET_CHANNEL_INVALID"] = 30001] = "RC_NET_CHANNEL_INVALID";
ConnectErrorCode[ConnectErrorCode["RC_NET_UNAVAILABLE"] = 30002] = "RC_NET_UNAVAILABLE";
ConnectErrorCode[ConnectErrorCode["RC_NAVI_REQUEST_FAIL"] = 30004] = "RC_NAVI_REQUEST_FAIL";
ConnectErrorCode[ConnectErrorCode["RC_NAVI_RESPONSE_ERROR"] = 30007] = "RC_NAVI_RESPONSE_ERROR";
ConnectErrorCode[ConnectErrorCode["RC_NODE_NOT_FOUND"] = 30008] = "RC_NODE_NOT_FOUND";
ConnectErrorCode[ConnectErrorCode["RC_SOCKET_NOT_CONNECTED"] = 30010] = "RC_SOCKET_NOT_CONNECTED";
ConnectErrorCode[ConnectErrorCode["RC_SOCKET_DISCONNECTED"] = 30011] = "RC_SOCKET_DISCONNECTED";
ConnectErrorCode[ConnectErrorCode["RC_PING_SEND_FAIL"] = 30012] = "RC_PING_SEND_FAIL";
ConnectErrorCode[ConnectErrorCode["RC_PONG_RECV_FAIL"] = 30013] = "RC_PONG_RECV_FAIL";
ConnectErrorCode[ConnectErrorCode["RC_MSG_SEND_FAIL"] = 30014] = "RC_MSG_SEND_FAIL";
ConnectErrorCode[ConnectErrorCode["RC_CONN_OVERFREQUENCY"] = 30015] = "RC_CONN_OVERFREQUENCY";
ConnectErrorCode[ConnectErrorCode["RC_CONN_ACK_TIMEOUT"] = 31000] = "RC_CONN_ACK_TIMEOUT";
ConnectErrorCode[ConnectErrorCode["RC_CONN_PROTO_VERSION_ERROR"] = 31001] = "RC_CONN_PROTO_VERSION_ERROR";
ConnectErrorCode[ConnectErrorCode["RC_CONN_ID_REJECT"] = 31002] = "RC_CONN_ID_REJECT";
ConnectErrorCode[ConnectErrorCode["RC_CONN_SERVER_UNAVAILABLE"] = 31003] = "RC_CONN_SERVER_UNAVAILABLE";
ConnectErrorCode[ConnectErrorCode["RC_CONN_TOKEN_INCORRECT"] = 31004] = "RC_CONN_TOKEN_INCORRECT";
ConnectErrorCode[ConnectErrorCode["RC_CONN_NOT_AUTHRORIZED"] = 31005] = "RC_CONN_NOT_AUTHRORIZED";
ConnectErrorCode[ConnectErrorCode["RC_CONN_REDIRECTED"] = 31006] = "RC_CONN_REDIRECTED";
ConnectErrorCode[ConnectErrorCode["RC_CONN_PACKAGE_NAME_INVALID"] = 31007] = "RC_CONN_PACKAGE_NAME_INVALID";
ConnectErrorCode[ConnectErrorCode["RC_CONN_APP_BLOCKED_OR_DELETED"] = 31008] = "RC_CONN_APP_BLOCKED_OR_DELETED";
ConnectErrorCode[ConnectErrorCode["RC_CONN_USER_BLOCKED"] = 31009] = "RC_CONN_USER_BLOCKED";
ConnectErrorCode[ConnectErrorCode["RC_DISCONN_KICK"] = 31010] = "RC_DISCONN_KICK";
ConnectErrorCode[ConnectErrorCode["RC_CONN_OTHER_DEVICE_LOGIN"] = 31023] = "RC_CONN_OTHER_DEVICE_LOGIN";
ConnectErrorCode[ConnectErrorCode["RC_CONN_REFUSED"] = 32061] = "RC_CONN_REFUSED";
ConnectErrorCode[ConnectErrorCode["RC_CLIENT_NOT_INIT"] = 33001] = "RC_CLIENT_NOT_INIT";
ConnectErrorCode[ConnectErrorCode["RC_INVALID_PARAMETER"] = 33003] = "RC_INVALID_PARAMETER";
ConnectErrorCode[ConnectErrorCode["RC_CONNECTION_EXIST"] = 34001] = "RC_CONNECTION_EXIST";
ConnectErrorCode[ConnectErrorCode["RC_BACKGROUND_CONNECT"] = 34002] = "RC_BACKGROUND_CONNECT";
ConnectErrorCode[ConnectErrorCode["RC_INVALID_ARGUMENT"] = -1000] = "RC_INVALID_ARGUMENT";
})(exports.ConnectErrorCode || (exports.ConnectErrorCode = {}));
/**
* 错误代码
*/
exports.ErrorCode = void 0;
(function (ErrorCode) {
ErrorCode[ErrorCode["PARAMETER_ERROR"] = -3] = "PARAMETER_ERROR";
ErrorCode[ErrorCode["ERRORCODE_UNKNOWN"] = -1] = "ERRORCODE_UNKNOWN";
ErrorCode[ErrorCode["REJECTED_BY_BLACKLIST"] = 405] = "REJECTED_BY_BLACKLIST";
ErrorCode[ErrorCode["ERRORCODE_TIMEOUT"] = 5004] = "ERRORCODE_TIMEOUT";
ErrorCode[ErrorCode["SEND_MSG_FREQUENCY_OVERRUN"] = 20604] = "SEND_MSG_FREQUENCY_OVERRUN";
ErrorCode[ErrorCode["NOT_IN_DISCUSSION"] = 21406] = "NOT_IN_DISCUSSION";
ErrorCode[ErrorCode["NOT_IN_GROUP"] = 22406] = "NOT_IN_GROUP";
ErrorCode[ErrorCode["FORBIDDEN_IN_GROUP"] = 22408] = "FORBIDDEN_IN_GROUP";
ErrorCode[ErrorCode["NOT_IN_CHATROOM"] = 23406] = "NOT_IN_CHATROOM";
ErrorCode[ErrorCode["FORBIDDEN_IN_CHATROOM"] = 23408] = "FORBIDDEN_IN_CHATROOM";
ErrorCode[ErrorCode["KICKED_FROM_CHATROOM"] = 23409] = "KICKED_FROM_CHATROOM";
ErrorCode[ErrorCode["CHATROOM_NOT_EXIST"] = 23410] = "CHATROOM_NOT_EXIST";
ErrorCode[ErrorCode["CHATROOM_IS_FULL"] = 23411] = "CHATROOM_IS_FULL";
ErrorCode[ErrorCode["PARAMETER_INVALID_CHATROOM"] = 23412] = "PARAMETER_INVALID_CHATROOM";
ErrorCode[ErrorCode["ROAMING_SERVICE_UNAVAILABLE_CHATROOM"] = 23414] = "ROAMING_SERVICE_UNAVAILABLE_CHATROOM";
ErrorCode[ErrorCode["CHANNEL_INVALID"] = 30001] = "CHANNEL_INVALID";
ErrorCode[ErrorCode["NETWORK_UNAVAILABLE"] = 30002] = "NETWORK_UNAVAILABLE";
ErrorCode[ErrorCode["MSG_RESPONSE_TIMEOUT"] = 30003] = "MSG_RESPONSE_TIMEOUT";
ErrorCode[ErrorCode["CLIENT_NOT_INIT"] = 33001] = "CLIENT_NOT_INIT";
ErrorCode[ErrorCode["DATABASE_ERROR"] = 33002] = "DATABASE_ERROR";
ErrorCode[ErrorCode["INVALID_PARAMETER"] = 33003] = "INVALID_PARAMETER";
ErrorCode[ErrorCode["MSG_ROAMING_SERVICE_UNAVAILABLE"] = 33007] = "MSG_ROAMING_SERVICE_UNAVAILABLE";
ErrorCode[ErrorCode["INVALID_PUBLIC_NUMBER"] = 29201] = "INVALID_PUBLIC_NUMBER";
ErrorCode[ErrorCode["MSG_SIZE_OUT_OF_LIMIT"] = 30016] = "MSG_SIZE_OUT_OF_LIMIT";
ErrorCode[ErrorCode["RECALLMESSAGE_PARAMETER_INVALID"] = 25101] = "RECALLMESSAGE_PARAMETER_INVALID";
ErrorCode[ErrorCode["PUSHSETTING_PARAMETER_INVALID"] = 26001] = "PUSHSETTING_PARAMETER_INVALID";
ErrorCode[ErrorCode["OPERATION_BLOCKED"] = 20605] = "OPERATION_BLOCKED";
ErrorCode[ErrorCode["OPERATION_NOT_SUPPORT"] = 20606] = "OPERATION_NOT_SUPPORT";
ErrorCode[ErrorCode["MSG_BLOCKED_SENSITIVE_WORD"] = 21501] = "MSG_BLOCKED_SENSITIVE_WORD";
ErrorCode[ErrorCode["MSG_REPLACED_SENSITIVE_WORD"] = 21502] = "MSG_REPLACED_SENSITIVE_WORD";
ErrorCode[ErrorCode["SIGHT_MSG_DURATION_LIMIT_EXCEED"] = 34002] = "SIGHT_MSG_DURATION_LIMIT_EXCEED";
})(exports.ErrorCode || (exports.ErrorCode = {}));
/**
* iOS 连接状态
*/
exports.ConnectionStatusIOS = void 0;
(function (ConnectionStatusIOS) {
ConnectionStatusIOS[ConnectionStatusIOS["UNKNOWN"] = -1] = "UNKNOWN";
ConnectionStatusIOS[ConnectionStatusIOS["Connected"] = 0] = "Connected";
ConnectionStatusIOS[ConnectionStatusIOS["NETWORK_UNAVAILABLE"] = 1] = "NETWORK_UNAVAILABLE";
ConnectionStatusIOS[ConnectionStatusIOS["AIRPLANE_MODE"] = 2] = "AIRPLANE_MODE";
ConnectionStatusIOS[ConnectionStatusIOS["Cellular_2G"] = 3] = "Cellular_2G";
ConnectionStatusIOS[ConnectionStatusIOS["Cellular_3G_4G"] = 4] = "Cellular_3G_4G";
ConnectionStatusIOS[ConnectionStatusIOS["WIFI"] = 5] = "WIFI";
ConnectionStatusIOS[ConnectionStatusIOS["KICKED_OFFLINE_BY_OTHER_CLIENT"] = 6] = "KICKED_OFFLINE_BY_OTHER_CLIENT";
ConnectionStatusIOS[ConnectionStatusIOS["LOGIN_ON_WEB"] = 7] = "LOGIN_ON_WEB";
ConnectionStatusIOS[ConnectionStatusIOS["SERVER_INVALID"] = 8] = "SERVER_INVALID";
ConnectionStatusIOS[ConnectionStatusIOS["VALIDATE_INVALID"] = 9] = "VALIDATE_INVALID";
ConnectionStatusIOS[ConnectionStatusIOS["Connecting"] = 10] = "Connecting";
ConnectionStatusIOS[ConnectionStatusIOS["Unconnected"] = 11] = "Unconnected";
ConnectionStatusIOS[ConnectionStatusIOS["SignUp"] = 12] = "SignUp";
ConnectionStatusIOS[ConnectionStatusIOS["TOKEN_INCORRECT"] = 31004] = "TOKEN_INCORRECT";
ConnectionStatusIOS[ConnectionStatusIOS["DISCONN_EXCEPTION"] = 31011] = "DISCONN_EXCEPTION";
})(exports.ConnectionStatusIOS || (exports.ConnectionStatusIOS = {}));
/**
* Android 连接状态
*/
exports.ConnectionStatusAndroid = void 0;
(function (ConnectionStatusAndroid) {
ConnectionStatusAndroid[ConnectionStatusAndroid["NETWORK_UNAVAILABLE"] = -1] = "NETWORK_UNAVAILABLE";
ConnectionStatusAndroid[ConnectionStatusAndroid["CONNECTED"] = 0] = "CONNECTED";
ConnectionStatusAndroid[ConnectionStatusAndroid["CONNECTING"] = 1] = "CONNECTING";
ConnectionStatusAndroid[ConnectionStatusAndroid["DISCONNECTED"] = 2] = "DISCONNECTED";
ConnectionStatusAndroid[ConnectionStatusAndroid["KICKED_OFFLINE_BY_OTHER_CLIENT"] = 3] = "KICKED_OFFLINE_BY_OTHER_CLIENT";
ConnectionStatusAndroid[ConnectionStatusAndroid["TOKEN_INCORRECT"] = 4] = "TOKEN_INCORRECT";
ConnectionStatusAndroid[ConnectionStatusAndroid["SERVER_INVALID"] = 5] = "SERVER_INVALID";
})(exports.ConnectionStatusAndroid || (exports.ConnectionStatusAndroid = {}));
exports.ResponseType = void 0;
(function (ResponseType) {
ResponseType["SUCCESS"] = "success";
ResponseType["ERROR"] = "error";
ResponseType["CANCEL"] = "cancel";
ResponseType["PROGRESS"] = "progress";
})(exports.ResponseType || (exports.ResponseType = {}));
/**
* 搜索类型
*/
exports.SearchType = void 0;
(function (SearchType) {
/**
* 精准
*/
SearchType[SearchType["EXACT"] = 0] = "EXACT";
/**
* 模糊
*/
SearchType[SearchType["FUZZY"] = 1] = "FUZZY";
})(exports.SearchType || (exports.SearchType = {}));
/**
* 公共服务类型
*/
exports.PublicServiceType = void 0;
(function (PublicServiceType) {
/**
* 应用公众服务
*/
PublicServiceType[PublicServiceType["APP_PUBLIC_SERVICE"] = 7] = "APP_PUBLIC_SERVICE";
/**
* 公共服务号
*/
PublicServiceType[PublicServiceType["PUBLIC_SERVICE"] = 8] = "PUBLIC_SERVICE";
})(exports.PublicServiceType || (exports.PublicServiceType = {}));
/**
* 公众服务菜单类型
*/
exports.PublicServiceMenuItemType = void 0;
(function (PublicServiceMenuItemType) {
/**
* 作为分组包含子菜单的菜单
*/
PublicServiceMenuItemType[PublicServiceMenuItemType["GROUP"] = 0] = "GROUP";
/**
* 查看事件菜单
*/
PublicServiceMenuItemType[PublicServiceMenuItemType["VIEW"] = 1] = "VIEW";
/**
* 点击事件菜单
*/
PublicServiceMenuItemType[PublicServiceMenuItemType["CLICK"] = 2] = "CLICK";
})(exports.PublicServiceMenuItemType || (exports.PublicServiceMenuItemType = {}));
/**
* 时间戳排序方式
*/
exports.TimestampOrder = void 0;
(function (TimestampOrder) {
/**
* 按时间戳倒序排序
*/
TimestampOrder[TimestampOrder["DESC"] = 0] = "DESC";
/**
* 按时间戳顺序排序
*/
TimestampOrder[TimestampOrder["ASC"] = 1] = "ASC";
})(exports.TimestampOrder || (exports.TimestampOrder = {}));
/**
* 聊天室成员排序,按加入时间
*/
exports.ChatRoomMemberOrder = void 0;
(function (ChatRoomMemberOrder) {
/**
* 生序
*/
ChatRoomMemberOrder[ChatRoomMemberOrder["ASC"] = 1] = "ASC";
/**
* 降序
*/
ChatRoomMemberOrder[ChatRoomMemberOrder["DESC"] = 2] = "DESC";
})(exports.ChatRoomMemberOrder || (exports.ChatRoomMemberOrder = {}));
/**
* 实时位置共享状态
*/
exports.RealTimeLocationStatus = void 0;
(function (RealTimeLocationStatus) {
/**
* 初始状态
*/
RealTimeLocationStatus[RealTimeLocationStatus["IDLE"] = 0] = "IDLE";
/**
* 接收状态
*/
RealTimeLocationStatus[RealTimeLocationStatus["INCOMING"] = 1] = "INCOMING";
/**
* 发起状态
*/
RealTimeLocationStatus[RealTimeLocationStatus["OUTGOING"] = 2] = "OUTGOING";
/**
* 已连接,正在共享的状态
*/
RealTimeLocationStatus[RealTimeLocationStatus["CONNECTED"] = 3] = "CONNECTED";
})(exports.RealTimeLocationStatus || (exports.RealTimeLocationStatus = {}));
/**
* 推送语言
*/
exports.PushLanguage = void 0;
(function (PushLanguage) {
PushLanguage["EN_US"] = "en_US";
PushLanguage["ZH_CN"] = "zh_CN";
PushLanguage["AR_SA"] = "ar_SA";
})(exports.PushLanguage || (exports.PushLanguage = {}));
let RCIMClient = uni.requireNativePlugin('RongCloud-IM-RCUniIM');
/**
* 初始化 SDK只需要调用一次
*
* @param appKey 从融云开发者平台创建应用后获取到的 App Key
*/
function init(appKey) {
RCIMClient.init(appKey);
}
/**
* 初始化 SDK只需要调用一次
* @param appKey 从融云开发者平台创建应用后获取到的 App Key
* @param engineSetup 引擎初始化配置参数
*/
function initWithSetup(appKey, engineSetup) {
RCIMClient.initWithSetup(appKey, engineSetup);
}
/**
* 连接融云服务器,只需要调用一次
*
* 在 App 整个生命周期,您只需要调用一次此方法与融云服务器建立连接。
* 之后无论是网络出现异常或者App有前后台的切换等SDK都会负责自动重连。
* 除非您已经手动将连接断开,否则您不需要自己再手动重连。
*
* @param token 从服务端获取的用户身份令牌Token
* @param callback 回调函数
*/
function connect(token, callback) {
RCIMClient.connect(token, callback);
}
/**
* 断开与融云服务器的连接
*
* @param isReceivePush 是否还接收推送
*/
function disconnect(isReceivePush = true) {
RCIMClient.disconnect(isReceivePush);
}
/**
* 添加连接状态监听函数
*
* @param listener 回调函数
*/
function addConnectionStatusListener(listener) {
RCIMClient.addEventListener("rcimlib-connection-status", listener);
}
/**
* 清除连接状态监听函数
*
*/
function clearConnectionStatusListener() {
RCIMClient.removeAllEventListeners("rcimlib-connection-status");
}
/**
* 添加日志信息监听函数
*
* @param listener
*/
function addLogInfoListener(listener) {
RCIMClient.addEventListener('rcimlib-log', listener);
}
/**
* 清除日志信息监听函数
*
*/
function clearLogInfoListener() {
RCIMClient.removeAllEventListeners('rcimlib-log');
}
/**
* 添加消息撤回监听函数
*
* @param listener
*/
function addRecallMessageListener(listener) {
RCIMClient.addEventListener('rcimlib-recall', listener);
}
/**
* 添加消息撤回监听函数
*
*/
function clearRecallMessageListener() {
RCIMClient.removeAllEventListeners('rcimlib-recall');
}
/**
* 添加消息监听函数
*
* @param listener
*/
function addReceiveMessageListener(listener) {
RCIMClient.addEventListener('rcimlib-receive-message', listener);
}
/**
* 清除消息监听函数
*
*/
function clearReceiveMessageListener() {
RCIMClient.removeAllEventListeners('rcimlib-receive-message');
}
/**
* 添加输入状态监听函数
*
* @param listener
*/
function addTypingStatusListener(listener) {
RCIMClient.addEventListener('rcimlib-typing-status', listener);
}
/**
* 清除输入状态监听函数
*
*/
function clearTypingStatusListener() {
RCIMClient.removeAllEventListeners('rcimlib-typing-status');
}
/**
* 添加推送消息到达监听函数
*
* @param listener
*/
// export function addPushArrivedListener (listener: (result: UniListenerResult<PushNotificationMessage>) => void) {
// RCIMClient.addEventListener('rcimlib-push-arrived', listener)
// }
/**
* 同步会话阅读状态
*
* @param conversationType 会话类型
* @param targetId 目标 ID
* @param timestamp 该会话中已读的最后一条消息的发送时间戳,必须是有效的时间戳
* @param callback 回调函数
*/
function syncConversationReadStatus(conversationType, targetId, timestamp, callback) {
RCIMClient.syncConversationReadStatus(conversationType, targetId, timestamp, callback);
}
/**
* 设置 deviceToken用于远程推送
*
* @param deviceToken 从系统获取到的设备号 deviceToken需要去掉空格和尖括号
*
* deviceToken是系统提供的从苹果服务器获取的用于APNs远程推送必须使用的设备唯一值。
* 您需要将 `-application:didRegisterForRemoteNotificationsWithDeviceToken:`
* 获取到的deviceToken转为NSString类型并去掉其中的空格和尖括号作为参数传入此方法。
*/
// export function setDeviceToken (deviceToken: string) {
// RCIMClient.setDeviceToken(deviceToken)
// }
/**
* 设置导航服务器和上传文件服务器信息,要在 [[init]] 前使用
*
* @param naviServer 导航服务器地址
* @param fileServer 文件服务器地址
*/
function setServerInfo(naviServer, fileServer) {
RCIMClient.setServerInfo(naviServer, fileServer);
}
/**
* 设置统计服务地址
*
* 配置数据上传地址 (非必须) 通过配置该地址SDK
* 会在初始化时把设备相关信息上传到私有云节点。
* 影响到的功能是开发者后台的广播推送功能,如果私有云客户没有配置该地址,那从后台发推送时,客户端是收不到的。
* 普通的 IM 推送不受影响。设置数据上传服务器地址。
* 可以支持设置 http://cn.xxx.com 或者 https://cn.xxx.com 或者 cn.xxx.com
* 如果设置成 cn.xxx.comsdk 会组装成并仅支持 http:// 协议格式。
*
* @param server 服务地址
*/
function setStatisticServer(server) {
RCIMClient.setStatisticServer(server);
}
/**
* 获取当前连接状态
*
* @param callback 回调函数
*/
function getConnectionStatus(callback) {
RCIMClient.getConnectionStatus(callback);
}
const RCSendMessageEventMap = {};
let isInitSendMediaMessage = false;
const initSendMediaMessage = function () {
RCIMClient.addEventListener('rcimlib-send-message', (res) => {
const data = res.data;
const callback = RCSendMessageEventMap[data.eventId];
if (callback) {
const { success, error, cancel, progress } = callback;
if (data.type === exports.ResponseType.SUCCESS) {
success && success(data.messageId);
delete RCSendMessageEventMap[data.eventId];
}
else if (data.type === exports.ResponseType.ERROR) {
error && error(data.errorCode, data.messageId);
delete RCSendMessageEventMap[data.eventId];
}
else if (data.type === exports.ResponseType.CANCEL) {
cancel && cancel(data.messageId);
delete RCSendMessageEventMap[data.eventId];
}
else if (data.type === exports.ResponseType.PROGRESS) {
progress && progress(data.progress, data.messageId);
}
}
});
};
function handleSendMessageCallback(callback) {
const eventId = Date.now() + Math.floor((Math.random() * 100000)).toString();
if (callback) {
RCSendMessageEventMap[eventId] = callback;
}
return eventId;
}
/**
* 发送消息
*
* @param message 消息
* @param callback 回调函数
*/
function sendMessage(message, callback) {
RCIMClient.sendMessage(message, callback);
}
/**
* 发送媒体消息
*
* @param message 消息
* @param callback 回调函数
*/
function sendMediaMessage(message, callback = {}) {
if (!isInitSendMediaMessage) {
initSendMediaMessage();
isInitSendMediaMessage = true;
}
RCIMClient.sendMediaMessage(message, handleSendMessageCallback(callback));
}
/**
* 发送定向消息
*
* @param message 消息
* @param userIdList 用户 ID 列表
* @param callback 回调函数
*/
function sendDirectionalMessage(message, userIdList, callback) {
RCIMClient.sendDirectionalMessage(message, userIdList, callback);
}
/**
* 消息撤回
*
* @param messageId 消息 ID
* @param pushContent 推送内容
* @param callback 回调函数
*/
function recallMessage(messageId, pushContent = '', callback) {
RCIMClient.recallMessage(messageId, pushContent, callback);
}
/**
* 发送输入状态
*
* @param conversationType 会话类型
* @param targetId 目标 ID
* @param typingContentType 输入内容类型
*/
function sendTypingStatus(conversationType, targetId, typingContentType) {
RCIMClient.sendTypingStatus(conversationType, targetId, typingContentType);
}
/**
* 设置消息发送状态
*
* @param messageId 消息 ID
* @param status 状态
* @param callback 回调函数
*/
function setMessageSentStatus(messageId, status, callback) {
return RCIMClient.setMessageSentStatus(messageId, status, callback);
}
/**
* 设置消息接收状态
*
* @param messageId 消息 ID
* @param status 状态
* @param callback 回调函数
*/
function setMessageReceivedStatus(messageId, status, callback) {
return RCIMClient.setMessageReceivedStatus(messageId, status, callback);
}
/**
* 获取屏蔽消息提醒的会话列表
*
* @param conversationTypeList 消息类型列表会话类型
* @param callback 回调函数
*/
function getBlockedConversationList(conversationTypeList, callback) {
RCIMClient.getBlockedConversationList(conversationTypeList, callback);
}
/**
* 发送阅读回执
*
* @param conversationType 会话类型
* @param targetId 目标 ID
* @param timestamp 该会话中已阅读点最后一条消息的发送时间戳
*/
function sendReadReceiptMessage(conversationType, targetId, timestamp) {
RCIMClient.sendReadReceiptMessage(conversationType, targetId, timestamp);
}
/**
* 发起群组消息回执请求
*
* @param messageId 消息 ID
* @param callback 回调函数
*/
function sendReadReceiptRequest(messageId, callback) {
RCIMClient.sendReadReceiptRequest(messageId, callback);
}
/**
* 发起群组消息回执响应
*
* @param conversationType 会话类型
* @param targetId 会话 ID
* @param messages 回执的消息列表
* @param callback 回调函数
*/
function sendReadReceiptResponse(conversationType, targetId, messages, callback) {
RCIMClient.sendReadReceiptResponse(conversationType, targetId, messages, callback);
}
/**
* 添加私聊阅读回执监听函数
*/
function addReadReceiptReceivedListener(listener) {
RCIMClient.addEventListener('rcimlib-read-receipt-received', listener);
}
/**
* 清除私聊阅读回执监听函数
*/
function clearReadReceiptReceivedListener() {
RCIMClient.removeAllEventListeners('rcimlib-read-receipt-received');
}
/**
* 添加收到消息已读回执请求监听函数
*
* 收到此请求后,如果用户阅读了对应的消息,需要调用
* sendMessageReadReceiptResponse 接口发送已读响应
*/
function addReceiptRequestListener(listener) {
RCIMClient.addEventListener('rcimlib-receipt-request', listener);
}
/**
* 清除收到消息已读回执请求监听函数
*
*/
function clearReceiptRequestListener() {
RCIMClient.removeAllEventListeners('rcimlib-receipt-request');
}
/**
* 添加消息回执响应监听函数
*
* @param listener
*/
function addReceiptResponseListener(listener) {
RCIMClient.addEventListener('rcimlib-receipt-response', listener);
}
/**
* 添加消息回执响应监听函数
*
*/
function clearReceiptResponseListener() {
RCIMClient.removeAllEventListeners('rcimlib-receipt-response');
}
/**
* 取消发送中的媒体消息
*
* @param messageId 消息 ID
* @param callback 回调函数
*/
function cancelSendMediaMessage(messageId, callback) {
RCIMClient.cancelSendMediaMessage(messageId, callback);
}
/**
* 取消下载中的媒体消息
*
* @param messageId 消息 ID
* @param callback 回调函数
*/
function cancelDownloadMediaMessage(messageId, callback) {
RCIMClient.cancelDownloadMediaMessage(messageId, callback);
}
const RCDownMessageEventMap = {};
let isInitDownMediaListener = false;
const initDownMediaListener = function () {
RCIMClient.addEventListener('rcimlib-download-media-message', (res) => {
console.log('下载媒体消息回调', res.data.eventId);
const data = res.data;
const callback = RCDownMessageEventMap[data.eventId];
if (callback) {
const { success, error, cancel, progress } = callback;
if (data.type === 'success') {
success && success(data.path);
delete RCDownMessageEventMap[data.eventId];
}
else if (data.type === 'error') {
error && error(data.errorCode);
delete RCDownMessageEventMap[data.eventId];
}
else if (data.type === 'progress') {
progress && progress(data.progress);
}
else if (data.type === 'cancel') {
cancel && cancel();
}
}
});
};
function handleDownMessageCallback(callback) {
const eventId = Date.now() + Math.floor((Math.random() * 100000)).toString();
if (callback) {
RCDownMessageEventMap[eventId] = callback;
}
return eventId;
}
/**
* 下载媒体消息
*
* @param messageId 消息 ID
* @param callback 回调
*/
function downloadMediaMessage(messageId, callback = {}) {
if (!isInitDownMediaListener) {
initDownMediaListener();
isInitDownMediaListener = true;
}
RCIMClient.downloadMediaMessage(messageId, handleDownMessageCallback(callback));
}
/**
* 设置断线重连时是否踢出重连设备
*
* 用户没有开通多设备登录功能的前提下,同一个账号在一台新设备上登录的时候,会把这个账号在之前登录的设备上踢出。
* 由于 SDK 有断线重连功能,存在下面情况。 用户在 A 设备登录A
* 设备网络不稳定没有连接成功SDK 启动重连机制。 用户此时又在 B 设备登录B
* 设备连接成功。 A 设备网络稳定之后,用户在 A 设备连接成功B 设备被踢出。
* 这个接口就是为这种情况加的。 设置 enable 为 true 时SDK
* 重连的时候发现此时已有别的设备连接成功,不再强行踢出已有设备,而是踢出重连设备。
*
* @param enabled 是否踢出重连设备
*/
function setReconnectKickEnable(enabled) {
RCIMClient.setReconnectKickEnable(enabled);
}
/**
* 获取历史消息
*
* 此方法会获取该会话中baseMessageId 之前或之后的、指定数量、消息类型和查询方向的最新消息实体,返回的消息实体按照时间从新到旧排列。
* 返回的消息中不包含 baseMessageId 对应的那条消息,如果会话中的消息数量小于参数 count 的值,会将该会话中的所有消息返回。
*
* @param conversationType 会话类型
* @param targetId 目标 ID
* @param objectName 消息对象名称,可以用 MessageObjectNames 获取消息类型对应的对象名称, 传空字符串获取所有类型
* @param baseMessageId 最近一条消息的 ID
* @param count 数量
* @param isForward 是否向前获取
* @param callback 回调函数
*/
function getHistoryMessages(conversationType, targetId, objectName = '', baseMessageId = -1, count = 10, isForward = true, callback) {
RCIMClient.getHistoryMessages(conversationType, targetId, objectName, baseMessageId, count, isForward, callback);
}
/**
* 通过时间戳获取历史消息
*
* @param conversationType 会话类型
* @param targetId 目标 ID
* @param objectName 消息对象名称,可以用 MessageObjectNames 获取消息类型对应的对象名称
* @param timestamp 时间戳
* @param count 数量
* @param isForward 是否向前获取
* @param callback 回调函数
*/
function getHistoryMessagesByTimestamp(conversationType, targetId, objectNames, timestamp = 0, count = 10, isForward = true, callback) {
RCIMClient.getHistoryMessagesByTimestamp(conversationType, targetId, objectNames, timestamp, count, isForward, callback);
}
/**
* 向本地会话插入一条发送消息
*
* @param conversationType
* @param targetId
* @param sentStatus
* @param messageContent
* @param sentTime
* @param callback 回调函数
*/
function insertOutgoingMessage(conversationType, targetId, sentStatus, messageContent, sentTime = 0, callback) {
return RCIMClient.insertOutgoingMessage(conversationType, targetId, sentStatus, messageContent, sentTime, callback);
}
/**
* 向本地会话插入一条接收消息
*
* @param conversationType
* @param targetId
* @param senderUserId
* @param receivedStatus
* @param messageContent
* @param sentTime
* @param callback 回调函数
*/
function insertIncomingMessage(conversationType, targetId, senderUserId, receivedStatus, messageContent, sentTime = 0, callback) {
RCIMClient.insertIncomingMessage(conversationType, targetId, senderUserId, receivedStatus, messageContent, sentTime, callback);
}
/**
* 清空某一会话的所有消息
*
* @param conversationType
* @param targetId
* @param callback 回调函数
*/
function clearMessages(conversationType, targetId, callback) {
RCIMClient.clearMessages(conversationType, targetId, callback);
}
/**
* 根据消息 ID 删除消息
*
* @param ids 消息 ID 列表
* @param callback 回调函数
*/
function deleteMessagesByIds(ids, callback) {
RCIMClient.deleteMessagesByIds(ids, callback);
}
/**
* 根据会话删除消息
*
* @param type 会话类型
* @param targetId 会话 ID
* @param callback 回调函数
*/
function deleteMessages(type, targetId = '', callback) {
RCIMClient.deleteMessages(type, targetId, callback);
}
/**
* 根据关键字搜索会话
*
* @param keyword 关键字
* @param conversationTypes 会话类型数组
* @param objectNames 对象名称数组
* @param callback 回调函数
*/
function searchConversations(keyword, conversationTypes, objectNames, callback) {
RCIMClient.searchConversations(keyword, conversationTypes, objectNames, callback);
}
/**
* 搜索消息
*
* @param conversationType 会话类型
* @param targetId 目标 ID
* @param keyword 关键字
* @param count 获取数量
* @param startTime 开始时间
* @param callback 回调函数
*/
function searchMessages(conversationType, targetId, keyword, count, startTime = 0, callback) {
RCIMClient.searchMessages(conversationType, targetId, keyword, count, startTime, callback);
}
/**
* 获取消息
*
* @param messageId 消息 ID
* @param callback 回调函数
*/
function getMessage(messageId, callback) {
RCIMClient.getMessage(messageId, callback);
}
/**
* 根据消息 UID 获取消息
*
* @param messageUId 消息 UID
* @param callback 回调函数
*/
function getMessageByUId(messageUId, callback) {
RCIMClient.getMessageByUId(messageUId, callback);
}
/**
* 设置消息的附加信息
*
* @param messageId 消息 ID
* @param extra 附加信息
* @param callback 回调函数
*/
function setMessageExtra(messageId, extra, callback) {
RCIMClient.setMessageExtra(messageId, extra, callback);
}
/**
* 获取消息发送时间
*
* @param messageId 消息 ID
* @param callback 回调函数
*/
function getMessageSendTime(messageId, callback) {
RCIMClient.getMessageSendTime(messageId, callback);
}
/**
* 获取会话中的消息数量
*
* @param conversationType 会话类型
* @param targetId 目标 ID
* @param callback 回调函数
*/
function getMessageCount(conversationType, targetId, callback) {
RCIMClient.getMessageCount(conversationType, targetId, callback);
}
/**
* 获取会话里第一条未读消息
*
* @param conversationType 会话类型
* @param targetId 目标 ID
* @param callback 回调函数
*/
function getFirstUnreadMessage(conversationType, targetId, callback) {
RCIMClient.getFirstUnreadMessage(conversationType, targetId, callback);
}
/**
* 获取会话中 @ 提醒自己的消息
*
* @param conversationType 会话类型
* @param targetId 目标 ID
* @param callback 回调函数
*/
function getUnreadMentionedMessages(conversationType, targetId, callback) {
RCIMClient.getUnreadMentionedMessages(conversationType, targetId, callback);
}
/**
* 获取服务端历史消息
*
* @param conversationType 会话类型
* @param targetId 目标 ID
* @param sentTime 清除消息截止时间戳,为 0 则清除会话所有服务端历史消息
* @param count 删除数量
* @param callback 回调函数
*/
function getRemoteHistoryMessages(conversationType, targetId, sentTime, count, callback) {
RCIMClient.getRemoteHistoryMessages(conversationType, targetId, sentTime, count, callback);
}
/**
* 清除服务端历史消息
*
* @param conversationType 会话类型
* @param targetId 目标 ID
* @param recordTime 清除消息截止时间戳,为 0 则清除会话所有服务端历史消息
* @param callback 回调函数
*/
function cleanRemoteHistoryMessages(conversationType, targetId, recordTime, callback) {
RCIMClient.cleanRemoteHistoryMessages(conversationType, targetId, recordTime, callback);
}
/**
* 清除历史消息
*
* @param conversationType 会话类型
* @param targetId 目标 ID
* @param recordTime 清除消息截止时间戳,为 0 则清除会话所有服务端历史消息
* @param clearRemote 是否同时删除服务端消息
* @param callback 回调函数
*/
function cleanHistoryMessages(conversationType, targetId, recordTime, clearRemote, callback) {
RCIMClient.cleanHistoryMessages(conversationType, targetId, recordTime, clearRemote, callback);
}
/**
* 清除服务端历史消息
*
* @param conversationType 会话类型
* @param targetId 目标 ID
* @param messages 要删除的消息数组,数组大小不能超过 100 条
*/
// export function deleteRemoteMessages (
// conversationType: ConversationType,
// targetId: string,
// messages: Message[],
// callback: (result: boolean) => void
// ){
// RCIMClient.deleteRemoteMessages(conversationType, targetId, messages, callback)
// }
/**
* 获取会话
*
* @param conversationType 会话类型
* @param targetId 目标 ID
* @param callback 回调函数
*/
function getConversation(conversationType, targetId, callback) {
RCIMClient.getConversation(conversationType, targetId, callback);
}
/**
* 获取会话列表
*
* @param conversationTypes 会话类型列表
* @param count 获取的数量
* @param timestamp 会话的时间戳获取这个时间戳之前的会话列表0 表示从最新开始获取)会话类型
* @param callback 回调函数
*/
function getConversationList(conversationTypes = [], count = 0, timestamp = 0, callback) {
console.log(JSON.stringify(arguments));
RCIMClient.getConversationList(conversationTypes, count, timestamp, callback);
}
/**
* 从会话列表中移除某一会话,但是不删除会话内的消息
*
* @param conversationType 会话类型
* @param targetId 目标 ID
* @param callback 回调函数
*/
function removeConversation(conversationType, targetId, callback) {
RCIMClient.removeConversation(conversationType, targetId, callback);
}
/**
* 设置会话消息提醒状态
*
* @param conversationType 会话类型
* @param targetId 目标 ID
* @param isBlock 是否屏蔽
* @param callback 回调函数
*/
function setConversationNotificationStatus(conversationType, targetId, isBlock, callback) {
RCIMClient.setConversationNotificationStatus(conversationType, targetId, isBlock, callback);
}
/**
* 获取会话消息提醒状态
*
* @param conversationType 会话类型
* @param targetId 目标 ID
* @param callback 回调函数
*/
function getConversationNotificationStatus(conversationType, targetId, callback) {
RCIMClient.getConversationNotificationStatus(conversationType, targetId, callback);
}
/**
* 设置是否置顶会话
*
* @param conversationType 会话类型
* @param targetId 目标 ID
* @param isTop 是否置顶
* @param callback 回调函数
*/
function setConversationToTop(conversationType, targetId, isTop, callback) {
RCIMClient.setConversationToTop(conversationType, targetId, isTop, callback);
}
/**
* 获取置顶会话列表
*
* @param conversationTypes 会话类型列表
* @param callback 回调函数
*/
function getTopConversationList(conversationTypes = [], callback) {
RCIMClient.getTopConversationList(conversationTypes, callback);
}
/**
* 保存某一会话的文本消息草稿
*
* @param conversationType 会话类型
* @param targetId 目标 ID
* @param content 草稿内容
* @param callback 回调函数
*/
function saveTextMessageDraft(conversationType, targetId, content, callback) {
RCIMClient.saveTextMessageDraft(conversationType, targetId, content, callback);
}
/**
* 获取某一会话的文本消息草稿
*
* @param conversationType 会话类型
* @param targetId 目标 ID
* @param callback 回调函数
*/
function getTextMessageDraft(conversationType, targetId, callback) {
RCIMClient.getTextMessageDraft(conversationType, targetId, callback);
}
/**
* 清除某一会话的文本消息草稿
*
* @param conversationType 会话类型
* @param targetId 目标 ID
* @param callback 回调函数
*/
function clearTextMessageDraft(conversationType, targetId, callback) {
RCIMClient.clearTextMessageDraft(conversationType, targetId, callback);
}
/**
* 获取所有未读消息数
*
* @param callback 回调函数
*/
function getTotalUnreadCount(callback) {
RCIMClient.getTotalUnreadCount(callback);
}
/**
* 获取指定会话的未读消息数
*
* @param conversationType 会话类型
* @param targetId 目标 ID
* @param callback 回调函数
*/
function getUnreadCount(conversationType, targetId = '', callback) {
if (Array.isArray(conversationType)) {
RCIMClient.getUnreadCount(0, '', conversationType, callback);
}
RCIMClient.getUnreadCount(conversationType, targetId, [], callback);
}
/**
* 清除某个会话中的未读消息数
*
* @param conversationType 会话类型
* @param targetId 目标 ID
* @param time 该会话已阅读的最后一条消息的发送时间戳
* @param callback 回调函数
*/
function clearMessagesUnreadStatus(conversationType, targetId, time = 0, callback) {
RCIMClient.clearMessagesUnreadStatus(conversationType, targetId, time, callback);
}
/**
* 把用户加入黑名单
*
* @param userId 用户 ID
* @param callback 回调函数
*/
function addToBlacklist(userId, callback) {
RCIMClient.addToBlacklist(userId, callback);
}
/**
* 把用户从黑名单中移除
*
* @param userId 用户 ID
* @param callback 回调函数
*/
function removeFromBlacklist(userId, callback) {
RCIMClient.removeFromBlacklist(userId, callback);
}
/**
* 获取某用户是否在黑名单中
*
* @param userId 用户 ID
* @param callback 回调函数
*/
function getBlacklistStatus(userId, callback) {
RCIMClient.getBlacklistStatus(userId, callback);
}
/**
* 获取黑名单列表
*
* @param 回调函数
*/
function getBlacklist(callback) {
RCIMClient.getBlacklist(callback);
}
/**
* 加入聊天室,如果已存在,直接加入,否则创建并加入
*
* @param targetId 聊天室 ID
* @param messageCount 默认获取的消息数量,最多 50
* @param callback 回调函数
*/
function joinChatRoom(targetId, messageCount = 10, callback) {
RCIMClient.joinChatRoom(targetId, messageCount, callback);
}
/**
* 加入已存在的聊天室,如果不存在则加入失败
*
* @param targetId 聊天室 ID
* @param messageCount 默认获取的消息数量,最多 50
* @param callback 回调函数
*/
function joinExistChatRoom(targetId, messageCount = 10, callback) {
RCIMClient.joinExistChatRoom(targetId, messageCount, callback);
}
/**
* 退出聊天室
*
* @param targetId 聊天室 ID
* @param callback 回调函数
*/
function quitChatRoom(targetId, callback) {
RCIMClient.quitChatRoom(targetId, callback);
}
/**
* 从服务器端获取聊天室的历史消息
*
* @param targetId 目标 ID
* @param recordTime 起始的消息发送时间戳,单位毫秒
* @param count 要获取的消息数量
* @param order 拉取顺序
* @param callback 回调函数
*/
function getRemoteChatRoomHistoryMessages(targetId, recordTime, count, order, callback) {
RCIMClient.getRemoteChatRoomHistoryMessages(targetId, recordTime, count, order, callback);
}
/**
* 获取聊天室信息
*
* @param targetId 聊天室 ID
* @param memberCount 聊天室成员数量,最多获取 20 个
* @param order 返回的聊天室成员排序方式
* @param callback 回调函数
*/
function getChatRoomInfo(targetId, memberCount = 20, order = exports.ChatRoomMemberOrder.ASC, callback) {
RCIMClient.getChatRoomInfo(targetId, memberCount, order, callback);
}
/**
* 全局屏蔽某个时间段的消息提醒
*
* @param startTime 开始屏蔽消息提醒的时间格式为HH:MM:SS
* @param spanMinutes 需要屏蔽消息提醒的分钟数0 < spanMinutes < 1440
* @param callback 回调函数
*/
function setNotificationQuietHours(startTime, spanMinutes, callback) {
RCIMClient.setNotificationQuietHours(startTime, spanMinutes, callback);
}
/**
* 查询已设置的全局时间段消息提醒屏蔽
*
* @param callback 回调函数
*/
function getNotificationQuietHours(callback) {
RCIMClient.getNotificationQuietHours(callback);
}
/**
* 删除已设置的全局时间段消息提醒屏蔽
*
* @param callback 回调函数
*/
function removeNotificationQuietHours(callback) {
RCIMClient.removeNotificationQuietHours(callback);
}
/**
* 获取离线消息在服务端的存储时间(以天为单位)
*/
function getOfflineMessageDuration(callback) {
RCIMClient.getOfflineMessageDuration(callback);
}
/**
* 设置离线消息在服务端的存储时间(以天为单位)
*
* @param callback 回调函数
*/
function setOfflineMessageDuration(duration, callback) {
RCIMClient.setOfflineMessageDuration(duration, callback);
}
/**
* 获取当前用户 ID
*
* @param callback 回调函数
*/
function getCurrentUserId(callback) {
RCIMClient.getCurrentUserId(callback);
}
/**
* 设置推送语言
*
* @param language 推送语言
* @param callback 回调函数
*/
function setPushLanguageCode(language, callback) {
RCIMClient.setPushLanguageCode(language, callback);
}
/**
* 设置是否显示内容详情
*
* @param isShowPushContent 是否显示内容详情
* @param callback 回调函数
*/
function setPushContentShowStatus(isShowPushContent, callback) {
RCIMClient.setPushContentShowStatus(isShowPushContent, callback);
}
/**
* 查询是否显示内容详情
*
* @param callback 回调函数
*/
function getPushContentShowStatus(callback) {
RCIMClient.getPushContentShowStatus(callback);
}
/**
* 设置推送配置(仅安卓)
* @param config 推送配置
*/
function setPushConfig(config) {
RCIMClient.setPushConfig(config);
}
exports.addConnectionStatusListener = addConnectionStatusListener;
exports.addLogInfoListener = addLogInfoListener;
exports.addReadReceiptReceivedListener = addReadReceiptReceivedListener;
exports.addRecallMessageListener = addRecallMessageListener;
exports.addReceiptRequestListener = addReceiptRequestListener;
exports.addReceiptResponseListener = addReceiptResponseListener;
exports.addReceiveMessageListener = addReceiveMessageListener;
exports.addToBlacklist = addToBlacklist;
exports.addTypingStatusListener = addTypingStatusListener;
exports.cancelDownloadMediaMessage = cancelDownloadMediaMessage;
exports.cancelSendMediaMessage = cancelSendMediaMessage;
exports.cleanHistoryMessages = cleanHistoryMessages;
exports.cleanRemoteHistoryMessages = cleanRemoteHistoryMessages;
exports.clearConnectionStatusListener = clearConnectionStatusListener;
exports.clearLogInfoListener = clearLogInfoListener;
exports.clearMessages = clearMessages;
exports.clearMessagesUnreadStatus = clearMessagesUnreadStatus;
exports.clearReadReceiptReceivedListener = clearReadReceiptReceivedListener;
exports.clearRecallMessageListener = clearRecallMessageListener;
exports.clearReceiptRequestListener = clearReceiptRequestListener;
exports.clearReceiptResponseListener = clearReceiptResponseListener;
exports.clearReceiveMessageListener = clearReceiveMessageListener;
exports.clearTextMessageDraft = clearTextMessageDraft;
exports.clearTypingStatusListener = clearTypingStatusListener;
exports.connect = connect;
exports.deleteMessages = deleteMessages;
exports.deleteMessagesByIds = deleteMessagesByIds;
exports.disconnect = disconnect;
exports.downloadMediaMessage = downloadMediaMessage;
exports.getBlacklist = getBlacklist;
exports.getBlacklistStatus = getBlacklistStatus;
exports.getBlockedConversationList = getBlockedConversationList;
exports.getChatRoomInfo = getChatRoomInfo;
exports.getConnectionStatus = getConnectionStatus;
exports.getConversation = getConversation;
exports.getConversationList = getConversationList;
exports.getConversationNotificationStatus = getConversationNotificationStatus;
exports.getCurrentUserId = getCurrentUserId;
exports.getFirstUnreadMessage = getFirstUnreadMessage;
exports.getHistoryMessages = getHistoryMessages;
exports.getHistoryMessagesByTimestamp = getHistoryMessagesByTimestamp;
exports.getMessage = getMessage;
exports.getMessageByUId = getMessageByUId;
exports.getMessageCount = getMessageCount;
exports.getMessageSendTime = getMessageSendTime;
exports.getNotificationQuietHours = getNotificationQuietHours;
exports.getOfflineMessageDuration = getOfflineMessageDuration;
exports.getPushContentShowStatus = getPushContentShowStatus;
exports.getRemoteChatRoomHistoryMessages = getRemoteChatRoomHistoryMessages;
exports.getRemoteHistoryMessages = getRemoteHistoryMessages;
exports.getTextMessageDraft = getTextMessageDraft;
exports.getTopConversationList = getTopConversationList;
exports.getTotalUnreadCount = getTotalUnreadCount;
exports.getUnreadCount = getUnreadCount;
exports.getUnreadMentionedMessages = getUnreadMentionedMessages;
exports.init = init;
exports.initWithSetup = initWithSetup;
exports.insertIncomingMessage = insertIncomingMessage;
exports.insertOutgoingMessage = insertOutgoingMessage;
exports.joinChatRoom = joinChatRoom;
exports.joinExistChatRoom = joinExistChatRoom;
exports.quitChatRoom = quitChatRoom;
exports.recallMessage = recallMessage;
exports.removeConversation = removeConversation;
exports.removeFromBlacklist = removeFromBlacklist;
exports.removeNotificationQuietHours = removeNotificationQuietHours;
exports.saveTextMessageDraft = saveTextMessageDraft;
exports.searchConversations = searchConversations;
exports.searchMessages = searchMessages;
exports.sendDirectionalMessage = sendDirectionalMessage;
exports.sendMediaMessage = sendMediaMessage;
exports.sendMessage = sendMessage;
exports.sendReadReceiptMessage = sendReadReceiptMessage;
exports.sendReadReceiptRequest = sendReadReceiptRequest;
exports.sendReadReceiptResponse = sendReadReceiptResponse;
exports.sendTypingStatus = sendTypingStatus;
exports.setConversationNotificationStatus = setConversationNotificationStatus;
exports.setConversationToTop = setConversationToTop;
exports.setMessageExtra = setMessageExtra;
exports.setMessageReceivedStatus = setMessageReceivedStatus;
exports.setMessageSentStatus = setMessageSentStatus;
exports.setNotificationQuietHours = setNotificationQuietHours;
exports.setOfflineMessageDuration = setOfflineMessageDuration;
exports.setPushConfig = setPushConfig;
exports.setPushContentShowStatus = setPushContentShowStatus;
exports.setPushLanguageCode = setPushLanguageCode;
exports.setReconnectKickEnable = setReconnectKickEnable;
exports.setServerInfo = setServerInfo;
exports.setStatisticServer = setStatisticServer;
exports.syncConversationReadStatus = syncConversationReadStatus;