ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-04-21 17:00:07  阅读:587  来源: 互联网

标签:必填 微信 企微 获取 res H5 data response


摘要:在企业开发中需要在企微侧边聊天栏里开发一个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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有