Cet article présente principalement la fonction de partage de WeChat vers Moments et d'enregistrement du nombre de partages implémentés en PHP. Il analyse les compétences opérationnelles spécifiques de l'interface de fonction de partage PHP WeChat, appelant et partageant des statistiques sur le nombre d'amis dans le besoin. peut s'y référer
L'exemple de cet article décrit la fonction de partage de WeChat vers Moments et d'enregistrement du nombre de partages implémentés en PHP. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
1. Introduisez les fichiers JS
2. Injectez la configuration de vérification des autorisations via l'interface de configuration
3.
4. Le traitement de l'interface d'erreur de réussite a échoué à la vérification
Description du fichier 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) Ajouter la valeur d'obtenir des informations de vérification webconfig à la page
<?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) Vérifier la configuration
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) Partager WeChat vers l'interface Moments
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) Fonction exécutée lorsqu'une erreur de vérification se produit
wx.error(function(res){ alert(res); });
(6) PHP côté met à jour la base de données, enregistre le nombre de partages et de retours Informations sur le processus à l'utilisateur
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 analyse l'explication de l'exemple de classe d'outil de données de format XML
La différence entre les appels statiques de classe et les opérateurs de résolution de plage en PHP
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!