在接入微信 jssdk 的时候,一般都会有一个操作,就是验证配置
wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: '', // 必填,公众号的唯一标识
timestamp: , // 必填,生成签名的时间戳
nonceStr: '', // 必填,生成签名的随机串
signature: '',// 必填,签名
jsApiList: ['openLocation'] // 必填,需要使用的JS接口列表 这里填写需要用到的微信api openlocation为使用微信内置地图查看位置接口
});
wx.ready(function () {
wx.checkJsApi({
jsApiList: ['checkJsApi','openLocation'],
success: function (res) {}
});
});
wx.error(function(res){
console.log(res);
});
这里需要注意的地方debug在上线后要改为false,jsApiList里要填你要使用的接口,不然没有作用
给导航按钮注册点击事件,调用wx.openLocation方法,注意:因为这块是需要用户触发的,所以不必放在wx.ready()方法中,若需要页面加载时就执行的话,如分享接口,就必须放在wx.ready()方法中执行
有时候用微信提供的工具进行检查,发现签名也是对的。
https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign
但就是到真机上运行的时候,出现 invalid signature 。
很有可能是 url 参数不正确,应该是让问jssdk 配置 的那个页面的地址。
虽然 invalid signature 问题,但是其他功能却也可以使用。
随官方持续更新中
调用config 接口的时候传入参数 debug: true 可以开启debug模式,页面会alert出错误信息。以下为常见错误及解决方法:
invalid url domain当前页面所在域名与使用的appid没有绑定(一个appid可以绑定三个有效域名,见 目录1.1.1)。
invalid signature签名错误。建议按如下顺序检查:
确认签名算法正确,可用 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign 页面工具进行校验。
确认config中noncestr, timestamp与用以签名中的对应noncestr, timestamp一致。
确认url是页面完整的url,包括GET参数部分。
确认 config 中的 appid 与用来获取 jsapi_ticket 的 appid 一致。
确保一定缓存access_token和jsapi_ticket,可以减少两次服务器请求加速体验外,还避免了触发频率限制,提高服务稳定性。
the permission value is offline verifying这个错误是因为config没有正确执行,或者是调用的JSAPI没有传入config的jsApiList参数中。建议按如下顺序检查:
确认config正确通过。
如果是在页面加载好时就调用了JSAPI,则必须写在wx.ready的回调中。
确认config的jsApiList参数包含了这个JSAPI。
permission denied该公众号没有权限使用这个JSAPI(部分接口需要认证之后才能使用)。
Android用户已取消分享朋友圈,但仍返回分享成功(微信团队已修复此问题,会在Android6.1版本上线)
Android6.0.2部分客户端无法使用监听分享接口(Android6.0.2之前以及6.0.2.58以后的版本都不会有问题,请从官网下载最新版本体验)
服务上线之后无法获取jsapi_ticket,自己测试时没问题。因为access_token和jsapi_ticket必须要在自己的服务器缓存,否则上线后会触发频率限制。请确保一定对token和ticket做缓存以减少2次服务器请求,不仅可以避免触发频率限制,还加快你们自己的服务速度。目前为了方便测试提供了1w的获取量,超过阀值后,服务将不再可用,请确保在服务上线前一定缓存access_token和jsapi_ticket。
Android部分版本上传图片接口偶尔卡住(早期的Android6.0.2版本存在此问题,官方已修复,6.0.2.58之后的版本都支持,请从官网下载最新版本体验)
下载多媒体相关jsapi只能下载通过jsapi上传的资源,无法下载通过多媒体后台接口上传的资源(微信团队已经确认该问题,正在努力修复中,预计本周修复上线)
参考: https://wohugb.gitbooks.io/webot/content/js-sdk/error.html