小程序
小游戏
企业微信
微信支付
扫描小程序码分享
JSSDK版本 1.2.0
IOS系统版本 13.0
企业微信版本 3.0.11
安卓系统 wx.agentConfig 签名通过,IOS系统 wx.config 签名通过,wx.agentConfig 签名失败
报错提示:agentConfig fail premission denied,但是刷新一下就通过了。为什么呢?安卓系统为啥不刷新也能通过?
5 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
您好,请问两边使用的代码是否是同一套呢,可以提供下截图 corpid 调试userid 调试时间看看
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
我这边也遇到了,这个只有iOS的微信有问题,安卓的微信和安卓或iOS的企业微信都没有问题。
当获取签名的时候,我们一般是用的当前页面的window.location.href做为url去生成签名,比如当前页面是https://mydomain/home/B.html。但是iOS中的微信JSSDK wx.config在验证签名的时候不是获取了当前页面的url,而是使用了缓存的第一个页面的url来进行的,所以会出现签名错误。
现象:
用户进入A页面,A页面的URL config是正常的,如果这个时候进入了B页面,如果B页面也config并设置了分享,B页面的就是错的。但是如果刷新B页面,B页面就又好了。
解决方案:
在第一次进入应用的时候,记录第一个url到localstorage(firstURL),然后在生成签名的时候判断下,如果是iOS系统并且在微信内,生产签名的url使用firstURL。否则使用window.location.href
如果你的应用是单页面应用(url中通过#进行hash),不会出现该现象,因为#之前的原始url是不变的。
找到问题了 ,wx.agentConfig的jsApiList中selectExternalContact这类的jsapi 在wx.Config的jsApiList中没有授权,授权就可以了
企业微信版本 3.0.28,ios 13.1.1,也是不好使。安卓就可以。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
您好,请问两边使用的代码是否是同一套呢,可以提供下截图 corpid 调试userid 调试时间看看
corpid: 'wxfbca7d8fb03e4ac6',
agentid: 1000140,
timestamp: 1584582266,
nonceStr: '4sXoEBL3sK',
signature: '7857ebcc742b435a6e7b6dfe2caf7db1f220ae18',
jsApiList: ['getCurExternalContact'],
success: function(res) {
},
fail: function(res) {
if(res.errMsg.indexOf('function not exist') > -1){
alert('版本过低请升级');
_this.$router.push('/login');
}
}
}) 这样可以么?
JSSDK版本 1.6.0
IOS系统版本 13.4
安卓系统版本 9
企业微信版本 2.4.2
我这边也遇到了,这个只有iOS的微信有问题,安卓的微信和安卓或iOS的企业微信都没有问题。
当获取签名的时候,我们一般是用的当前页面的window.location.href做为url去生成签名,比如当前页面是https://mydomain/home/B.html。但是iOS中的微信JSSDK wx.config在验证签名的时候不是获取了当前页面的url,而是使用了缓存的第一个页面的url来进行的,所以会出现签名错误。
现象:
用户进入A页面,A页面的URL config是正常的,如果这个时候进入了B页面,如果B页面也config并设置了分享,B页面的就是错的。但是如果刷新B页面,B页面就又好了。
解决方案:
在第一次进入应用的时候,记录第一个url到localstorage(firstURL),然后在生成签名的时候判断下,如果是iOS系统并且在微信内,生产签名的url使用firstURL。否则使用window.location.href
如果你的应用是单页面应用(url中通过#进行hash),不会出现该现象,因为#之前的原始url是不变的。
找到问题了 ,wx.agentConfig的jsApiList中selectExternalContact这类的jsapi 在wx.Config的jsApiList中没有授权,授权就可以了
企业微信版本 3.0.28,ios 13.1.1,也是不好使。安卓就可以。