其他分享
首页 > 其他分享> > 企业微信开发H5如果获取当前用户的信息

企业微信开发H5如果获取当前用户的信息

作者:互联网

摘要:在企业开发中需要在企微侧边聊天栏里开发一个h5页面,并且使用企微提供的API获取当前用户的信息以及在聊天框中分享H5页面给对方

前提:在企微后台创建一个应用,并且配置到企微聊天栏中,

并在网页授权及JS-SDK授信给你的域名

提示:企微的侧边聊天栏里需要在与外部联系人联系才会显示,比如你企微账号加的对方的微信号

正文:

在企微要获取当前人的信息需要引入企微提供的cdn文件,因为我用的是vue3,所以直接在public/index.html下引入

<script src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>

wx对象是挂载到window下的,如果没有可以自己挂载

<script>window.jweixin=wx;</script>  

因为我要使用的的是sendChatMessage和getCurExternalContact的API,属于应用的授信API,所以要使用的是agentConfig去获取,后端生成需要提供签名signature,随机字符串nonceStr,时间戳timestamp,注意要和wx.config的获取签名区分开,这是个大坑

window.wx.agentConfig({
            corpid: res.response_data.appId, // 必填,企业微信的corpid,必须与当前登录的企业一致
            agentid: res.response_data.agent_id, // 必填,企业微信的应用id (e.g. 1000247)
            timestamp: res.response_data.timestamp, // 必填,生成签名的时间戳
            nonceStr: res.response_data.noncestr, // 必填,生成签名的随机串
            signature: res.response_data.agent_signature, // 必填,签名,见附录-JS-SDK使用权限签名算法
            jsApiList: [
                "invoke",
                "onMenuShareAppMessage",
                "onMenuShareWechat",
                "onMenuShareTimeline",
                "startRecord",
                "stopRecord",
                "onVoiceRecordEnd",
                "playVoice",
                "pauseVoice",
                "stopVoice",
                "onVoicePlayEnd",
                "uploadVoice",
                "downloadVoice",
                "chooseImage",
                "previewImage",
                "uploadImage",
                "downloadImage",
                "getLocalImgData",
                "previewFile",
                "getNetworkType",
                "onNetworkStatusChange",
                "openLocation",
                "getLocation",
                "startAutoLBS",
                "stopAutoLBS",
                "onLocationChange",
                "onHistoryBack",
                "hideOptionMenu",
                "showOptionMenu",
                "hideMenuItems",
                "showMenuItems",
                "hideAllNonBaseMenuItem",
                "showAllNonBaseMenuItem",
                "closeWindow",
                "openDefaultBrowser",
                "scanQRCode",
                "selectEnterpriseContact",
                "openEnterpriseChat",
                "chooseInvoice",
                "selectExternalContact",
                "getCurExternalContact",
                "openUserProfile",
                "shareAppMessage",
                "shareWechatMessage",
                "startWifi",
                "stopWifi",
                "connectWifi",
                "getWifiList",
                "onGetWifiList",
                "onWifiConnected",
                "getConnectedWifi",
                "setClipboardData",
                "getClipboardData",
                "sendChatMessage",
              ], // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
            success: (res) => {
                  alert('成功获取权限')
            },
            fail: (res) => {
              if (res.errMsg.indexOf("function not exist") > -1) {
                alert("版本过低请升级");
              } else {
                alert("agentConfigFail" + JSON.stringify(res));
              }
            },

这个权限需要在真机或者电脑企微浏览器打开获取,没法在微信开发者工具调试(这点希望企微官方赶紧兼容,调试要么通过改hosts去访问本机,这种需要有两个域名,一个做接口域名,一个做前端访问80端口域名),所以必须部署到服务器用授信的域名去访问,通过alert查看是否获取权限成功,后面的API就可以肆意调用了,拜拜

标签:必填,微信,企微,获取,res,H5,data,response
来源: https://www.cnblogs.com/fengxiongmiao/p/16174902.html