代码如下:
wx.config({
beta: true, // 必须这么写,否则wx.invoke调用形式的jsapi会有问题
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: this.qsObj.corpid, // 必填,企业微信的corpID
timestamp: qyTicket.timestamp, // 必填,生成签名的时间戳
nonceStr: qyTicket.nonceStr, // 必填,生成签名的随机串
signature: qyTicket.signature, // 必填,签名,见 附录-JS-SDK使用权限签名算法
jsApiList: [
"onMenuShareAppMessage",
"onMenuShareWechat",
"onMenuShareTimeline",
"startRecord",
"stopRecord",
"onVoiceRecordEnd",
"playVoice",
"pauseVoice",
"stopVoice",
"onVoicePlayEnd",
"uploadVoice",
"downloadVoice",
"chooseImage",
"predivImage",
"uploadImage",
"downloadImage",
"getLocalImgData",
"predivFile",
"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"
] // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
});
// eslint-disable-next-line no-undef
wx.ready(() => {
console.log("wx.config wx.ready");
// eslint-disable-next-line no-undef
console.log("wx.agentConfig", wx.agentConfig);
// eslint-disable-next-line no-undef
wx.agentConfig({
corpid: this.qsObj.corpid, // 必填,企业微信的corpid,必须与当前登录的企业一致
agentid: this.qsObj.agentId, // 必填,企业微信的应用id
timestamp: ticket.timestamp, // 必填,生成签名的时间戳
nonceStr: ticket.nonceStr, // 必填,生成签名的随机串
signature: ticket.signature, // 必填,签名,见附录1
jsApiList: [
"selectExternalContact",
"openUserProfile",
"thirdPartyOpenPage",
"sendChatMessage",
"getCurExternalContact",
"shareToExternalContact"
], //必填
success: res => {
this.$store.dispatch("CHANGE_CONFIG_STATE", 1);
console.log("agentConfig success ", res);
},
fail: function(res) {
console.log("agentConfig fail ", res);
onError && onError(res);
this.$store.dispatch("CHANGE_CONFIG_STATE", -1);
// alert('wx.agentConfig: ' + res.errMsg)
if (res.errMsg.indexOf("function not exist") > -1) {
alert("版本过低请升级");
} else {
alert(res.errMsg);
}
},
complete: res => {
this.getCurExternalContact();
callback && callback(res);
}
});
onReady && onReady();
// eslint-disable-next-line no-undef
!showMenu && wx.hideOptionMenu && wx.hideOptionMenu();
});
但是发现在一些情况下会出现,console.log("wx.agentConfig", wx.agentConfig);打印的是undefined
这种情况在Android上特别会存在,开启了servicework后必现。这里serviceworker设置的url配置了https://res.wx.qq.com,只要开启,必然会报错。
IOS上开启正常;
实在是获取侧边栏的用户id需要太长的时间,能想到可以优化的地方也没什么用,官方麻烦听听用户反馈啊!!!!!!
您好,关于获取侧边栏的用户id需要时间确实较长,我反馈下给内部哈
好了吗