js部分 var weixin = {config:function(){//获取当前的网页地址var url=window.location.href.split("#")[0];//请求后端获得必要的签名$.get("jssdk.php",{"url":url},function(s){wx.congig({debug:false,//开启调试模式appId:s
var weixin = { config:function(){ //获取当前的网页地址 var url=window.location.href.split("#")[0]; //请求后端获得必要的签名 $.get("jssdk.php",{"url":url},function(s){ wx.congig({ debug:false,//开启调试模式 appId:s.appId,//必填,公众号的唯一标识 timestamp:s.timestamp, //必填,生成签名的时间戳 noceStr:s.noceStr, //必填,生成签名的的随机字符串 signatrue:s.signatrue, //必填,签名,见附录一 jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage', 'chooseImage', 'uploadImage', 'downloadImage'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }) }); }, share:function (title,desc,url,img){ //注意分享链接与图片地址的域名必须与公众号的安全域名一致 var data = { title:title, //分享标题 link: url, // 分享链接 imgUrl: img, //分享图标 desc: desc, //分享描述 success: function (){ //分享成功 }, error: function () { //分享失败 } }; //分享到朋友圈 wx.onMenuShareTimeline({ title:data.title,//分享标题 link:data.url,//分享链接 imgUrl:data.img,//分享图标 success:data.success,//确认按钮 cansl:data.ansel//取消按钮 }); //分享给好友 wx.onMenuShareAppMessage({ title:data.title,//分享标题 link:data.link,//分享链接 imgUrl:data.img,//分享图标 type:"",//分享类型,music,video或link,不填默认为link dataUrl:"",//如果type是music或video,则要提供数据链接,默认为空 success:data.success,//确认按钮 cansl:data.ansel//取消按钮 }) } } $(window).load({ wx.config(); wx.ready(function(){ wx.share("微信分享","微信分享","www.xxx.com","www.xxx.com/img.jpg"); }) })获取签名
APPID, "timestamp"=>$timestamp, "nonceStr"=>$nonceStr, "signature"=>$signature ); return json_encode($data); } //获取access_token 要设置IP白名单才能获取token function getAccess(){ $data = json_decode(file_get_contents("access.json")); if($data->time < time()){ $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".APPID."&secret=".SECRET; $res = json_decode(getHttp($url)); $access = $res->access_token; if($access){ $data->access = $access; $data->time = time()+7000; // chmod("access.json",0755); $fp = fopen("access.json","w"); fwrite($fp, json_encode($data)); fclose($fp); } }else{ $access = $data->access; } return $access; } //获取jsApi_ticket票据 function getTicket(){ $data = json_decode(file_get_contents("ticket.json")); if($data->time < time()){ $accessToken = getAccess(); $url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=$accessToken"; $res = json_decode(getHttp($url)); $ticket = $res->ticket; if($ticket){ $data->ticket = $ticket; $data->time = time()+7000; $fp = fopen("ticket.json","w"); fwrite($fp, json_encode($data)); fclose($fp); } }else{ $ticket = $data->ticket; } return $ticket; } //随机字符串 function createNonceStr($length = 16) { $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; $str = ""; for ($i = 0; $i < $length; $i++) { $str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1); } return $str; } //curl封装 function getHttp($url) { $curl = curl_init(); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_TIMEOUT, 500); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_URL, $url); $res = curl_exec($curl); curl_close($curl); return $res; } ?>