av一区二区三区在线观看_久久久久国产一区二区三区_伊人春色在线播放_欧美亚洲国产一区_九九热在线免费视频_久久视频国产

1、聊天室接口開發(fā)說明

從v5.3.2開始、sdk增加直播聊天室功能、推出直播領(lǐng)域消息解決方案。

聊天室跟普通的IM群(微信群,QQ群等)相比最大的不同點在于它是一個比較開放的虛擬組織。我們可以將直播聊天室比喻成一個廣場,廣場是開放無邊界的,所有的人都可以隨進隨出,而群就像一個房間,是一個有邊界有容量上限的私密組織,并且進入這個房間需要一定條件,一般是主動申請加入或被邀請加入。

1.1、相關(guān)接口:

直播sdk相關(guān)接口分2大類別:

1.1.1 后臺Rest提供接口。具體參考文檔地址://www.hvjhxrn.cn/doc/sdk/server/2_5_1_8.html

(1) 創(chuàng)建聊天室

(2) 切換聊天室狀態(tài)(開啟/關(guān)閉)

1.1.2 SDK接口文檔(本頁面提供)

H5 SDK內(nèi)部提供的接口: 進入聊天室、聊天室內(nèi)發(fā)送消息、獲取聊天室信息、獲取聊天室成員、獲取成員信息、對成員進行禁言/拉黑、踢出、修改個人信息、修改聊天室信息、退出聊天室等接口。

1.2、直播聊天室三種成員角色:創(chuàng)建者(權(quán)限最高)>管理員>普通成員(權(quán)限高的能對權(quán)限低的做相應(yīng)處理)。

(1) 創(chuàng)建者:可以對所有成員進行管理,包括禁言/解除禁言/拉黑/從黑名單移除/踢出/修改聊天室信息。

(2) 管理員:只能對成員進行管理,禁言/解除禁言/拉黑/從黑名單移除/踢出。

(3) 普通成員:無權(quán)限

2、聊天室操作代碼示例:

? 進入聊天室——用戶要在聊天室內(nèi)說話,必須先調(diào)用接口進入此聊天室。用戶進入聊天室后,不會收到此聊天室的歷史消息推送。 如有歷史消息需求,可以調(diào)用消息查詢接口進行顯示。

var enterChatroomBuilder = new RL_YTX.EnterChatroomBuilder();
enterChatroomBuilder.setRoomId(roomId);
enterChatroomBuilder.setNickName(nickName);
enterChatroomBuilder.setInfoExt("小龍人");
enterChatroomBuilder.setNotifyExt("霸氣側(cè)漏進入房間!");
enterChatroomBuilder.setNeedNotify(2);
RL_YTX.enterChatroom(enterChatroomBuilder,function (e) {
IM.roomNumber = roomId;
callback(e);
},function (err) {
console.error(err);
})
			        

? 聊天室內(nèi)發(fā)送消息——跟普通發(fā)消息一樣,接收者為roomId。

//新建消息體對象
var obj = new RL_YTX.MsgBuilder();
//假設(shè)頁面存在一個id為file的<input type=”file”>元素 
//獲取圖片或附件對象
var file = document.getElementById("file").files[0];
//設(shè)置圖片或附件對象
obj.setFile(file);
//設(shè)置發(fā)送的文本內(nèi)容
obj.setText(text);
//設(shè)置發(fā)送的消息類型1文本消息4 圖片消息6 附件消息
//發(fā)送非文本消息時,text字段將被忽略,發(fā)送文本消息時 file字段將被忽略
obj.setType(1);
//設(shè)置接收者
obj.setReceiver(“roomId”);
RL_YTX.sendMsg(obj, function(){
//發(fā)送消息成功
//處理用戶邏輯,通知頁面
}, function(obj){//失敗
//發(fā)送消息失敗
//處理用戶邏輯,通知頁面刷新,展現(xiàn)重發(fā)按鈕
}, function(sended, total){
//發(fā)送圖片或附件時的進度條
		//如果發(fā)送文本消息,可以不傳該參數(shù)
});
			        

? 獲取聊天室信息——此接口可以遠(yuǎn)程獲取聊天室信息,開發(fā)者自行修改頁面信息。

var FetchChatroomInfoBuilder = new RL_YTX.FetchChatroomInfoBuilder(IM.roomId);
RL_YTX.fetchChatroomInfo(fetchChatroomInfoBuilder,function (obj) {
console.log(obj);
},function (err) {
console.error(err);
})
			        

? 修改聊天室信息——此接口可修改聊天室信息,可單獨修改某一項信息。

