群成员管理(Web SDK).md
9.81 KB
获取群成员列表
/* function getGroupMemberInfo
* 获取群组成员列表
* params:
* options - 请求参数
* cbOk - function()类型, 成功时回调函数
* cbErr - function(err)类型, 失败时回调函数, err 为错误对象
* return:
* (无)
*/
getGroupMemberInfo: function(options, cbOk, cbErr) {},
?详细参数说明请参考 获取群组成员详细资料 API。
*示例: *
//读取群组成员
var getGroupMemberInfo = function (group_id) {
initGetGroupMemberTable([]);
var options = {
'GroupId': group_id,
'Offset': 0, //必须从 0 开始
'Limit': totalCount,
'MemberInfoFilter': [
'Account',
'Role',
'JoinTime',
'LastSendMsgTime',
'ShutUpUntil'
]
};
webim.getGroupMemberInfo(
options,
function (resp) {
if (resp.MemberNum <= 0) {
alert('该群组目前没有成员');
return;
}
var data = [];
for (var i in resp.MemberList) {
var account = resp.MemberList[i].Member_Account;
var role = webim.Tool.groupRoleEn2Ch(resp.MemberList[i].Role);
var join_time = webim.Tool.formatTimeStamp(
resp.MemberList[i].JoinTime);
var shut_up_until = webim.Tool.formatTimeStamp(
resp.MemberList[i].ShutUpUntil);
if (shut_up_until == 0) {
shut_up_until = '-';
}
data.push({
GroupId: group_id,
Member_Account: account,
Role: role,
JoinTime: join_time,
ShutUpUntil: shut_up_until
});
}
$('#get_group_member_table').bootstrapTable('load', data);
$('#get_group_member_dialog').modal('show');
},
function (err) {
alert(err.ErrorInfo);
}
);
};
邀请好友加群
/* function addGroupMember
* 邀请好友加群
* params:
* options - 请求参数
* cbOk - function()类型, 成功时回调函数
* cbErr - function(err)类型, 失败时回调函数, err 为错误对象
* return:
* (无)
*/
addGroupMember: function(options, cbOk, cbErr) {},
?详细参数说明请参考 增加群组成员 API。
*示例: *
//邀请好友加群
var addGroupMember = function () {
var options = {
'GroupId': $('#agm_group_id').val(),
'MemberList': [
{
'Member_Account': $('#agm_account').val()
}
]
};
webim.addGroupMember(
options,
function (resp) {
//在表格中删除对应的行
$('#get_my_friend_group_table').bootstrapTable('remove', {
field: 'Info_Account',
values: [$('#agm_account').val()]
});
$('#add_group_member_dialog').modal('hide');
alert('邀请好友加群成功');
},
function (err) {
alert(err.ErrorInfo);
}
);
};
修改群消息提示
/* function modifyGroupMember
* 修改群成员资料(角色或者群消息提类型示)
* params:
* options - 请求参数
* cbOk - function()类型, 成功时回调函数
* cbErr - function(err)类型, 失败时回调函数, err 为错误对象
* return:
* (无)
*/
modifyGroupMember: function(options, cbOk, cbErr) {},
?详细参数说明请参考 修改群成员资料 API。
*示例: *
//修改群消息提示类型
var modifyGroupMsgFlag = function () {
var msg_flag_en = $('input[name="mgmf_msg_flag_radio"]:checked').val();
var msg_flag_zh = webim.Tool.groupMsgFlagEn2Ch(msg_flag_en);
var options = {
'GroupId': $('#mgmf_group_id').val(),
'Member_Account': loginInfo.identifier,
'MsgFlag': msg_flag_en
};
webim.modifyGroupMember(
options,
function (resp) {
//在表格中修改对应的行
$('#get_my_group_table').bootstrapTable('updateRow', {
index: $('#mgmf_sel_row_index').val(),
row: {
MsgFlag: msg_flag_zh,
MsgFlagEn: msg_flag_en
}
});
$('#modify_group_msg_flag_dialog').modal('hide');
alert('设置群消息提示类型成功');
},
function (err) {
alert(err.ErrorInfo);
}
);
};
修改群成员角色
/* function modifyGroupMember
* 修改群成员资料(角色或者群消息提类型示)
* params:
* options - 请求参数
* cbOk - function()类型, 成功时回调函数
* cbErr - function(err)类型, 失败时回调函数, err 为错误对象
* return:
* (无)
*/
modifyGroupMember: function(options, cbOk, cbErr) {},
?详细参数说明请参考 修改群成员资料 API。
*示例: *
//修改群组成员角色
var modifyGroupMemberRole = function () {
var role_en = $('input[name="mgm_role_radio"]:checked').val();
var role_zh = webim.Tool.groupRoleEn2Ch(role_en);
var options = {
'GroupId': $('#mgm_group_id').val(),
'Member_Account': $('#mgm_account').val(),
'Role': role_en
};
webim.modifyGroupMember(
options,
function (resp) {
//在表格中修改对应的行
$('#get_group_member_table').bootstrapTable('updateRow', {
index: $('#mgm_sel_row_index').val(),
row: {
Role: role_zh
}
});
$('#modify_group_member_dialog').modal('hide');
alert('修改群成员角色成功');
},
function (err) {
alert(err.ErrorInfo);
}
);
};
设置群成员禁言时间
/* function forbidSendMsg
* 设置群成员禁言时间
* params:
* options - 请求参数
* cbOk - function()类型, 成功时回调函数
* cbErr - function(err)类型, 失败时回调函数, err 为错误对象
* return:
* (无)
*/
forbidSendMsg: function(options, cbOk, cbErr) {},
?详细参数说明请参考 批量禁言和取消禁言 API。
示例:
//设置成员禁言时间
var forbidSendMsg = function () {
if (!webim.Tool.validNumber($('#fsm_shut_up_time').val())) {
alert('您输入的禁言时间非法,只能是数字(0-31536000)');
return;
}
var shut_up_time = parseInt($('#fsm_shut_up_time').val());
if (shut_up_time > 31536000) {
alert('您输入的禁言时间非法,只能是数字(0-31536000)');
return;
}
var shut_up_until = '-';
if (shut_up_time != 0) {
//当前时间+禁言时间=禁言截至时间
shut_up_until = webim.Tool.formatTimeStamp(
Math.round(new Date().getTime() / 1000) + shut_up_time);
}
var options = {
'GroupId': $('#fsm_group_id').val(),//群组id
'Members_Account': [$('#fsm_account').val()],//被禁言的成员帐号列表
'ShutUpTime': shut_up_time//禁言时间,单位:秒
};
webim.forbidSendMsg(
options,
function (resp) {
//在表格中修改对应的行
$('#get_group_member_table').bootstrapTable('updateRow', {
index: $('#fsm_sel_row_index').val(),
row: {
ShutUpUntil: shut_up_until
}
});
$('#forbid_send_msg_dialog').modal('hide');
alert('设置成员禁言时间成功');
},
function (err) {
alert(err.ErrorInfo);
}
);
};
删除群成员
/* function deleteGroupMember
* 删除群成员
* params:
* options - 请求参数
* cbOk - function()类型, 成功时回调函数
* cbErr - function(err)类型, 失败时回调函数, err 为错误对象
* return:
* (无)
*/
deleteGroupMember: function(options, cbOk, cbErr) {},
?详细参数说明请参考 删除群组成员 API。
示例:
//删除群组成员
var deleteGroupMember = function () {
if (!confirm("确定移除该成员吗?")) {
return;
}
var options = {
'GroupId': $('#dgm_group_id').val(),
//'Silence': $('input[name="dgm_silence_radio"]:checked').val(),
//只有 ROOT 用户采用权限设置该字段(是否静默移除)
'MemberToDel_Account': [$('#dgm_account').val()]
};
webim.deleteGroupMember(
options,
function (resp) {
//在表格中删除对应的行
$('#get_group_member_table').bootstrapTable('remove', {
field: 'Member_Account',
values: [$('#dgm_account').val()]
});
$('#delete_group_member_dialog').modal('hide');
alert('移除群成员成功');
},
function (err) {
alert(err.ErrorInfo);
}
);
};