以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  企业微信内打开企业通讯录选人  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=139749)

--  作者:YDS
--  发布时间:2019/8/20 16:30:00
--  企业微信内打开企业通讯录选人
试了了很多方法,就是不行,难不难做成一个实例,谢谢


var evalWXjsApi = function(jsApiFun) {
    if (typeof WeixinJSBridge == "object" && typeof WeixinJSBridge.invoke == "function") {
        jsApiFun();
    } else {
        document.attachEvent && document.attachEvent("WeixinJSBridgeReady", jsApiFun);
        document.addEventListener && document.addEventListener("WeixinJSBridgeReady", jsApiFun);
    }
}
                        
document.querySelector(\'#openEnterpriseContact_invoke\').onclick = function() {
    evalWXjsApi(function() {
        WeixinJSBridge.invoke("openEnterpriseContact", {
            "groupId": "g50a5axxxx91706a",    // 必填,管理组权限验证步骤1返回的group_id
            "timestamp": "1447334894",    // 必填,管理组权限验证步骤2使用的时间戳
            "nonceStr": "Wm3WZYTPz0wzccnW",    // 必填,管理组权限验证步骤2使用的随机字符串
            "signature": "f9afc6f80a0c81xxxxxxxxxxxxedff5001878",  // 必填,管理组权限验证步骤2生成的签名
            "params" : {
                \'departmentIds\' : [1],    // 非必填,可选部门ID列表(如果ID为0,表示可选管理组权限下所有部门)
                \'tagIds\' : [1],    // 非必填,可选标签ID列表(如果ID为0,表示可选所有标签)
                \'userIds\' : [\'zhangsan\',\'lisi\'],    // 非必填,可选用户ID列表
                \'mode\' : \'single\',    // 必填,选择模式,single表示单选,multi表示多选
                \'type\' : [\'department\',\'tag\',\'user\'],    // 必填,选择限制类型,指定department、tag、user中的一个或者多个
                \'selectedDepartmentIds\' : [],    // 非必填,已选部门ID列表
                \'selectedTagIds\' : [],    // 非必填,已选标签ID列表
                \'selectedUserIds\' : [],    // 非必填,已选用户ID列表
            },
        }, function(res) {
            if (res.err_msg.indexOf(\'function_not_exist\') > -1) {
                alert(\'版本过低请升级\');
            } else if (res.err_msg.indexOf(\'openEnterpriseContact:fail\') > -1) {
                return;
            }
            var result = JSON.parse(res.result);    // 返回字符串,开发者需自行调用JSON.parse解析
            var selectAll = result.selectAll;     // 是否全选(如果是,其余结果不再填充)
            if (!selectAll)
            {
                var selectedDepartmentList = result.departmentList;    // 已选的部门列表
                for (var i = 0; i < selectedDepartmentList.length; i++) {
                    var department = selectedDepartmentList[i];
                    var departmentId = department.id;    // 已选的单个部门ID
                    var departemntName = department.name;    // 已选的单个部门名称
                }
                var selectedTagList = result.tagList;    // 已选的标签列表
                for (var i = 0; i < selectedTagList.length; i++) {
                    var tag = selectedTagList[i];
                    var tagId = tag.id;    // 已选的单个标签ID
                    var tagName = tag.name;    // 已选的单个标签名称
                }
                var selectedUserList = result.userList;    // 已选的成员列表
                for (var i = 0; i < selectedUserList.length; i++) {
                    var user = selectedUserList[i];
                    var userId = user.id;    // 已选的单个成员ID
                    var userName = user.name;    // 已选的单个成员名称
                }
            }
        })
    });
}

--  作者:YDS
--  发布时间:2019/8/21 11:42:00
--  
怎么这么久也没有回复呢?
--  作者:有点蓝
--  发布时间:2019/8/21 12:11:00
--  
暂时没有环境测试,或者不要在js里调用接口,提交到服务端,通过Foxtable调用接口
--  作者:bobolan521
--  发布时间:2019/8/21 14:06:00
--  
这个我做过