企业微信开发之前端调用选人接口
(一)在企微后台进行配置
在应用管理中配置JS可信域名(调用JS-SDK的网页地址要发布在可信域名下)

(二)页面代码
1.引用相应的JS文件
<script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<script src="https://open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js"></script>
2.获取ticket并进行初始化
可以用
window.location.href来动态当前地址
init() { var that = this; //先获取ticket axios.get("GetTicket.action").then(res => { console.log(res); var jsapi_ticket = res.data; var now = parseInt(new Date().getTime() / 1000); var noncestr = "企业ID"; var timestamp = now; //var url= "<%=url%>"; var url = "当前页面地址(与配置的可信域名在同一域名下)"; var string1 = "jsapi_ticket=" + jsapi_ticket + "&noncestr=" + noncestr + "×tamp=" + timestamp + "&url=" + url; //进行加密 var signature = new jsSHA(string1, "TEXT"); var t = signature.getHash("SHA-1", "HEX"); var data = { timestamp: timestamp, nonceStr: noncestr, signature: t, //signature2:t2, } console.log(data, string1); that.wxconfig(data); }).catch(Error => { console.log(Error); }) },
(3)调用选人的方法
xuanren() { var that = this; (wx.invoke || WeixinJSBridge.invoke)( "selectEnterpriseContact", { "fromDepartmentId": 0,// 必填,表示打开的通讯录从指定的部门开始展示,-1表示自己所在部门开始, 0表示从最上层开始 "mode": "multi",// 必填,选择模式,single表示单选,multi表示多选 "type": ["department", "user"],// 必填,选择限制类型,指定department、user中的一个或者多个 }, function (res) { //console.log("xuanren",res) if (res.err_msg == "selectEnterpriseContact:ok") { if (typeof res.result == 'string') { res.result = JSON.parse(res.result) //由于目前各个终端尚未完全兼容,需要开发者额外判断result类型以保证在各个终端的兼容性 } that.wxDepartment = ""; that.selectInfo.wxDepartmentId = []; that.wxUser = ""; that.selectInfo.wxUserId = []; 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;// 已选的单个部门名称 that.wxDepartment = that.wxDepartment + departemntName + ","; that.selectInfo.wxDepartmentId.push(departmentId) } var selectedUserList = res.result.userList; // 已选的成员列表 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;// 已选的单个成员头像 that.wxUser = that.wxUser + userName + ","; that.selectInfo.wxUserId.push(userId) } } } ); }
(三)发布与调试
企业微信SDK需要在企微内置浏览器环境下使用,所以需要发布应用后在企微调试,在企业微信的聊天界面按shift+alt+ctrl+d打开调试模式。
浙公网安备 33010602011771号