var updateChatroomInfoBuilder = new RL_YTX.UpdateChatroomInfoBuilder();
updateChatroomInfoBuilder.setRoomId(IM.roomId);
if(type === "roomname"){
updateChatroomInfoBuilder.setRoomName(content);// 修改房間名稱
}else if(type === "announcement"){
updateChatroomInfoBuilder.setAnnouncement(content);// 修改房間公告
}else if(type === "roomext"){
updateChatroomInfoBuilder.setRoomExt(content);// 房間信息擴展字段
}
RL_YTX.updateChatroomInfo(updateChatroomInfoBuilder,function (e) {
console.log(e)
callback();
},function (err) {
console.error(err);
})
			        

? 獲取聊天室成員

var fetchChatroomMembersBuilder = new RL_YTX.FetchChatroomMembersBuilder(IM.roomId);
fetchChatroomMembersBuilder.setRoomId(IM.roomId);
fetchChatroomMembersBuilder.setType(1);//成員類型 1.全部成員 2.指定成員
fetchChatroomMembersBuilder.setUserId(null);// userId為空時,從頭查詢
fetchChatroomMembersBuilder.setPageSize(20);// 每頁數(shù)量
RL_YTX.fetchChatroomMembers(fetchChatroomMembersBuilder,function (obj) {
console.log(obj);
IM.addToOnlineList(obj);
},function (err) {
console.error(err);
})
			        

? 聊天室角色管理—角色權(quán)限高的用戶可以對角色權(quán)限低的用戶設(shè)置拉黑狀態(tài)。

//用于設(shè)置聊天室成員類型,分別為管理員、普通成員用戶
var UpdateChatRoomMemberRoleBuilder = new RL_YTX.UpdateChatRoomMemberRoleBuilder();
UpdateChatRoomMemberRoleBuilder.setRoomId(IM.roomId);
UpdateChatRoomMemberRoleBuilder.setUserId(memberId);
UpdateChatRoomMemberRoleBuilder.setType(2);//2 管理員 3 普通成員
UpdateChatRoomMemberRoleBuilder.setNeedNotify(2);//是否需要通知, 1 不通知 2 通知
UpdateChatRoomMemberRoleBuilder.setNotifyExt(memberId +"成為管理員" );// 通知信息擴展字段
RL_YTX.updateChatRoomMemberRole(UpdateChatRoomMemberRoleBuilder,function () {
callback();
},function (err) {
console.error(err);
})
			        

? 拉黑/移除黑名單—角色權(quán)限高的用戶可以對角色權(quán)限低的用戶設(shè)置拉黑狀態(tài)。

var defriendMemberBuilder = new RL_YTX.DefriendMemberBuilder();
defriendMemberBuilder.setRoomId(IM.roomId);// 房間id
defriendMemberBuilder.setUserId(memberId);// 用戶id
defriendMemberBuilder.setState(1);//1拉黑 2取消拉黑(默認(rèn)2)
defriendMemberBuilder.setNeedNotify(2);//是否需要通知, 1 不通知 2 通知 (默認(rèn)2)
defriendMemberBuilder.setNotifyExt("因為暗戀女主播被踢出去了");//通知信息擴展字段
RL_YTX.defriendMember(defriendMemberBuilder,function (e) {
console.log(e)
callback();
},function (err) {
console.error(err)
})
			        

? 對聊天室成員進行禁言/解除禁言—創(chuàng)建者、管理員可以對成員進行禁言/解除禁言

var forbidChatRoomMemberBuilder = new RL_YTX.ForbidChatRoomMemberBuilder();
forbidChatRoomMemberBuilder.setRoomId(IM.roomId);// 房間id
forbidChatRoomMemberBuilder.setUserId(memberId);// 用戶id
forbidChatRoomMemberBuilder.setState(1);//1禁言 2取消禁言(默認(rèn)2)
forbidChatRoomMemberBuilder.setMuteDuration(time);//單位:分鐘 當(dāng)禁言時,需要禁言時長b
forbidChatRoomMemberBuilder.setNeedNotify(2);//是否需要通知, 1 不通知 2 通知 (默認(rèn)2)
forbidChatRoomMemberBuilder.setNotifyExt("因為暗戀女主播被禁言了");//通知信息擴展字段
RL_YTX.forbidChatRoomMember(forbidChatRoomMemberBuilder,function (e) {
console.log(e)
callback();
},function (err) {
console.error(err)
})				
				        

? 聊天室全員禁言/解除禁言—創(chuàng)建者能進行此操作。

