企業微信開發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就可以肆意調用了,拜拜


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM