如希望在微信内分享某个网页,微信官方给出了JS-SDK的接口,如果希望在分享链接的时候带上网站内自带的积分推荐功能,该如何实现呢?
我们对JS-SDK的php版DEMO文件进行改造,是可以实现在自定义分享连接加上积分推广参数的功能的。(本文仅针对wordpress及MyCRED组合方式,其他积分体系和网站程序也可参考本文的方法)
首先在主题文件夹的single.php头部定义两个变量:
$origurl = get_permalink( $post->ID );
$refid = do_shortcode( '[mycred_affiliate_link]' );
?>
然后将如下代码贴到content末尾:
require('jssdk.php');
$jssdk = new JSSDK("APP key", "APP secret");
$signPackage = $jssdk->GetSignPackage();
?>
wx.config({
debug: false,
appId: '<?php echo $signPackage["appId"];?>',
timestamp: '<?php echo $signPackage["timestamp"];?>',
nonceStr: '<?php echo $signPackage["nonceStr"];?>',
signature: '<?php echo $signPackage["signature"];?>',
jsApiList: [
'onMenuShareTimeline',
'onMenuShareAppMessage'
]
});
wx.ready(function () {
wx.onMenuShareAppMessage({
title: '<?php echo $title;?>', // 分享标题
desc: '你的广告词', // 分享描述
link: '<?php echo $origurl.$refid;?>', // 分享链接
imgUrl: '<?php echo $image;?>', // 分享图标
type: '', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success: function () {
alert('感谢您的分享'); // 用户确认分享后执行的回调函数
},
cancel: function () {
alert('已取消'); // 用户取消分享后执行的回调函数
}
});
wx.onMenuShareTimeline({
title: '<?php echo $title;?>', // 分享标题
link: '<?php echo $origurl.$refid;?>', // 分享链接
imgUrl: '<?php echo $image;?>', // 分享图标
success: function () {
alert('感谢您分享到朋友圈'); // 用户确认分享后执行的回调函数
},
cancel: function () {
alert('已取消'); // 用户取消分享后执行的回调函数
}
});
});
这样,在微信内分享网页就可以带上自己的推荐链接并与会员ID进行绑定了。下面就需要解决微信内浏览器截断原URL参数的问题了,这个问题的解决方法请参考:《MyCRED推荐链接在微信里分享时链接参数被微信客户端截断的解决方法》