聊天室

6.1 获取StarRtc.StarChatSDK实例,实现回调函数

var chatInnerCallback = function (data, status) {
switch (status){
case "connect success":
//连接成功
break;
case "connect failed":
case "connect closed":
//连接失败
break;
case "onChatRoomMessage":
{
//收到聊天室消息
switch(data.type)
{
case "createChatRoom":
//创建聊天室
//data.status == "success"为成功,data.chatroomId为聊天室Id
break;
case "deleteChatRoom":
//删除聊天室
//data.status == "success"为成功
break;
case "joinChatRoom":
//加入聊天室
//data.status == "success"为成功
break;
case "recvChatPrivateMsg":
//收到聊天室私聊消息
case "recvChatMsg":
//收到聊天室消息
//消息结构
//data = {
// "fromUserId": 消息来源
// "msg": 消息结构
//}
//msg结构
//msg = {
// "fromId": 消息来源,显示时用此id
// "targetId": 消息接收方
// "time": 时间戳
// "msgIndex": 消息序号
// "type": 类型
// "code": 消息控制类型码
// "contentData": 消息内容
//};
break;
case "chatroomUserKicked":
//收到被踢出聊天室消息
break;
case "getRoomOnlineNum":
//收到获取聊天室人数消息,data.onlineNum:在线人数
break;
case "serverErr":
//收到服务器错误消息
//data.msg为具体错误原因
break;

}
}
break;

}
}

/**
* 创建聊天室SDK
* @param _oper:操作类型:"open"打开,"new"新建
* @param chatInnerCallback 消息回调
* @param starChatSDKUserData 存储聊天室的相关信息(ID,Name,Creator),结构为{"roomInfo":{"ID":"", "Name":"", "Creator":""}}
*/
starChatSDK = new StarRtc.StarChatSDK(_oper, chatInnerCallback, starChatSDKUserData);

6.2 StarRtc.StarChatSDK API 说明

/**
* 设置登录信息
* @param _agentId appID
* @param _userId userID
* @param _authKey authKey
*/
StarRtc.StarChatSDK.login = function (_agentId, _userId, _authKey)

/**
* 连接聊天室
*/
StarRtc.StarChatSDK.sigConnect = function()

/**
* 聊天室断开连接
* @param flag 是否主动断开连接的标志为,用于判断重连
*/
StarRtc.StarChatSDK.sigDisconnect = function(flag)

/**
* 创建聊天室
*/
StarRtc.StarChatSDK.createNew = function()

/**
* 发送聊天室消息
* @param msg 消息
*/
StarRtc.StarChatSDK.sendChatMsg = function(msg)

/**
* 发送聊天室私聊消息
* @param toUserId 发送对象
* @param msg 消息
*/
StarRtc.StarChatSDK.sendChatPrivateMsg = function(toUserId, msg)

/**
* 发送聊天室私聊控制消息
* @param toUserId 发送对象
* @param msg 消息
* @param code 控制码
*/
StarRtc.StarChatSDK.sendChatCtrlPrivateMsg = function(toUserId, msg, code)

/**
* 聊天室踢人
* @param kickOutUserId 踢出的用户Id
*/
StarRtc.StarChatSDK.kickOutUser = function(kickOutUserId)

/**
* 获取聊天室在线用户数
*/
StarRtc.StarChatSDK.getRoomOnlineNum = function()

/**
* 删除聊天室
*/
StarRtc.StarChatSDK.deleteCurrRoom = function()

/**
* 加入聊天室
*/
StarRtc.StarChatSDK.joinRoom = function()

/**
* 离开聊天室
*/
StarRtc.StarChatSDK.leaveRoom = function()

/**
* 获取是主动断开还是被动断开
*/
StarRtc.StarChatSDK.activeDisconnect = function()