A 通过微信右上角分享或者海报二维码方式带上 recommendId 字段,例:
$route.query.recommendId 返回 123
B 通过这个链接再进行分享
https:www.xxx.com/wx/activity/h5?id=666&recommendId=123&recommendId=456
这时候 $route.query.recommendId 参数返回的就是一个数组 ['123','456'],部分机型在进入 B 的链接时会把 recommendId 这个参数合并成数组,就出现了参数为 [Object] 的问题了。
解决办法
在分享前对当前页面的 url 预处理,替换掉已有的 recommendId
let _href = location.href
if (location.href.indexOf('recommendId') !== -1){
this.replaceParamVal(_href,'recommendId','456')
}
replaceParamVal(url, paramName, replaceVal) {
var oUrl = url.toString();
var re = eval('/(' + paramName + '=)([^&]*)/gi');
var nUrl = oUrl.replace(re, paramName + '=' + replaceVal);
return nUrl;
}
网友评论