企业微信 企业内部应用H5 在企业微信下 wx.agentConfig 以及后续调用 JS API 使用都正常。以扫一扫为例。
但是如果开启了【微信插件】,就可以从微信联系人里选择企业,然后就可以在微信客户端里点击打开该应用。
此时 agentConfig 会报错 e=-30001
引入文件,调用,都依照下面这个文档。
https://work.weixin.qq.com/api/doc/90000/90136/90515
wx.agentConfig({
corpid: '', // 必填,企业微信的corpid,必须与当前登录的企业一致
agentid: '', // 必填,企业微信的应用id (e.g. 1000247)
timestamp: , // 必填,生成签名的时间戳
nonceStr: '', // 必填,生成签名的随机串
signature: '',// 必填,签名,见附录-JS-SDK使用权限签名算法
jsApiList: ['selectExternalContact'], //必填
success: function(res) {
// 回调
window.wx.scanQRCode....
},
fail: function(res) {
if(res.errMsg.indexOf('function not exist') > -1){
alert('版本过低请升级')
}
}
});
文档最后提到: agentConfig仅在企业微信2.5.0及以后版本支持,微信客户端不支持(微信开发者工具也不支持)
也曾尝试使用 https://res.wx.qq.com/wwopen/js/jsapi/jweixin-1.0.0.js 这个 js。
情况是 企业微信下正常,微信客户端下,不报错,也不回掉成功和失败。
请问这种需求下,该如何验签,并成功调用 wx.scanQRCode。
你好,在微信上的 agentConfig 成功后,除了 opendata组件 和 文档上明确写明的一两个接口,其他关于企业微信专有的 jsapi 是不能使用的,config中的部分接口在微信插件调用后是可以在微信调用用的, wx.scanQRCode是可以在微信端调用,在config之后不调用agentconfig看下
在微信里,调用 config,然后 ready 之后,再调用 wx.scanQrCode, alert 报错: ScanQRCode: the permission value is offline verifying.
wx.config({
beta: true,// 必须这么写,否则wx.invoke调用形式的jsapi会有问题
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: '', // 必填,企业微信的corpID
timestamp: , // 必填,生成签名的时间戳
nonceStr: '', // 必填,生成签名的随机串
signature: '',// 必填,签名,见 附录-JS-SDK使用权限签名算法
jsApiList: [] // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
});
window.wx.config({
beta: true, // 必须这么写,否则wx.invoke调用形式的jsapi会有问题
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: corpId, // 必填,企业微信的corpID
timestamp: timestamp, // 必填,生成签名的时间戳
nonceStr: nonceStr, // 必填,生成签名的随机串
signature: signature, // 必填,签名,见 附录-JS-SDK使用权限签名算法
jsApiList: JS_API_LIST, // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
// success: function(__res: any) {
// console.log("xxxxx ok")
// resolve(true);
// },
fail: (res: JSONType) => {
console.log("xxxxx fail.");
onConfigFail(res);
resolve(false);
}
});
window.wx.ready(() => {
console.log("xxxxx ok");
resolve(true);
});
window.wx.error((res: JSONType) => {
console.log("xxxxx fail.");
onConfigFail(res);
resolve(false);
});
agentConfig在微信H5下面,可以正常使用吗?