php實(shí)現(xiàn)的微信分享到朋友圈并記錄分享次數(shù)功能
本文實(shí)例講述了php實(shí)現(xiàn)的微信分享到朋友圈并記錄分享次數(shù)功能。分享給大家供大家參考,具體如下:
1.引入JS文件
2.通過config接口注入權(quán)限驗(yàn)證配置
3.通過ready接口處理成功驗(yàn)證
4.通過error接口處理失敗驗(yàn)證
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驗(yàn)證信息的值
<?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)驗(yàn)證config
wx.config({ debug: false, appId:'<?php echo $signPackage["appId"];?>', // 必填,公眾號(hào)的唯一標(biāo)識(shí) timestamp:<?php echo $signPackage["timestamp"];?>, // 必填,生成簽名的時(shí)間戳 nonceStr: '<?php echo $signPackage["nonceStr"];?>', // 必填,生成簽名的隨機(jī)串 signature:'<?php echo $signPackage["signature"];?>',// 必填,簽名,見附錄1 jsApiList: ['checkJsApi','onMenuShareTimeline'] // });
(4)微信分享到朋友圈接口
wx.ready(function(){ wx.onMenuShareTimeline({ title: '測(cè)試分享朋友圈功能', // 分享標(biāo)題 link: "{php echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];}", // 分享鏈接 imgUrl: '{php echo $_W['siteroot'];}{$photo}', // 分享圖標(biāo) success: function () { // 用戶確認(rèn)分享后執(zhí)行的回調(diào)函數(shù) 記錄分享的次數(shù) $.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 () { // 用戶取消分享后執(zhí)行的回調(diào)函數(shù) alert('取消分享成功!'); } }); });
(5)驗(yàn)證錯(cuò)誤時(shí)執(zhí)行的函數(shù)
wx.error(function(res){ alert(res); });
(6)PHP端更新數(shù)據(jù)庫,記錄分享次數(shù) 返回處理信息給用戶
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); } }
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP微信開發(fā)技巧匯總》、《PHP編碼與轉(zhuǎn)碼操作技巧匯總》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP中json格式數(shù)據(jù)操作技巧匯總》及《PHP針對(duì)XML文件操作技巧總結(jié)》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
php文件后綴不強(qiáng)制為.php的實(shí)操方法
在本篇文章里小編給大家整理的是一篇關(guān)于php文件后綴不強(qiáng)制為.php的實(shí)操方法,有需要的朋友們參考下。2019-09-09探討php define()函數(shù)及defined()函數(shù)使用詳解
本篇文章是對(duì)php中define()函數(shù)及defined()函數(shù)的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06非常實(shí)用的php彈出錯(cuò)誤警告函數(shù)擴(kuò)展性強(qiáng)
利用php彈出警告的函數(shù),整理到自己的代碼庫中去在遇到錯(cuò)誤的地方可用到此函數(shù),擴(kuò)展性強(qiáng),喜歡的朋友可以收藏下2014-01-01php實(shí)現(xiàn)根據(jù)詞頻生成tag云的方法
這篇文章主要介紹了php實(shí)現(xiàn)根據(jù)詞頻生成tag云的方法,涉及php分析與操作字符串以及標(biāo)簽云的生成技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-04-04