一般情况下,我们是获取当前页面URL地址去请求后端得到微信签名,但是iOS下URL的解析机制与安卓不一样。特别是在vue这种spa页面中,iOS中默认是第一次进入应用的URL,这样就会导致签名错误。竟然知道了原因,我们要保证iOS下的URL也是当前页面的URL,我在导航守卫中判断是否来自前一个页面,如果是就强制刷新,如果不是就代表已经刷新过了,下面是我的代码
beforeRouteEnter (to, from, next) {
// 修复iOS微信签名错误
if (from.path == '/partner') {
location.assign('http://crm.jdy.com/app/partner/productPromotion')
} else {
next()
}
},