Maison > développement back-end > tutoriel php > Code d'implémentation pour scanner le code QR à suivre et suivre en un clic le compte officiel WeChat

Code d'implémentation pour scanner le code QR à suivre et suivre en un clic le compte officiel WeChat

小云云
Libérer: 2023-03-21 15:42:02
original
16290 Les gens l'ont consulté

Cet article partage principalement avec vous le code d'implémentation de la numérisation du code QR pour suivre et suivre en un clic le compte public WeChat, dans l'espoir d'aider tout le monde à mieux développer la fonction de compte public WeChat.

 * 获取一键关注授权标识
 * */
public function getIdentification()
{
    $burl = "https://api.weixin.qq.com/cgi-bin/get_current_selfmenu_info?access_token=" . $this->access_tokens . "";
    $result = curl_get($burl);
    preg_match('/__biz.*&mid/', $result, $matches);//正则截取字符串
    $sVid = $this->get_between($matches[0], "__biz=", "==&mid");//截取出微信公众号唯一标识
    $okurl="https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=".$sVid."==&scene=124#wechat_redirect";
    jumpUrl($okurl);

}
Copier après la connexion

Méthode personnalisée php pour intercepter la partie médiane de la chaîne, elle est utilisée ci-dessus, postez-la

/* * php截取指定两个字符之间字符串 * */function get_between($input, $start, $end)
{    $substr = substr($input, strlen($start) + strpos($input, $start), 
(strlen($input) - strpos($input, $end)) * (-1));    return $substr;}
Copier après la connexion

Scannez le code sur le compte officiel WeChat pour suivre le code !

Scannez d'abord le code avant et après le compte officiel WeChat pour suivre le code qui n'est pas séparé

<?php
header("Content-type: text/html; charset=utf-8");
//http://pay.sucaihuo.com/project/access_token
//php获取微信access_token,appid和app_secret得到微信access_token
//php根据appid和secret获取微信access_token,php通过curl远程获取微信access_token信息
$appid = &#39;自己公众号的appid&#39;;
$secret = &#39;自己公众号的secret &#39;;
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . $appid . "&secret=" . $secret . "";
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
if($result == false)
{
    echo &#39;Curl error: &#39; . curl_error($ch);
}
curl_close($ch);
$access_tokens = json_decode($result, true);
//print_r($access_tokens);
$access_token = $access_tokens[&#39;access_token&#39;];
function getTemporaryQrcode($access_token, $orderId) {
    $url = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=" . $access_token . "";
    $qrcode = &#39;{"expire_seconds": 1800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": &#39; . $orderId . &#39;}}}&#39;;
    $result = api_notice_increment($url, $qrcode);
    $rs = json_decode($result, true);
    return $rs;
//    return urldecode($rs[&#39;url&#39;]);
}
$rs = getTemporaryQrcode($access_token, 1123);
//print_r($rs);
$ticket = $rs[&#39;ticket&#39;];
$qrcode = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=" . $ticket . "";
//print_r($qrcode);
function api_notice_increment($url, $data) {
    $ch = curl_init();
//    $header = "Content-type: text/xml";
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
//    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    curl_setopt($ch, CURLOPT_USERAGENT, &#39;Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)&#39;);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $tmpInfo = curl_exec($ch);
    if (curl_errno($ch)) {
        curl_close($ch);
        return $ch;
    } else {
        curl_close($ch);
        return $tmpInfo;
    }
}
?>
<p style="text-align: center;">
<p>关注素材火公众号</p>
<img src="<?php echo $qrcode; ?>" alt="关注公众号二维码" style="width:100px;height:100px;"/>
</p>
Copier après la connexion

puis mettez le code modifié dans l'interface

post méthode

class Wxfollow
{
    protected $appid = &#39;wxf1d959b99f33b156&#39;;
    protected $secret = &#39;248f3a560604555ec96215c085cb2723&#39;;
    protected $url = "";
    protected $access_tokens = "";


   public function __construct()
    {
        //获取$access_token
        $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . $this->appid . "&secret=" . $this->secret . "";
        $result = curl_post($url);
        $access_tokens = json_decode($result, true);
        $this->access_tokens = $access_tokens[&#39;access_token&#39;];

    }
    public function Follow(){
        //非必传项
        $rs = $this->getTemporaryQrcode($this->access_tokens, 123);
        $ticket = $rs[&#39;ticket&#39;];
        $qrcode = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=" . $ticket . "";
        ///打印二维码显示
        jumpUrl($qrcode);
    }

//生成二维码
    public function getTemporaryQrcode($access_tokens,$orderId)
    {
        $url = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=" .$access_tokens . "";
//生成二维码需要的参数
        $qrcode = &#39;{"expire_seconds": 1800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": &#39; . $orderId . &#39;}}}&#39;;
        $momo = json_decode($qrcode, true);

        $result = curl_post($url, $momo);
        $rs = json_decode($result, true);
        return $rs;
    }
Copier après la connexion

classe d'encapsulation curl

function curl_post($url, array $params = array())
{
    $data_string = json_encode($params);
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
    curl_setopt($ch, CURLOPT_HTTPHEADER,
        array(
            &#39;Content-Type: application/json&#39;
        )
    );
    $data = curl_exec($ch);
    curl_close($ch);
    return ($data);
}
Copier après la connexion

Recommandations associées :

Utilisez php pour déterminer si l'utilisateur suit le compte public WeChat

Comment générer automatiquement des abonnés en fonction du code d'identification WeChat Image du code QR du compte public WeChat

Développement en arrière-plan PHP Exemple de compte public WeChat

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