企业微信开发之前端调用选人接口

(一)在企微后台进行配置

   在应用管理中配置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 + "&timestamp=" + 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打开调试模式。

posted @ 2022-06-19 21:15  风中一条狗  阅读(637)  评论(0)    收藏  举报