【www.bbyears.com--微信】
主要功能,获取用户分享后的状态,分享成功,分享失败之类
代码片段:
$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."×tamp=".$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);
Php部分主要是通过appid和secret 获取token后 用token获取一个ticket 。
输出时间,输出随机字符串,输出加密后的签名
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: "/wp-content/themes/weisaysimple/images/random/tb5.jpg", // 分享图标
success: function () {
// 用户确认分享后执行的回调函数
//alert(1111);
},
cancel: function () {
// 用户取消分享后执行的回调函数
//alert(222);
}
});
// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
});