この記事では主に、PHP で実装された WeChat の Moments 共有機能と共有数の記録機能を紹介し、PHP WeChat 共有機能インターフェースの呼び出しと共有数統計の具体的な操作スキルを例の形式で分析します。以下を参照してください。
この記事の例では、PHP で実装された WeChat を Moments に共有し、共有数を記録する機能について説明します。参照用に全員と共有します。詳細は次のとおりです:
1. JS ファイルを導入します
2. 構成インターフェイスを介して権限検証構成を挿入します
3. を介して成功した検証を処理します準備完了インターフェイス
4. 合格エラー インターフェイス処理の検証に失敗しました
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) 構成の確認
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) Moments インターフェイスへの WeChat 共有
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); } }
##
以上がWeChatのMomentsへの共有とPHPで実装された共有機能の数の記録についての説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。