微信分享朋友圈PHP+HTML代码
全部源码下载:http://www.blowsea.com/yuanma.html
php部分
tickit.php
需要自行填写:
$AppId=“你的公众号id”;//填写你的公众号ID
$AppSecret=“你的公众号秘钥”;//填写你的公众秘钥;
<?php
class sure{
public function curl_get_https($url){
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
//curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, true); // 从证书中检查SSL加密算法是否存在
$tmpInfo = curl_exec($curl); //返回api的json对象
//关闭URL请求
curl_close($curl);
return $tmpInfo; //返回json对象
}
public function access(){
$AppId="你的公众号id";//填写你的公众号ID
$AppSecret="你的公众号秘钥";//填写你的公众秘钥;
$url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$AppId&secret=$AppSecret";
$access=$this->curl_get_https($url);
/
$json=json_decode($access);
$access_token=$json->access_token;
$nian=date("Ymd");
$date=date("His");
$array=array('access_token'=>$access_token,'nian'=>$nian,'date'=>$date);
$access=json_encode($array);
///
file_put_contents('ashare/test.json', $access);
$url2="https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=$access_token&type=jsapi";
$jsapi=$this->curl_get_https($url2);
file_put_contents('ashare/test2.json',$jsapi);
$jstiket=json_decode($jsapi)->ticket;
return $jstiket;
}
public function jsapi(){
if(1<>file_exists("ashare/test.json")){
$bb=$this->access();
return $bb;
}
if(1<>file_exists("ashare/test2.json")){
$bb=$this->access();
return $bb;
}
$html = file_get_contents("ashare/test.json");
$access=json_decode($html);
$access_token=$access->access_token;
$nian=$access->nian;
$date=$access->date;
$niannow=date("Ymd");
$datenow=date("His");
$jsapi = file_get_contents("ashare/test2.json");
$tiket=json_decode($jsapi);
$jstiket=$tiket->ticket;
$arry=array(
0<>($niannow-$nian),
($datenow-$date)>"7200",
$jstiket==null
);
switch ($arry) {
case $arry[0]:
// code...
$bb=$this->access();
return $bb;
break;
case $arry[1]:
$bb=$this->access();
return $bb;
case $arry[2]:
$bb=$this->access();
return $bb;
break;
default:
// code...
break;
}
return $jstiket ;
}
///
public function suree($Nurl){
$ticket=$this->jsapi();
$time1=date("His");
$noncestr=md5(time());
$jsapi_ticket=$ticket;
$timestamp=$time1;
$url=$Nurl;
$string="jsapi_ticket=$jsapi_ticket&noncestr=$noncestr×tamp=$timestamp&url=$url";
$sure1=sha1($string);
$bb=array($timestamp,$noncestr,$sure1);
return $bb;
}
///需要的三个参数;
}
?>
html主页部分
index.php
下面是微信js引用ticket的主要程序;你加入html自己的页面即可用;
<?php include_once("ashare/ticket.php"); ?>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=2.0, user-scalable=yes" />
<script src="https://res2.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
</head>
<script>
wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: 'wx768a3017bf6afafe', // 必填,公众号的唯一标识
timestamp:"<?php echo $sign[0] ?>", // 必填,生成签名的时间戳
nonceStr:"<?php echo $sign[1] ?>", // 必填,生成签名的随机串
signature:'<?php echo $sign[2] ?>',// 必填,签名
jsApiList: ['checkJsApi',
'onMenuShareTimeline',
'onMenuShareAppMessage',
'onMenuShareQQ',
'onMenuShareWeibo',
'onMenuShareQZone'
]
});
wx.ready(function(){
// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
});
wx.error(function(res){
// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
});
</script>
<script>
wx.checkJsApi({
jsApiList: [ 'onMenuShareTimeline',
'onMenuShareAppMessage',
'onMenuShareQQ',
'onMenuShareWeibo',
'onMenuShareQZone'
], // 需要检测的JS接口列表,所有JS接口列表见附录2,
success: function(res) {
},
error:function(res){
}
});
wx.ready(function() {
wx.onMenuShareTimeline(data);
wx.onMenuShareAppMessage(data);
wx.onMenuShareQQ(data);
wx.onMenuShareWeibo(data);
wx.onMenuShareQZone(data);
});
//
var data={
title: '开发测试-分享系统', // 分享标题
link: "http://www.blowsea.com", // 分享链接
imgUrl: 'http://www.blowsea.com/image/cc.jpg', // 分享图标
[添加链接描述](http://www.blowsea.com)
success: function() {
// 用户确认分享后执行的回调函数
},
cancel: function() {
// 用户取消分享后执行的回调函数
}
};
</script>
资料原创分享请注明出处,尊重他人劳动成果;