這篇文章主要介紹了php實現的分享到朋友圈並記錄分享次數功能,結合執行個體形式分析了php分享功能介面調用及分享次數統計具體操作技巧,需要的朋友可以參考下
本文執行個體講述了php實現的分享到朋友圈並記錄分享次數功能。分享給大家供大家參考,具體如下:
1.引入JS檔案
2.通過config介面注入許可權驗證配置
3.通過ready介面處理成功驗證
4.通過error介面處理失敗驗證
JSDK檔說明:https://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html
(1)
<script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
(2)頁面加入擷取webconfig驗證資訊的值
<?php$url=dirname(dirname(dirname(dirname(dirname(dirname(dirname(__FILE__)))))));$url=$url.'/addons/lb_vote/jssdk.php';include $url;$jsdk=new JSSDK('wxa3816b432f7291ba','e469db86bec9661650362dc2f9df8956'); $signPackage = $jsdk->GetSignPackage();?>
(3)驗證config
wx.config({debug: false,appId:'<?php echo $signPackage["appId"];?>', // 必填,公眾號的唯一標識timestamp:<?php echo $signPackage["timestamp"];?>, // 必填,產生簽名的時間戳記nonceStr: '<?php echo $signPackage["nonceStr"];?>', // 必填,產生簽名的隨機串signature:'<?php echo $signPackage["signature"];?>',// 必填,簽名,見附錄1jsApiList: ['checkJsApi','onMenuShareTimeline'] //});
(4)分享到朋友圈介面
wx.ready(function(){ wx.onMenuShareTimeline({ title: '測試分享朋友圈功能', // 分享標題 link: "{php echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];}", // 分享連結 imgUrl: '{php echo $_W['siteroot'];}{$photo}', // 分享表徵圖 success: function () { // 使用者確認分享後執行的回呼函數 記錄分享的次數 $.ajax({ url:"{php echo $this->createMobileUrl('Index',array('op'=>'share'))}", type:'post', data:"id="+{$userinfo['id']}+"&rid="+{$userinfo['rid']}, dataType:'json', success:function(data){ if(data.flags==1){ alert(data.msg); }else if(data.flags==2){ alert(data.msg); location.href="{php echo $this->createMobileUrl('Index',array('op'=>'display','id'=>$id))}" rel="external nofollow" ; } } }); }, cancel: function () { // 使用者取消分享後執行的回呼函數 alert('取消分享成功!'); } });});
(5)驗證錯誤時執行的函數
wx.error(function(res){ alert(res);});
(6)PHP端更新資料庫,記錄分享次數 返回處理資訊給使用者
if($op=='share'){ $voteinfo=pdo_fetch("SELECT *FROM ".tablename('lb_vote_info')." WHERE rid = :rid and id=:id and uniacid=:uniacid and pass=:pass", array(':rid' => $_GPC['rid'],':uniacid'=>$_W['uniacid'],':pass'=>1,'id'=>$_GPC['id'])); $sharenum=intval($voteinfo['sharenum'])+1; $data=array( 'sharenum'=>$sharenum, );$res=pdo_update('lb_vote_info', $data, array('id' =>$_GPC['id'],'uniacid'=>$_W['uniacid'],'rid'=>$_GPC['rid']));if(!empty($res)){ $msg['msg']='已分享到朋友圈!'; $msg['flags']=2; echo json_encode($msg);}else{ $msg['msg']='分享失敗!'; $msg['flags']=1; echo json_encode($msg);}}
您可能感興趣的文章:
PHP解析xml格式資料工具類樣本講解
PHP中類靜態調用和範圍解析操作符之間的區別
PHP基於數組實現的堆棧和隊列功能樣本詳解