一、获取签名
$signature=S('signature');//签名
$nonceStr='*************';//随机字符串if(empty($signature)){
$ticket=S('weixinTicket');
if(empty($ticket)){
$access_token=$this->getTooken();
$url='https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token='.$access_token.'&type=jsapi';
$info=$this->https_request($url);
$ticket=$info['ticket'];
S('weixinTicket',$ticket,7200);
S('weixinTicketTime',time(),7200);
}
$url='http://www.****';//当前url,即和window.location.href值相同
$string1='jsapi_ticket='.$ticket.'&noncestr='.$nonceStr.'×tamp='.time().'&url='.$url;
$signature=sha1($string1);S('signature',$signature,7200);
}
$ticketTime=S('weixinTicketTime');//获取签名时间
$this->assign('signature',$signature);
$this->assign('nonceStr',$nonceStr);
$this->assign('ticketTime',$ticketTime);
二.html页面认证
引进:<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: '{:C('APPID')}', // 必填,公众号的唯一标识
timestamp: {$ticketTime}, // 必填,生成签名的时间戳
nonceStr: '{$nonceStr}', // 必填,生成签名的随机串
signature: '{$signature}',// 必填,签名,见附录1
jsApiList: ['checkJsApi',
'openLocation',
'getLocation',
'onMenuShareTimeline',
'onMenuShareAppMessage'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
wx.ready(function(){
wx.onMenuShareTimeline({
title: '这是分析的标题', // 设置分享标题
link: 'http://www.baidu.com', // 设置分享链接
imgUrl: '************************', // 分享图标
success: function () {
// 用户确认分享后执行的回调函数
alert(0);
},
cancel: function () {
// 用户取消分享后执行的回调函数
alert(1);
}
});
});