php實現(xiàn)的微信分享到朋友圈并記錄分享次數(shù)功能

本文實例講述了php實現(xiàn)的微信分享到朋友圈并記錄分享次數(shù)功能。分享給大家供大家參考,具體如下:
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"];?>',// 必填,簽名,見附錄1
jsApiList: ['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 () {
    // 用戶確認分享后執(zhí)行的回調函數(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í)行的回調函數(shù)
    alert('取消分享成功!');
  }
   });
});

(5)驗證錯誤時執(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);
}
}
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,578評論 19 139
  • 先引入JS 文件 this.wxShare() 在created里調用 首先登陸微信公眾號 JSSDK使用步驟 步...
    寄魚予海與你閱讀 6,959評論 1 3
  • 1. 準備工作 1.1 查看公眾號分享接口權限 要使用微信SDK必須要有經(jīng)過微信認證的非個人服務號 登陸服務號后,...
    sxplus閱讀 6,724評論 0 2
  • 7 變量存儲細節(jié) %p 輸出地址 當?shù)谝蛔兞繒r,首先會分配地址大的字節(jié),所以先定義的變量地址大于后定義的變量地址 ...
    163163nba閱讀 526評論 0 49
  • 在霧中 樹木煙籠 人影朦朧 你喜歡被霧包裹的感覺 誰也看不到誰 自由自在與世隔絕 可是還是有人認出了你 在濃濃的白...
    星寞閱讀 318評論 0 2

友情鏈接更多精彩內容