var allMuteBuilder = new RL_YTX.AllMuteBuilder();
allMuteBuilder.setRoomId(IM.roomId);
allMuteBuilder.setAllMuteMode(2);// 是否全員禁言 1 不是 2 是
allMuteBuilder.setNeedNotify(2);// 是否需要通知, 1 不通知 2 通知 (默認(rèn)2)
allMuteBuilder.setNotifyExt("都悄悄地");// 通知信息擴展字段
RL_YTX.AllMuteMode(allMuteBuilder,function (e) {
console.log(e)
callback
},function (err) {
console.error(err)
});
			        

? 踢出成員—創(chuàng)建者或管理員可以將權(quán)限比自己低的用戶踢出聊天室。

var kickMemberBuilder = new RL_YTX.KickMemberBuilder();
kickMemberBuilder.setRoomId(IM.roomId);
kickMemberBuilder.setUserIds([“111”,”222]);
kickMemberBuilder.setNeedNotify(2);
kickMemberBuilder.setNotifyExt("違規(guī)");
console.log(kickMemberBuilder);
RL_YTX.kickMember(kickMemberBuilder,function (e) {
console.log(e);
callback();
},function (err) {
console.log(err);
if(err.code === 620010){
console.error('你沒有權(quán)限');
}
})
			        

? 離開聊天室——瀏覽器端多半為直接關(guān)閉瀏覽器,在關(guān)閉瀏覽器之前觸發(fā)此事件。(onbeforeunload),或與Connector斷開連接之后,自動退出房間。

var exitChatroomBuilder = new RL_YTX.ExitChatroomBuilder();
exitChatroomBuilder.setRoomId(IM.roomId);// 房間id
exitChatroomBuilder.setNeedNotify(2);//是否需要通知, 1 不通知 2 通知 (默認(rèn)2)
exitChatroomBuilder.setNotifyExt(IM.user_account+ " 退出了聊天室");// 通知信息擴展字段
RL_YTX.exitChatroom(exitChatroomBuilder,function (e) {
callback();
},function (err) {
console.error(err);
})
}
			        

? 修改個人信息

var updateMyChatroomMemberInfoBuilder = new RL_YTX.UpdateMyChatroomMemberInfoBuilder();
updateMyChatroomMemberInfoBuilder.setRoomId(IM.roomId);
if(type === "nickname"){
updateMyChatroomMemberInfoBuilder.setNickName(content); //個人昵稱
}else if(type === "infoext"){
updateMyChatroomMemberInfoBuilder.setInfoExt(content);// 個人信息擴展字段
}
RL_YTX.updateMyChatroomMemberInfo(updateMyChatroomMemberInfoBuilder,function (e) {
console.log(e)
callback();
},function (err) {
console.error(err);
})
}
			        

? 聊天室通知消息-用戶加入,退出,被禁言,被踢出,被拉黑,變更角色等,聊天室內(nèi)的成員都會收到通知消息。

RL_YTX.onCharRoomEventLinstener(callback);
if(obj.type === 1){//有用戶加入
}else if(obj.type === 2){//修改聊天室通知
}else if(obj.type === 3){//設(shè)置角色通知
}else if(obj.type === 4){//有用戶被踢出
}else if(obj.type === 5){//有用戶退出
}else if(obj.type === 6){//全員禁言
}else if(obj.type === 7){//聊天室全員取消禁言
}else if(obj.type === 8){//單人禁言
}else if(obj.type === 9){//成員取消禁言
}else if(obj.type === 10){//拉入黑名單
}else if (obj.type === 11){//成員取消拉黑
}else if(obj.type === 12){//聊天室關(guān)閉
}else if(obj.type === 14){//修改聊天室信息
}
                    

文檔更新時間:2017年9月21日

主站蜘蛛池模板: 特级毛片爽www免费版 | 激情a | 亚洲狠狠爱 | 黄视频免费观看 | 一区二区三区精品视频 | 国产伦一区二区三区 | 亚洲成人综合在线 | 免费看黄视频网站 | 亚洲 欧美 另类 综合 偷拍 | 一级毛片免费视频 | 成人av一区二区在线观看 | 女女百合av大片一区二区三区九县 | 噜啊噜在线 | 欧美一区久久 | 奇米久久久 | 伊人精品在线 | 日操操 | 亚洲狠狠 | 啪啪精品 | 56pao在线| 欧美在线视频观看 | 少妇一级淫片aaaaaaaaa | 九九久久国产 | 91免费电影| 久久久精品一区 | 国产在线精品免费 | 日韩久久精品 | 艹逼网 | 亚洲一区二区三区四区五区中文 | 午夜精品一区二区三区在线播放 | 国产91 在线播放 | 超碰精品在线 | 福利在线看 | 国产精品免费在线 | 精品一二区 | av福利网| 成人在线视频一区 | 久久国产精品久久久久 | 日韩视频国产 | 一区二区中文字幕 | 日韩一区二区av |