Explication du partage WeChat vers Moments et enregistrement du nombre de fonctions de partage implémentées en PHP

jacklove
Libérer: 2023-04-02 10:02:02
original
2021 Les gens l'ont consulté

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>
Copier après la connexion

(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.&#39;/addons/lb_vote/jssdk.php&#39;;
include $url;
$jsdk=new JSSDK(&#39;wxa3816b432f7291ba&#39;,&#39;e469db86bec9661650362dc2f9df8956&#39;);
 $signPackage = $jsdk->GetSignPackage();
?>
Copier après la connexion

(3) Vérifier la configuration

wx.config({
debug: false,
appId:&#39;<?php echo $signPackage["appId"];?>&#39;, // 必填,公众号的唯一标识
timestamp:<?php echo $signPackage["timestamp"];?>, // 必填,生成签名的时间戳
nonceStr: &#39;<?php echo $signPackage["nonceStr"];?>&#39;, // 必填,生成签名的随机串
signature:&#39;<?php echo $signPackage["signature"];?>&#39;,// 必填,签名,见附录1
jsApiList: [&#39;checkJsApi&#39;,&#39;onMenuShareTimeline&#39;] //
});
Copier après la connexion

(4) Partager WeChat vers l'interface Moments

wx.ready(function(){
   wx.onMenuShareTimeline({
  title: &#39;测试分享朋友圈功能&#39;, // 分享标题
  link: "{php echo &#39;http://&#39;.$_SERVER[&#39;HTTP_HOST&#39;].$_SERVER[&#39;REQUEST_URI&#39;];}", // 分享链接
  imgUrl: &#39;{php echo $_W[&#39;siteroot&#39;];}{$photo}&#39;, // 分享图标
  success: function () {
    // 用户确认分享后执行的回调函数 记录分享的次数
   $.ajax({
      url:"{php echo $this->createMobileUrl(&#39;Index&#39;,array(&#39;op&#39;=>&#39;share&#39;))}",
      type:&#39;post&#39;,
      data:"id="+{$userinfo[&#39;id&#39;]}+"&rid="+{$userinfo[&#39;rid&#39;]},
      dataType:&#39;json&#39;,
      success:function(data){
       if(data.flags==1){
        alert(data.msg);
       }else if(data.flags==2){
        alert(data.msg);
        location.href="{php echo $this->createMobileUrl(&#39;Index&#39;,array(&#39;op&#39;=>&#39;display&#39;,&#39;id&#39;=>$id))}" rel="external nofollow" ;
       }
      }
     });
  },
  cancel: function () {
    // 用户取消分享后执行的回调函数
    alert(&#39;取消分享成功!&#39;);
  }
   });
});
Copier après la connexion

(5) Fonction exécutée lorsqu'une erreur de vérification se produit

wx.error(function(res){
   alert(res);
});
Copier après la connexion

(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==&#39;share&#39;){
  $voteinfo=pdo_fetch("SELECT *FROM ".tablename(&#39;lb_vote_info&#39;)." WHERE rid = :rid and id=:id and uniacid=:uniacid and pass=:pass", array(&#39;:rid&#39; => $_GPC[&#39;rid&#39;],&#39;:uniacid&#39;=>$_W[&#39;uniacid&#39;],&#39;:pass&#39;=>1,&#39;id&#39;=>$_GPC[&#39;id&#39;]));
 $sharenum=intval($voteinfo[&#39;sharenum&#39;])+1;
 $data=array(
 &#39;sharenum&#39;=>$sharenum,
 );
$res=pdo_update(&#39;lb_vote_info&#39;, $data, array(&#39;id&#39; =>$_GPC[&#39;id&#39;],&#39;uniacid&#39;=>$_W[&#39;uniacid&#39;],&#39;rid&#39;=>$_GPC[&#39;rid&#39;]));
if(!empty($res)){
   $msg[&#39;msg&#39;]=&#39;已分享到朋友圈!&#39;;
   $msg[&#39;flags&#39;]=2;
   echo json_encode($msg);
}else{
  $msg[&#39;msg&#39;]=&#39;分享失败!&#39;;
  $msg[&#39;flags&#39;]=1;
   echo json_encode($msg);
}
}
Copier après la connexion

Articles qui pourraient vous intéresser :

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

Explication détaillée d'exemples de fonctions de pile et de file d'attente implémentées en PHP basées sur des tableaux

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!