微信公众号分享链接参数丢失问题

微信公众号分享链接参数丢失问题

坑,今天运营告诉我,分享商品打开后跳转首页了。打开一试果然,商品参数丢失了。发现分享链接被拼了一些参数。如:from=singlemessage
上网一搜很早就有人提这个问题了。为什么之前测试一直好的?
由于react开发的公众号页面使用hash router。不中避免被截掉参数,试了几次之后发现还是可以绕过去的。

===

===

===

===

  • 自己找规律

===

===

写个方法转换一下分享链接

1
2
3
4
5
6
7
8
9
"url-parse": "^1.1.9",
import parse from 'url-parse';

function _changeUrl(url){
let newUrl = parse(url, true);
newUrl.set('hash', '?wv=1' + newUrl.hash);
let ret = newUrl.toString();
return ret;
}

商品详情页获取参数方式修改一下:

1
2
3
4
5
6
7
8
9
10
componentDidMount() {
let query = this.props.location.query;
if (location.href.indexOf('wv=') != -1) {
// 分享链接; 获取参数;
let parsed = parse(location.href.split('#')[1], true);
console.log('GoodsDetail url-parse: ', parsed);
query = parsed.query;
}
......
}