企业微信sdk安卓生效,IOS不生效

本文最后更新于:3 年前

前言
最近搞了个 h5 需要调用企业微信的 jssdk
继上一遍处理调用企微文章之后
发现了个新的坑


初始化sdk正常代码

1
2
<script src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<script src="//open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js"></script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
const config = {
beta: true, // 必须这么写,否则wx.invoke调用形式的jsapi会有问题
debug: true, // 开启调试模式
appId: appId, // 必填,企业微信的corpID
timestamp: timestamp, // 必填,生成签名的时间戳
nonceStr: nonceStr, // 必填,生成签名的随机串
signature: signature, // 必填,签名,见 附录-JS-SDK使用权限签名算法
jsApiList: ['openEnterpriseChat'] // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
}
wx.config(config);
wx.ready((res) => {
console.log('config初始化成功');
})
wx.error((err) => {
console.log('config初始化失败:', err);
})

分析

我开启了debug模式,正常来说config无论配置是否成功,都会弹出弹窗告诉你是否配置成功的。
wx.readywx.error都没有调用。

引入vconsole后,打印得知。部分机型是wx.config函数存在,部分是jWeixin.confg函数存在。
所以就是要做兼容处理咯。

处理方式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
window.qy = function(methods, ...data) {
if(wx[methods]) {
wx[methods](...data)
} else if(jWeixin[methods]) {
jWeixin[methods](...data)
}
}

qy('config', config)
qy('ready', (res) => {
console.log('config初始化成功');
})
qy('error', (res) => {
console.log('config初始化成功');
})

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!