聊天室

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;

}
}

/**
* 构造函数
* @param _oper 操作类型:new,创建;open,加入
* @param _userCallback 消息回调
* @param _userData 存储聊天室的相关信息(id,name,creator),结构为{"roomInfo":{"id":"", "name":"", "creator":""}}
* @param _liveType 房间类型,见CHATROOM_LIST_TYPE
* @param _starUser 用户信息(见StarRtc.StarUserInfo)
* @param _starConfig star配置(见StarRtc.StarConfig)
*/
StarRtc.StarChatSDK = function (_oper, _userCallback, _userData, _liveType, _starUser, _starConfig)

6.2 StarRtc.StarChatSDK API 说明

/**
* 连接房间
*/
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)

/**
* 聊天室禁言
* @param banUserId 禁言的用户Id
* @param banTime 禁言的时间长度
*/
StarRtc.StarChatSDK.banToSendMsg = function (banUserId, banTime)

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

/**
* 删除房间
*/
StarRtc.StarChatSDK.deleteCurrRoom = function ()

/**
* 加入房间
*/
StarRtc.StarChatSDK.joinRoom = function ()

/**
* 离开房间
*/
StarRtc.StarChatSDK.leaveRoom = function ()

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