收藏
回答

企业微信的sdk调用通讯录选人 怎么限定可见范围外的人不能被选中?

window.top.wx.invoke("selectEnterpriseContact", {

"fromDepartmentId": 0,// 必填,表示打开的通讯录从指定的部门开始展示,-1表示自己所在部门开始, 0表示从最上层开始

"mode": "multi",// 必填,选择模式,single表示单选,multi表示多选

"type": ["user"],// 必填,选择限制类型,指定department、user中的一个或者多个

"selectedDepartmentIds": [],// 非必填,已选部门ID列表。用于多次选人时可重入,single模式下请勿填入多个id

"selectedUserIds": participantsUid// 非必填,已选用户ID列表。用于多次选人时可重入,single模式下请勿填入多个id

},function(res){

if (res.err_msg == "selectEnterpriseContact:ok")

{

if(typeof res.result == 'string')

{

res.result = JSON.parse(res.result) //由于目前各个终端尚未完全兼容,需要开发者额外判断result类型以保证在各个终端的兼容性

}

var selectedDepartmentList = res.result.departmentList;// 已选的部门列表

for (var i = 0; i < selectedDepartmentList.length; i++)

{

var department = selectedDepartmentList[i];

var departmentId = department.id;// 已选的单个部门ID

var departemntName = department.name;// 已选的单个部门名称

}

var selectedUserList = res.result.userList; // 已选的成员列表

let arr = []

for (var i = 0; i < selectedUserList.length; i++)

{

var user = selectedUserList[i];

var userId = user.id; // 已选的单个成员ID

var userName = user.name;// 已选的单个成员名称

var userAvatar= user.avatar;// 已选的单个成员头像


arr.push(userId)

}

setParticipantsUid(()=>{

return arr.filter((item)=>{

//把自己过滤掉

return item!=localStorage.get('userid')

})

})

}

}

);


回答关注问题邀请回答
收藏
登录 后发表内容