最新微信分享JS接口

主要功能,获取用户分享后的状态,分享成功,分享失败之类

代码片段:

[code lang=”php”]
$noncestr = getRandStr(15);
$timestamp = time();

$access_token = access_token($db);
//var_dump($access_token);
//exit();
$url = ‘https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=’. $access_token .’&type=jsapi’;
$ret_json = curl_get_contents($url);
$ret = json_decode($ret_json);
$_SESSION[‘jsapi_ticket’] = $ret-> ticket;
//var_dump($ret);
$strvalue = ‘jsapi_ticket=’.$_SESSION[‘jsapi_ticket’].’&noncestr=’.$noncestr.’&timestamp=’.$timestamp.’&url=http://’.$_SERVER[‘HTTP_HOST’].$_SERVER[‘REQUEST_URI’];
$signature = sha1($strvalue);

//var_dump($strvalue);
$smarty->assign(‘timestamp’,$timestamp);
$smarty->assign(‘nonceStr’,$noncestr);
$smarty->assign(‘signature’,$signature);
[/code]

Php部分主要是通过appid和secret 获取token后 用token获取一个ticket 。
输出时间,输出随机字符串,输出加密后的签名

js部分:

[code lang=”js”]
wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: ‘xxxxx’, // 必填,公众号的唯一标识
timestamp: ‘{$timestamp}’, // 必填,生成签名的时间戳
nonceStr: ‘{$nonceStr}’, // 必填,生成签名的随机串
signature: ‘{$signature}’,// 必填,签名,见附录1
jsApiList: [‘onMenuShareTimeline’,’onMenuShareAppMessage’] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});

wx.ready(function(){

wx.onMenuShareTimeline({
title: ‘分享标题’, // 分享标题
link: ‘http://baidu.com’, // 分享链接
imgUrl: ‘http://shanmao.me/wp-content/themes/weisaysimple/images/random/tb5.jpg’, // 分享图标
success: function () {
// 用户确认分享后执行的回调函数
//alert(1111);
},
cancel: function () {
// 用户取消分享后执行的回调函数
//alert(222);
}
});

// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
});

[/code]