php實現的微信分享到朋友圈並記錄分享次數功能的講解

來源:互聯網
上載者:User
這篇文章主要介紹了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基於數組實現的堆棧和隊列功能樣本詳解

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.