美文网首页
单页面应用在微信分享时参数为[Object]

单页面应用在微信分享时参数为[Object]

作者: AmingYo | 来源:发表于2020-05-02 10:49 被阅读0次

A 通过微信右上角分享或者海报二维码方式带上 recommendId 字段,例:

https:www.xxx.com/wx/activity/h5?id=666&recommendId=123

$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;
}

相关文章

网友评论

      本文标题:单页面应用在微信分享时参数为[Object]

      本文链接:https://www.haomeiwen.com/subject/hitkghtx.html