如希望在微信内分享某个网页,微信官方给出了JS-SDK的接口,如果希望在分享链接的时候带上网站内自带的积分推荐功能,该如何实现呢?
我们对JS-SDK的php版DEMO文件进行改造,是可以实现在自定义分享连接加上积分推广参数的功能的。(本文仅针对wordpress及MyCRED组合方式,其他积分体系和网站程序也可参考本文的方法)
首先在主题文件夹的single.php头部定义两个变量:
<?php $origurl = get_permalink( $post->ID ); $refid = do_shortcode( '[mycred_affiliate_link]' ); ?>
然后将如下代码贴到content末尾:
<!--call weixin JSSDK share start--> <?php require('jssdk.php'); $jssdk = new JSSDK("APP key", "APP secret"); $signPackage = $jssdk->GetSignPackage(); ?> <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> <script> 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('已取消'); // 用户取消分享后执行的回调函数 } }); }); </script> <!--call weixin JSSDK share end-->
这样,在微信内分享网页就可以带上自己的推荐链接并与会员ID进行绑定了。下面就需要解决微信内浏览器截断原URL参数的问题了,这个问题的解决方法请参考:《MyCRED推荐链接在微信里分享时链接参数被微信客户端截断的解决方法》