微信之分享朋友圈后可见的实现方法 – 千丝海阁

首页 » Javascript » 微信之分享朋友圈后可见的实现方法

微信之分享朋友圈后可见的实现方法

8624 10

不少微信公众号营销都做了分享后才可见答案的功能,比如一个谜题,分享后才知道答案,又或者有一个领奖的功能必须分享后才能领奖,这样做能诱导用户分享你的网页信息从而达到扩展营销的目的。但是微信官方已经明确申明这是一种不符合微信管理准则规范的营销手段,一旦发现,则会进行封停处理,所以本文,tiandi只是从技术的角度来说这种方法如何实现。

前阵子不久,微信官方公布了新的js SDK,其中有一接口函数onMenuShareTimeline便是针对朋友圈分享的监听,这将使得开发者更容易实现这种分享后可见的功能。废话不多说了,各种接口官方有很详细的文档说明,这里tiandi直接帖出实例代码:

<div style="font-size:60px;margin:20px;">提问:为什么手机不能掉到马桶里?打一成语。</div>
<div id="status" style="font-size:60px;margin:20px;">(分享后见答案)</div>

<script>
function todoaftershare() {
	document.getElementById("status").innerHTML = "<font color='blue'>答案:机不可失(湿)</font>";
}

function gettilte() {
	title = "测试专用";
	return title;
}
</script>

/*******************/
/*  下面的代码勿动  /
/*******************/
include_once(dirname(__FILE__).'/wxshare.php');
 
$timestamp = time();  //获取时间戳
$noncestr = rand(10000,99999);   //随机验证码
$jsapi = new website();
$jsapi_ticket = $jsapi->GetToken();   //获取js的token
$url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];   //当前页面URL
$signature = getsignature($noncestr,$timestamp,$jsapi_ticket,$url);   //获取签名

//签名方法
function getsignature($noncestr,$timestamp,$jsapi_ticket,$url) {
	$str = "jsapi_ticket=".$jsapi_ticket."&noncestr=".$noncestr."&timestamp=".$timestamp."&url=".$url;
	//echo $str;
	return sha1($str);
}
?>
//加载官方JS包
<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script>
    wx.config({
        //debug: true,   //调试模式,开启后则会在客户端直接alert结果
        appId: 公众号的appid,
        timestamp: "<?php echo $timestamp; ?>",
        nonceStr: "<?php echo $noncestr; ?>",
        signature: "<?php echo $signature; ?>",
        jsApiList: [      //需要调用的接口
            'checkJsApi',
            'onMenuShareTimeline'
        ]
    });

    wx.ready(function () {
        wx.onMenuShareTimeline({
            title: gettilte(),     //分享后自定义标题
            link: 'http://www.suanjuzi.com/wxjs.php',   //分享后的URL
            imgUrl: 'http://www.suanjuzi.com/wechat/images/logonew.png',  //分享的LOGO
            trigger: function (res) {
				
            },
            success: function (res) {
                todoaftershare();
            },
            cancel: function (res) {
            },
            fail: function (res) {
                alert('wx.onMenuShareTimeline:fail: '+JSON.stringify(res));
            }
        });
    });
    wx.error(function (res) {
        alert('wx.error: '+JSON.stringify(res));
    });
</script>

代码结束。
你可以用微信访问http://www.suanjuzi.com/wxjs.php或者直接扫描下方二维码看到具体效果。
微信分享可见

文章评分6次,平均分4.7



上一篇:inputtext框内灰色默认值placeholder的各浏览器实现方式
下一篇:sql语法转换unix时间戳为日期

本文原始地址:http://www.tiandiyoyo.com/2015/01/do-after-share-on-wchat/
本站所有文章,除了特别注明外,均为本站原创,转载请注明出处来自www.tiandiyoyo.com

您可能还会对以下文章感兴趣:

    没有相关的文章

评论前先开启评论开关:


10 Comments

  1. 我原来的丑头像图又冒出来了。一看之下 ,貌似你这缓存了头像。多久会更新呢?

  2. 你涉猎好广泛啊,佩服。。

  3. 分享了根本见不着答案,所以也从来不分享。
    我指的是Q空间的,微信都不爱玩。

  4. Era :

    右侧的最新评论看着有点熟悉。。

  5. 现在是不是应该考虑给网站加上特别的微信版本了呢

  6. 嗯,东西挺不错的,看看,支持一下!

  7. 番茄 :

    好久不见,过来学习下~!

载入分页评论...