企业微信的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') }) }) } } );