一般情况加:encodeURIComponent转url
var shareUrl = encodeURIComponent(location.href.split("#")[0]);
原因:iOS下URL的解析机制与安卓不一样,特别是在vue这种spa页面中,iOS中默认是第一次进入应用的URL,这样就会导致签名错误。
export default {
beforeRouteEnter(to, from, next) {
// XXX: 修复iOS版微信HTML5 History兼容性问题
if (isIOSWeChat() && to.path !== location.pathname) {
// 此处不可使用location.replace
location.assign(to.fullPath)
} else {
next()
}
},
}