问题:
ios使用微信自带方法wx.getLocation调取用户地理位置,会直接走err,输出报错是“‘getLocation:invalid signature’”
但是安卓机就没这个问题。
我看有人说
调接口获取wx.config配置所需参数的入参(页面路径),ios没有获取到最新的
于是我在app.vue里进入页面时,将当前的路径缓存起来,在自己掉位置的页面里使用。
但是解决不了我的问题
后来我看到了网上说ios刷新就能成功,我就测试了一下 ,果然是可以调用成功了!!!
然后也百度了好多,说是这个是ios本身就有这个问题。
最后在wx.ready里加了一个刷新一次页面的方法,就没问题了
解决方案:
在跳转进入获取位置页面时处理:
localStorage.setItem("updatePage",1)
获取位置页面
wx.config({
debug: false,
appId: res.appId,
timestamp: res.timestamp,
nonceStr: res.nonceStr,
signature: res.signature,
jsApiList: [
"checkJsApi",
"onMenuShareTimeline", // 分享到朋友圈接口
"onMenuShareAppMessage", // 分享到朋友接口
"getLocation",
],
openTagList: ["wx-open-launch-weapp"],
});
wx.ready(function () {
//ios刷新页面
if (TestUserAgent().isios && JSON.parse(localStorage.getItem("updatePage")) == 1) {
window.location.reload();
localStorage.removeItem('updatePage')
}
});
问题就可以解决啦