前言
最近搞了个 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, debug: true, appId: appId, timestamp: timestamp, nonceStr: nonceStr, signature: signature, jsApiList: ['openEnterpriseChat'] } wx.config(config); wx.ready((res) => { console.log('config初始化成功'); }) wx.error((err) => { console.log('config初始化失败:', err); })
|
分析
我开启了debug
模式,正常来说config无论配置是否成功,都会弹出弹窗告诉你是否配置成功的。
wx.ready
跟wx.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初始化成功'); })
|