做微信公众号项目调用sdk时,经常会出现{“errMsg”:“config:invalid signature”}签名失效的问题
一般是调用后端接口来获取签名,接口的参数是公众号页面的url,在安卓系统上,获取sdk传的是当前所在页面的URL,即 location.href ,而iOS系统,需要传从公众号菜单首次进入页面的url,所以需要在首次进入时,存一下首次进入页面的url,在需要调用sdk的地方使用。
if (navigator.userAgent.indexOf('iPhone') !== -1) {
window.entryUrl = location.href.split('#')[0];
}
let href = encodeURIComponent(window.location.href.split('#')[0])
let signLink = /(Android)/i.test(navigator.userAgent) ? href : encodeURIComponent(window.entryUrl);
以上就可以解决config:invalid signature的错误,ios也可以打开选照片、拍照片弹框啦!