本文實例講述了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程序設計有所幫助。
新聞熱點
疑難解答
圖片精選