Maison  >  Article  >  Applet WeChat  >  Le mini programme WeChat génère un code QR avec des paramètres et un mini code de programme

Le mini programme WeChat génère un code QR avec des paramètres et un mini code de programme

马冠亚
马冠亚original
2020-07-09 11:26:56165parcourir

L'applet WeChat génère un code QR avec des paramètres

Le fonctionnaire propose trois appels d'interface Vous pouvez les utiliser en fonction de votre situation réelle. J'utilise ici l'interface B et l'interface C.

Adresse officielle du document

Exigences commerciales :
Scannez le code QR pour saisir le numéro désigné page produit, le paramètre requis est l'identifiant du produit (goods_id).

1. Regardez d'abord les rendus :

Le mini programme WeChat génère un code QR avec des paramètres et un mini code de programmeLe mini programme WeChat génère un code QR avec des paramètres et un mini code de programme

2. Implémentation du code PHP

public function pathImg(){
    $goods_id = '20'; //商品id
    //配置APPID、APPSECRET
    $APPID = "填写你的小程序appid"; 
    $APPSECRET =  "填写你的小程序APPSECRET"; 
    //获取access_token
    $access_token = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$APPID&secret=$APPSECRET";
    $json = $this->httpRequest($access_token);
       $json = json_decode($json,true); 
       $ACCESS_TOKEN = $json['access_token'];
       //如果要获取小程序码,请求这个接口
    $qcode ="https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=$ACCESS_TOKEN";
    $param = json_encode(array("page"=>"pages/comm_details/comm_details","scene"=>$goods_id));
    //如果要获取二维码,请求这个接口
    // $qcode ="https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=$ACCESS_TOKEN";
    // $param = json_encode(array("path"=>"pages/comm_details/comm_details?goods_id=19","width"=> 150));
    //POST参数
    $result = $this->httpRequest($qcode, $param, "POST");
    //生成二维码
    file_put_contents("qrcode.png", $result); 
    //qrcode.png这个就是你生成的二维码图片,可以存到你指定的路径,例如:/update/img/qrcode.png
    $base64_image ="data:image/jpeg;base64,".base64_encode($result);
    echo $base64_image;
}
//curl请求
public function httpRequest($url, $data='', $method='GET'){
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
    if($method=='POST'){
        curl_setopt($curl, CURLOPT_POST, 1);
        if ($data != ''){
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
        }
       }
    curl_setopt($curl, CURLOPT_TIMEOUT, 30);
    curl_setopt($curl, CURLOPT_HEADER, 0);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($curl);
    curl_close($curl);
    return $result;
 }

Remarque : La méthode de paramètre pour recevoir la scène dans le fichier js de l'applet WeChat (le code de l'applet doit la recevoir de cette façon)

Page({
    onLoad: function(options) {
        // options 中的 scene 需要使用 decodeURIComponent 才能获取到生成二维码时传入的 scene
        var scene = decodeURIComponent(options.scene)
        console.log(scene)
    }
})

1. analyse :
Ce que vous transmettez dans la scène dans le code php est ce qui est reçu. Le 20 transmis par la scène ici est 20 une fois imprimé. Si le good_id=20 est transmis par la scène, alors le front-end. imprime good_id=20

2. Il existe une option pour compiler via le code QR dans les outils de développement WeChat. Vous pouvez également l'utiliser pour tester votre code généré, voir l'image ci-dessous :

<.>Le mini programme WeChat génère un code QR avec des paramètres et un mini code de programme

3. Scannez le code QR ou le code du mini programme avec votre téléphone portable pour accéder par défaut à la version en ligne. Je ne sais pas s'il peut être configuré pour accéder à la version de développement ou à la version en ligne. version d'essai.


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!

Déclaration:
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