环信创建群组html,群组管理
群組管理
獲取群組列表
調用listRooms函數獲取當前登錄用戶加入的群組列表,示例如下。
// 列出所有群組
var listGroups = function () {
var option = {
success: function (rooms) {
console.log(rooms);
},
error: function () {
console.log('List groups error');
}
};
conn.listRooms(option);
};
查詢群組成員
根據roomId查詢群組成員。
// 查詢群組成員
// 查詢出來的member的結構為{affiliation: 'member', jid: 'easemob-demo#chatdemoui_wjy6@easemob.com'}
// 注意,這里的jid格式,成員的用戶名是chatdemoui_之后,@easemob.com之前的字符串,如本例的wjy6是用戶名
var queryRoomMember = function () {
var member = '';
conn.queryRoomMember({
roomId: '114715680632209992',
success: function (members) {
for (var o in members) {
member = members[o];
console.log(member);
}
}
});
};
獲取群組黑名單
// 獲取群組黑名單
var getGroupBlackList = function () {
var option = {
roomId: '1480758709661',
success: function (list) {
console.log('Get group black list: ', list);
},
error: function () {
console.log('Get group black list error.');
}
};
conn.getGroupBlacklist(option);
};
創建群組
創建群組,并設置群組屬性的示例如下。
// 建立一個群組
var createGroup = function () {
var option = {
subject: 'groupName', // 群名稱
description: 'create a group test', // 群簡介
members: ['wjy6', 'asdfghj'], // 以數組的形式存儲需要加群的好友ID
optionsPublic: true, // 允許任何人加入
optionsModerate: false, // 加入需審批
optionsMembersOnly: false, // 不允許任何人主動加入
optionsAllowInvites: false // 允許群人員邀請
};
conn.createGroup(option);
}
再在回調函數中的onPresence中添加:
If( message.type == 'createGroupACK'):
conn.createGroupAsync({
from: message.from,
success: function(option){
console.log('Create Group Succeed');
}
});
獲取群組信息
應用場景:判斷用戶是否為該群管理員。
// 獲取群組信息
var queryGroupInfo = function () {
conn.queryRoomInfo({
roomId: '1480747027186',
// settings 表示入群的權限,具體值待定
// members[0]里面包含群主信息,其結構為{affiliation: 'owner', jid: appKey + '_' + username + '@easemob.com'}
// jid中的username就是群主ID
// fields的結構為:
/*
{
affiliations: '2',
description: '12311231313', // 群簡介
maxusers: '200', // 群最大成員容量
name: '123', // 群名稱
occupants: '2',
owner: 'easemob-demo#chatdemoui_mengyuanyuan' // 群主jid
}
*/
success: function (settings, members, fields) {
console.log('settings: ', settings);
console.log('members: ', members);
console.log('fields: ', fields);
},
error: function () {
console.log('Error!');
}
});
};
修改群組信息
只有群組的管理員可以修改群組名稱和群組簡介,示例如下。
注意:在獲取群組時候就可以獲取群管理員的ID,從而前端可決定是否顯示修改信息按鈕。
// 修改群信息
var changeGroupInfo = function () {
var option = {
roomId: '1480756943693',
subject: 'ChangeTest', // 群組名稱
description: 'Change group information test', // 群組簡介
success: function () {
console.log('Change Group Names Success!');
}
};
conn.changeGroupSubject(option);
};
將好友加入群組
管理員可以將好友加入群組。
// 加好友入群
var addGroupMembers = function () {
var option = {
list: ['asdfghj', 'wjy6'],
roomId: '1480841456167'
};
conn.addGroupMembers(option);
};
將成員踢出群組
只有群組的管理員有權限將成員踢出群組,踢出群組的同時,將該群成員拉入群組黑名單。
注意:在獲取群組時候就可以獲取群管理員的ID,從而前端可決定是否顯示踢人按鈕。
// 將成員踢出群(同將群成員拉入群黑名單)
var addToGroupBlackList = function () {
var option = {
affiliation: 'owner', // 寫死
roomId: '1480756943693', // 群組ID
success: function () {
console.log('add to black list succeed');
},
to: 'asdfghj' // 需要刪除的成員ID
};
conn.addToGroupBlackList(option);
};
將好友移出群組黑名單
將好友移出群組黑名單后,該好友依然是群組成員。
// 將好友從黑名單移除
var removeFromGroupBlackList = function () {
var option = {
roomId: '1480841456167',
to: 'wjy6',
success: function () {
console.log('Remove from black list success!');
}
};
conn.removeGroupMemberFromBlacklist(option);
};
解散群組
只有群組的管理員有權限將成員踢出群組。群組解散后,所有群成員均退出該群。
注意:在獲取群組時候就可以獲取群管理員的ID,從而前端可決定是否顯示解散按鈕。
// 解散一個群組
var destroyGroup = function () {
var option = {
reason: 'Test Destroy Group',
roomId: '1480840256052',
success: function () {
console.log('Destroy group success!');
}
};
conn.destroyGroup(option);
};
退出群組
群成員可以主動退出群組,示例如下。
// 成員主動退出群
var leaveGroup = function () {
var option = {
to: 'asdfghj',
roomId: '1480747027186',
success: function () {
console.log('You leave room succeed!');
},
error: function () {
console.log('Leave room faild');
}
};
conn.leaveGroupBySelf(option);
};
發送消息
接收及處理消息
群聊接收及處理消息同單聊,消息體與單聊消息根據 message 的 type 進行區分,單聊為:chat,群聊為:groupchat,聊天室為:chatroom。根據消息的類型進行不同處理即可。
總結
以上是生活随笔為你收集整理的环信创建群组html,群组管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2020年5大热点网络趋势
- 下一篇: Kubernetes HPA 的三个误区