1、公众号后台白名单
查看公众号后台配置有没有设置正确的安全域名和白名单等
2、确认config正确通过
3、如果是在页面加载好时就调用了JSAPI,则必须写在wx.ready的回调中
4、查看jsApiList是否添加了相应JSAPI
router.beforeEach((to, from, next) => {// 获取权限验证配置(签名) 后端返回 getConfig, 注意返回字段的大小写!let res// 注入配置信息wx.config({debug: false, // 调试开关appId: res.appId, // 必填,公众号的唯一标识timestamp:res.timestamp , // 必填,生成签名的时间戳nonceStr: res.nonceStr, // 必填,生成签名的随机串signature: res.signature,// 必填,签名jsApiList: ["scanQRCode","updateAppMessageShareData","updateTimelineShareData"] // 必填,需要使用的JS接口列表});wx.ready(() => {// doSoming});
})
5、url问题
push的跳转不能被写入ios微信浏览器的地址栏
处理:push跳转改为window.loaction.href跳转 才能改变地址栏的变化,才能签名成功
其次确认url是页面完整的url(请在当前页面alert(location.href.split('#')[0])确认),包括'http(s)/'部分,以及'?'后面的GET参数部分,但不包括'#'hash后面的部分
即获取url完成地址的方法为
let url = window.location.href.split('#')[0];
如果链接带有中文字符或者特殊符号,前端需要使用encodeURIComponent编码,同时后端需要配合解码
let url = encodeURIComponent(window.location.href.split('#')[0]);
6、微信开发者工具缺失相关API权限能力
// 在开发者工具地址栏访问以下地址:https://www.weixinsxy.com/jssdk/// 查看权限是否开启成功// 然后再访问本地的开发地址进行测试
官方文档描述: 概述 | 微信开放文档