APICloud融云模块V2.0.0
方法归类
-1、 init初始化
var rong = api.require('rongCloud2');
rong.init(function(ret, err){
if (ret.status == 'error')
api.toast({ msg: err.code });
});
-2、 setConnectionStatusListener
设置连接状态变化的监听器,请在调用 init 方法之后,调用 connect 方法之前设置
var rong = api.require('rongCloud2');
// 之前调用 init 的代码省略
rong.setConnectionStatusListener(function(ret, err){
api.toast({ msg: ret.result.connectionStatus });
});
// 之后调用 connect 的代码省略
-3、 connect
连接融云 IM 服务器,进行后续各种方法操作前务必要先调用此方法
var rong = api.require('rongCloud2');
// 之前调用 init 的代码省略
rong.setConnectionStatusListener(function(ret, err){
api.toast({ msg: ret.result.connectionStatus });
});
rong.connect({
token: 'ThptTWyiPPPvZHvuSiuri82yq+hfEluLjZ78E1qo4hEVSFQNpqdoPu406urMWKN4Z3/olWR+v9JVLAwfOQoLrA=="},
function(ret, err){
if (ret.status == 'success')
api.toast({ msg: ret.result.userId });
});
-4、 disconnect断开连接
var rong = api.require('rongCloud2');
// 之前调用 init 的代码省略
rong.setConnectionStatusListener(function(ret, err){
api.toast({ msg: ret.result.connectionStatus });
});
rong.connect({
token: 'ThptTWyiPPPvZHvuSiuri82yq+hfEluLjZ78E1qo4hEVSFQNpqdoPu406urMWKN4Z3/olWR+v9JVLAwfOQoLrA=="},
function(ret, err){
if (ret.status == 'success')
api.toast({ msg: ret.result.userId });
});
rong.disconnect({
isReceivePush: true
},function (ret, err) {
if ('success' == ret.status) {
api.toast({msg: '断开连接成功!'});
}
}
); // 断开,且不再接收 Push
设置消息通知免打扰时间
setNotificationQuietHours({params}, callback(ret, err))
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.setNotificationQuietHours({
startTime: '22:00:00',
spanMinutes: 6
}, function (ret, err) {
api.toast({ msg: ret.status });
})
移除消息通知免打扰时间
removeNotificationQuietHours(callback(ret, err))
这里写代码片
var rong = api.require('rongCloud2');
// 之前调用 init 的代码省略
rong.setOnReceiveMessageListener(function (ret, err) {
api.toast({ msg: JSON.stringify(ret.result.message) });
api.toast({ msg: ret.result.message.left });
})
// 之后调用 connect 的代码省略
var rong = api.require('rongCloud2');
rong.init(function(ret, err){
if (ret.status == 'error')
api.toast({ msg: err.code });
});
// 之前调用 init 的代码省略
rong.setConnectionStatusListener(function(ret, err){
api.toast({ msg: ret.result.connectionStatus });
});
rong.connect({
token: 'ThptTWyiPPPvZHvuSiuri82yq+hfEluLjZ78E1qo4hEVSFQNpqdoPu406urMWKN4Z3/olWR+v9JVLAwfOQoLrA=="},
function(ret, err){
if (ret.status == 'success')
api.toast({ msg: ret.result.userId });
});
rong.sendTextMessage({
conversationType: 'PRIVATE',
targetId: '9527',
text: 'Hello world.',
extra: ''
}, function (ret, err) {
if (ret.status == 'prepare')
api.toast({ msg: JSON.stringify(ret.result.message) });
else if (ret.status == 'success')
api.toast({ msg: ret.result.message.messageId });
else if (ret.status == 'error')
api.toast({ msg: err.code });
}
);
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.sendCommandNotificationMessage({
conversationType: 'PRIVATE',
targetId: '9527',
name: 'AddFriend',
data: '{\"inviteUserId\":123}'
}, function (ret, err) {
if (ret.status == 'prepare')
api.toast({ msg: JSON.stringify(ret.result.message) });
else if (ret.status == 'success')
api.toast({ msg: ret.result.message.messageId });
else if (ret.status == 'error')
api.toast({ msg: err.code });
}
);
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.sendCommandMessage({
conversationType: 'PRIVATE',
targetId: '9527',
name: 'AddFriend',
data: '{\"inviteUserId\":123}'
}, function (ret, err) {
if (ret.status == 'prepare')
api.toast({ msg: JSON.stringify(ret.result.message) });
else if (ret.status == 'success')
api.toast({ msg: ret.result.message.messageId });
else if (ret.status == 'error')
api.toast({ msg: err.code });
}
);
getConnectionStatus
获取连接状态
getConnectionStatus(callback(ret, err))
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.getConnectionStatus(function (ret, err) {
api.toast({ msg: ret.result.connectionStatus });
})
logout
注销登录(不再接收 Push 消息)
logout(callback(ret, err))
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.logout(function (ret, err) {
if (ret.status == 'error')
api.toast({ msg: err.code });
}); // 断开,且不再接收 Push
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.getConversationList(function (ret, err) {
api.toast({ msg: JSON.stringify(ret.result) });
})
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.getConversation({
conversationType: 'PRIVATE',
targetId: '9527'
}, function (ret, err) {
api.toast({ msg: JSON.stringify(ret.result) });
})
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.getConversationNotificationStatus({
conversationType: 'PRIVATE',
targetId: '9527'
}, function (ret, err) {
if (ret.status == 'success')
api.toast({ msg: ret.result.code });
else
api.toast({ msg: err.code });
})
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.getLatestMessages({
conversationType: 'PRIVATE',
targetId: '9527',
count: 20
}, function (ret, err) {
api.toast({ msg: JSON.stringify(ret.result) });
})
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.getHistoryMessages({
conversationType: 'PRIVATE',
targetId: '9527',
oldestMessageId: 688,
count: 20
}, function (ret, err) {
api.toast({ msg: JSON.stringify(ret.result) });
})
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.getHistoryMessagesByObjectName({
conversationType: 'PRIVATE',
targetId: '9527',
objectName: 'RC:TxtMsg',
oldestMessageId: 688,
count: 20
}, function (ret, err) {
api.toast({ msg: JSON.stringify(ret.result) });
})
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.getTotalUnreadCount(function (ret, err) {
api.toast({ msg: ret.result });
})
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.getUnreadCount({
conversationType: 'PRIVATE',
targetId: '9527'
}, function (ret, err) {
api.toast({ msg: ret.result });
})
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.getUnreadCountByConversationTypes({
conversationTypes: ['PRIVATE', 'GROUP']
}, function (ret, err) {
api.toast({ msg: ret.result });
})
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.getTextMessageDraft({
conversationType: 'PRIVATE',
targetId: '9527'
}, function (ret, err) {
api.toast({ msg: ret.result });
})
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.getRemoteHistoryMessages({
conversationType: 'PRIVATE',
targetId: '9527',
dateTime: 1418971531533,
count: 20
}, function (ret, err) {
api.toast({ msg: JSON.stringify(ret.result) });
})
获取某用户是否在黑名单中
getBlacklistStatus({params}, callback(ret, err))
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.getBlacklistStatus({
userId: '688'
}, function (ret, err) {
api.toast({ msg: ret.status });
})
获取当前用户的黑名单列表
getBlacklist(callback(ret, err))
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.getBlacklist(function (ret, err) {
api.toast({ msg: JSON.stringify(ret.result) });
})
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.getNotificationQuietHours( function (ret, err) {
api.toast({ msg: JSON.stringify(ret.result) });
})
获取当前连接用户的信息
getCurrentUserId(callback(ret, err))
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.getCurrentUserId( function (ret, err) {
api.toast({ msg: ret.result });
})
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.removeConversation({
conversationType: 'PRIVATE',
targetId: '9527'
}, function (ret, err) {
api.toast({ msg: ret.status });
})
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.clearConversations({
conversationTypes: ['PRIVATE', 'GROUP']
}, function (ret, err) {
api.toast({ msg: ret.status });
})
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.setConversationToTop({
conversationType: 'PRIVATE',
targetId: '9527',
isTop: true
}, function (ret, err) {
api.toast({ msg: ret.status });
})
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.setConversationNotificationStatus({
conversationType: 'PRIVATE',
targetId: '9527',
notificationStatus: 'DO_NOT_DISTURB'
}, function (ret, err) {
if (ret.status == 'success')
api.toast({ msg: ret.result.code });
else
api.toast({ msg: err.code });
})
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.deleteMessages({
messageIds: [688, 689]
}, function (ret, err) {
api.toast({ msg: ret.status });
})
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.clearMessages({
conversationType: 'PRIVATE',
targetId: '9527'
}, function (ret, err) {
api.toast({ msg: ret.status });
})
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.setMessageReceivedStatus({
messageId: '688',
receivedStatus: 'READ'
}, function (ret, err) {
api.toast({ msg: ret.status });
})
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.clearMessagesUnreadStatus({
conversationType: 'PRIVATE',
targetId: '9527'
}, function (ret, err) {
api.toast({ msg: ret.status });
})
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.setMessageExtra({
messageId: '688',
value: 'extra info'
}, function (ret, err) {
api.toast({ msg: ret.status });
})
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.saveTextMessageDraft({
conversationType: 'PRIVATE',
targetId: '9527',
content: 'Hello w'
}, function (ret, err) {
api.toast({ msg: ret.status });
})
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.clearTextMessageDraft({
conversationType: 'PRIVATE',
targetId: '9527'
}, function (ret, err) {
api.toast({ msg: ret.status });
})
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.removeFromBlacklist({
userId: '688'
}, function (ret, err) {
api.toast({ msg: ret.status });
})
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.removeFromBlacklist({
userId: '688'
}, function (ret, err) {
api.toast({ msg: ret.status });
})
设置消息发送状态
setMessageSentStatus({params}, callback(ret, err))
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.setMessageSentStatus({
messageId: 8,
sentStatus: 'READ'
}, function (ret, err) {
api.toast({ msg: ret.status });
})
设置本地消息不提示
disableLocalNotification(callback(ret, err))
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.disableLocalNotification( function (ret, err) {
api.toast({ msg: ret.status });
})
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.createDiscussion({
name: 'Ironman, Batman',//讨论组名称,如:当前所有成员的名字的组合。
userIdList: ['1234', '4321']//讨论组成员 Id 列表
}, function (ret, err) {
if (ret.status == 'success')
api.toast({ msg: ret.result.discussionId });
else
api.toast({ msg: err.code });
})
返回字段包括创建成功的讨论组id
ret返回值
{
status: 'success', // 状态码:success / error
result: {
discussionId: "1b9f7abe-a5ae-463d-8ff8-d96deaf40b59" // 创建成功的讨论组 Id
}
}
获取讨论组信息和设置
getDiscussion({params}, callback(ret, err))
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.getDiscussion({
discussionId: '1b9f7abe-a5ae-463d-8ff8-d96deaf40b59'
}, function (ret, err) {
if (ret.status == 'success')
api.toast({ msg: JSON.stringify(ret.result.discussion) });
else
api.toast({ msg: err.code });
})
ret返回值
{
status: 'success', // 状态码:success / error
result: {
creatorId: '55', // 讨论组创建者 Id
id: '1b9f7abe-a5ae-463d-8ff8-d96deaf40b59', //讨论组 Id
name: 'Ironman, Batman', // 讨论组名称
memberIdList: [ '1234', '4321' ], // 成员 Id 列表
inviteStatus: 'OPENED' // 是否公开好友邀请:OPENED / CLOSED,参见 讨论组邀请状态
}
}
设置讨论组名称
setDiscussionName({params}, callback(ret, err))
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.setDiscussionName({
discussionId: '1b9f7abe-a5ae-463d-8ff8-d96deaf40b59',
name: 'Ironman, Hulk'
}, function (ret, err) {
if (ret.status == 'success')
api.toast({ msg: JSON.stringify(ret.status) });
else
api.toast({ msg: err.code });
})
添加一名或者一组用户加入讨论组
addMemberToDiscussion({params}, callback(ret, err))
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.addMemberToDiscussion({
discussionId: '1b9f7abe-a5ae-463d-8ff8-d96deaf40b59',
userIdList: ['4567', '7654']
}, function (ret, err) {
if (ret.status == 'success')
api.toast({ msg: JSON.stringify(ret.status) });
else
api.toast({ msg: err.code });
})
供创建者将某用户移出讨论组
移出自己或者调用者非讨论组创建者将产生 -1 未知错误
removeMemberFromDiscussion({params}, callback(ret, err))
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.removeMemberFromDiscussion({
discussionId: '1b9f7abe-a5ae-463d-8ff8-d96deaf40b59',
userId: '4567'
}, function (ret, err) {
if (ret.status == 'success')
api.toast({ msg: JSON.stringify(ret.status) });
else
api.toast({ msg: err.code });
})
退出当前用户所在的某讨论组
quitDiscussion({params}, callback(ret, err))
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.quitDiscussion({
discussionId: '1b9f7abe-a5ae-463d-8ff8-d96deaf40b59'
}, function (ret, err) {
if (ret.status == 'success')
api.toast({ msg: JSON.stringify(ret.status) });
else
api.toast({ msg: err.code });
})
设置讨论组成员邀请权限
取值范围
OPENED // 开放邀请
CLOSED // 关闭邀请
setDiscussionInviteStatus({params}, callback(ret, err))
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.setDiscussionInviteStatus({
discussionId: '1b9f7abe-a5ae-463d-8ff8-d96deaf40b59',
inviteStatus: 'OPENED'
}, function (ret, err) {
if (ret.status == 'success')
api.toast({ msg: JSON.stringify(ret.status) });
else
api.toast({ msg: err.code });
})
同步当前用户所属的群组信息到融云服务器
syncGroup({params}, callback(ret, err))
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.syncGroup({
groups: [
{
groupId: '123',
groupName: 'Ski Club',
portraitUrl: 'http://club.com/ski.jpg'
}, {
groupId: '456',
groupName: 'Diving Club',
portraitUrl: 'http://club.com/diving.jpg'
}
]
}, function (ret, err) {
if (ret.status == 'success')
api.toast({ msg: JSON.stringify(ret.status) });
else
api.toast({ msg: err.code });
})
当前用户加入某群组
joinGroup({params}, callback(ret, err))
ong.joinGroup({
groupId: '123',
groupName: 'Ski Club'
}, function (ret, err) {
if (ret.status == 'success')
api.toast({ msg: JSON.stringify(ret.status) });
else
api.toast({ msg: err.code });
})
当前用户退出某群组
quitGroup({params}, callback(ret, err))
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.quitGroup({
groupId: '123'
}, function (ret, err) {
if (ret.status == 'success')
api.toast({ msg: JSON.stringify(ret.status) });
else
api.toast({ msg: err.code });
})
当前用户加入某聊天室
joinChatRoom({params}, callback(ret, err))
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.joinChatRoom({
chatRoomId: '123',
defMessageCount: 20
}, function (ret, err) {
if (ret.status == 'success')
api.toast({ msg: JSON.stringify(ret.status) });
else
api.toast({ msg: err.code });
})
当前用户退出某聊天室
quitChatRoom({params}, callback(ret, err))
var rong = api.require('rongCloud2');
// 之前调用 init 和 connect 的代码省略
rong.quitChatRoom({
chatRoomId: '123'
}, function (ret, err) {
if (ret.status == 'success')
api.toast({ msg: JSON.stringify(ret.status) });
else
api.toast({ msg: err.code });
})