Heim  >  Artikel  >  WeChat-Applet  >  Das WeChat-Miniprogramm generiert einen QR-Code mit Parametern und Miniprogrammcode

Das WeChat-Miniprogramm generiert einen QR-Code mit Parametern und Miniprogrammcode

马冠亚
马冠亚Original
2020-07-09 11:26:56235Durchsuche

Das WeChat-Applet generiert einen QR-Code mit Parametern

Der Beamte stellt drei Schnittstellenaufrufe zur Verfügung. Sie können sie entsprechend Ihrer tatsächlichen Situation verwenden. Ich verwende hier Schnittstelle B und Schnittstelle C.

Offizielle Dokumentenadresse

Geschäftsanforderungen:
Scannen Sie den QR-Code, um die angegebene Adresse einzugeben Produktseite, der erforderliche Parameter ist die Produkt-ID (goods_id).

1. Schauen Sie sich zuerst die Renderings an:

Das WeChat-Miniprogramm generiert einen QR-Code mit Parametern und MiniprogrammcodeDas WeChat-Miniprogramm generiert einen QR-Code mit Parametern und Miniprogrammcode

2. PHP-Code-Implementierung

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;
 }

Hinweis: Die Parametermethode zum Empfangen der Szene in der WeChat-Applet-JS-Datei (der Applet-Code muss sie auf diese Weise empfangen)

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

1. Vom Front-End empfangener Szenenwert Analyse:
Was Sie in der Szene im PHP-Code übergeben, ist das, was hier von der Szene übergeben wird, ist 20, wenn die von der Szene übergebene Waren-ID = 20 ist druckt waren_id=20

2. Es gibt eine Option zum Kompilieren über QR-Code in den WeChat-Entwicklertools. Sie können diese auch verwenden, um Ihren generierten Code zu testen, siehe Bild unten:

Das WeChat-Miniprogramm generiert einen QR-Code mit Parametern und Miniprogrammcode

3. Scannen Sie den QR-Code oder Mini-Programmcode mit Ihrem Mobiltelefon, um standardmäßig auf die Entwicklungsversion zuzugreifen Testversion.


Das obige ist der detaillierte Inhalt vonDas WeChat-Miniprogramm generiert einen QR-Code mit Parametern und Miniprogrammcode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn