Heim >Backend-Entwicklung >PHP-Tutorial >PHP-WeChat-Browser-Freigabeeinstellungen und Rückrufdetails_php-Beispiel
Die Funktion „Mit Freunden teilen“/„Mit Momenten teilen“ sollte in WeChat relativ üblich sein. Der geteilte Inhalt wird in Moments mit einem kleinen Bild und einer einfachen Einführung angezeigt Details werden nach dem Klicken angezeigt. Auf diese Weise werden dieses kleine Bild und diese kleine Einführung direkt zur obersten Priorität der Klickrate des geteilten Inhalts. Standardmäßig wird dieses Bild als erstes großes Bild im Themenbereich des Inhalts geladen, während die Einleitung nur eine URL lädt. Diese Art der Anzeige ist immer noch recht unbefriedigend. Schauen wir uns also an, wie diese Inhalte eingerichtet sind. Nehmen Sie PHP als Beispiel:
Zuerst müssen wir ein öffentliches Konto haben und die App-ID und das App-Geheimnis erhalten.
Dann können wir das access_token von der WeChat-Plattform über appid und appsecret austauschen.
define("APPID", $appid); define("APPSECRET", $appsecret); // 获取access_token $token_access_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . APPID . "&secret=" . APPSECRET; $res = file_get_contents($token_access_url); //获取文件内容或获取网络请求的内容 $result = json_decode($res, true); //接受一个 JSON 格式的字符串并且把它转换为 PHP 变量 $access_token = $result['access_token'];
Über access_token können wir ein jsapi_ticket von der WeChat-Plattform anfordern:
// 获取jsapi_ticket $ticket_url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=TOKEN"; $res = file_get_contents($ticket_url); //获取文件内容或获取网络请求的内容 $result = json_decode($res, true); //接受一个 JSON 格式的字符串并且把它转换为 PHP 变量 $ticket = $result['ticket'];
Okay, alles ist fertig, wir können mit der Einrichtung beginnen.
WeChat-Freigabeeinstellungen werden über wx.config festgelegt.
<script> wx.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: '<?php echo APPID;?>', // 必填,公众号的唯一标识 timestamp: <?php echo $timestamp;?>, // 必填,生成签名的时间戳 nonceStr: '<?php echo $noncestr;?>', // 必填,生成签名的随机串 signature: '<?php echo $signature;?>',// 必填,签名 jsApiList: ['onMenuShareTimeline','onMenuShareAppMessage'] // 必填,需要使用的JS接口列表 }); </script>
Die mittlere App-ID ist die App-ID unseres offiziellen WeChat-Kontos, Timestamp ist der aktuelle Zeitstempel, Noncestr ist eine zufällige Zeichenfolge, die zum Generieren einer Signatur verwendet wird, Signatur ist die generierte Signatur, Jsapilist ist die WeChat-Schnittstelle, die wir verwenden müssen, hier Wenn Wir können also einfach die beiden Schnittstellen „Teilen an Freunde“ und „Teilen an Moments“ verwenden.
Listen Sie kurz den Zeitstempel-, Noncestr- und Signaturgenerierungsprozess auf:
// 生成签名 // 生成随机字符串 class RandChar{ function getRandChar($length){ $str = null; $strPol = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz"; $max = strlen($strPol)-1; for($i=0;$i<$length;$i++){ $str.=$strPol[rand(0,$max)];//rand($min,$max)生成介于min和max两个数之间的一个随机整数 } return $str; } } $randCharObj = new RandChar(); $noncestr = $randCharObj->getRandChar(16); $timestamp = time(); if ($_SERVER['QUERY_STRING']){ $url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']; }else{ $url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; } $parameters = array("noncestr" => $noncestr, "jsapi_ticket" => $ticket, "timestamp" => $timestamp, "url" => $url); ksort($parameters); $string1 = ""; foreach ($parameters as $key => $val){ $string1 .= $key."=".$val."&"; } $string1 = substr($string1,0,-1); $signature = sha1($string1);
An diesem Punkt haben wir die Konfiguration von wx.config abgeschlossen. Als nächstes können wir die kleinen Bilder und Einführungsinhalte, die wir gerade erwähnt haben, frei festlegen:
wx.ready(function(){ // 分享到朋友圈设置 wx.onMenuShareTimeline({ title: '测试标题', // 分享标题 link: 'http://www.baidu.com', // 分享链接 imgUrl: 'http://mp.weixin.qq.com/wiki/static/assets/dc5de672083b2ec495408b00b96c9aab.png', // 分享图标 success: function () { alert("分享成功"); }, cancel: function () { alert("分享失败"); } }); // 分享给好友 wx.onMenuShareAppMessage({ title: '测试标题', // 分享标题 desc: '测试分享描述', // 分享描述 link: 'http://www.baidu.com', // 分享链接 imgUrl: 'http://mp.weixin.qq.com/wiki/static/assets/dc5de672083b2ec495408b00b96c9aab.png', // 分享图标 type: '', // 分享类型,music、video或link,不填默认为link dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空 success: function () { alert("分享成功"); }, cancel: function () { alert("分享失败"); } }); })
In der Mitte werden auch die Werte „success“ und „cancel“ sehr häufig verwendet. Sie stellen den js-Rückruf nach erfolgreichem Teilen bzw. den Rückruf nach Abbruch des Teilens dar. Sie werden verwendet, um einige Urteile zu fällen und psychologische Testantworten anzuzeigen Nachdem der Benutzer im Freundeskreis geteilt hat, sind die kleinen Funktionen der Klasse immer noch sehr nützlich.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Studium aller hilfreich sein wird. Ich hoffe auch, dass jeder Script House unterstützt.