Heim > Artikel > WeChat-Applet > Einführung in die Methode zur Generierung von Parameter-QR-Code per Miniprogramm
Wie generiert das WeChat-Applet Parameter-QR-Codes? Im folgenden Artikel erfahren Sie, wie ein kleines Programm Parameter-QR-Codes generiert. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.
Parameter-QR-Code ist, wie der Name schon sagt, ein QR-Code mit Parametern. Da die Parameter nicht festgelegt sind, muss sich der QR-Code mit Parametern entsprechend den Parametern ändern, und es werden unterschiedliche QR-Codes basierend auf unterschiedlichen Parametern generiert.
Parameter-QR-Codes werden in vielen kleinen Programmen verwendet. Wenn es sich beispielsweise um ein kleines Programm zum Erstellen von Lebensläufen handelt, muss es den Benutzern wahrscheinlich die folgenden Funktionen bieten: Hochladen eigener Lebensläufe und Generieren eigener QR-Codes. Ein weiteres Beispiel: Ein kleines Programm zur Online-Produktion von Fotoalben muss dem Benutzer nach Abschluss der Produktion einen QR-Code zur Verfügung stellen, damit jeder den Code scannen kann, um den Inhalt des Albums anzuzeigen. Dies sind die realen Anwendungsszenarien parametrischer QR-Codes. Im heutigen Miniprogramm-Entwicklungs-Tutorial erklären wir, wie das WeChat-Miniprogramm Parameter-QR-Codes generiert.
Zuallererst lautet die offizielle Schnittstellenadresse von WeChat zum Erhalten der Mini-Programmseiten-API wie folgt:
https://api.weixin .qq.com/ cgi-bin/wxapp/createwxaqrcode?access_token=ACCESS_TOKEN
Da die Mini-Programmparameter-QR-Code-API nur begrenzte Hilfe bietet, gehe ich wie folgt vor. Ich realisiere es hauptsächlich über die Backend-Schnittstelle von thinkphp. Der spezifische Code lautet wie folgt:
Schritt 1, zuerst ACCESS_TOKEN erhalten
$tokenUrl=https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=.$this->appid.&secret=.$this->secret; $getArr=array(); $tokenArr=json_decode($this->send_post($tokenUrl,$getArr,GET)); $access_token=$tokenArr->access_token;
send_post:
function send_post($url, $post_data,$method=\'POST\') { $postdata = http_build_query($post_data); $options = array( \'http\' => array( \'method\' => $method, //or GET \'header\' => \'Content-type:application/x-www-form-urlencoded\', \'content\' => $postdata, \'timeout\' => 15 * 60 // 超时时间(单位:s) ) ); $context = stream_context_create($options); $result = file_get_contents($url, false, $context); return $result; }
Schritt 2, QR-Code generieren :
$path=pages/index?query=1; $width=430; $post_data=\'{path:\'.$path.\',width:\'.$width.\'}\'; $url=https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=.$access_token; $result=$this->api_notice_increment($url,$post_data);
api_notice_increment:
function api_notice_increment($url, $data){ $ch = curl_init(); $header = Accept-Charset: utf-8; 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($curl, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_USERAGENT, \'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)\'); 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); // var_dump($tmpInfo); // exit; if (curl_errno($ch)) { return false; }else{ // var_dump($tmpInfo); return $tmpInfo; } }
Schritt 3, generieren Sie ein Bild basierend auf den zurückgegebenen Binärdaten und laden Sie es auf Ihren eigenen Server hoch
file_put_contents($filepath, $result)
Verschiedene Leute nutzen unterschiedliche Server. Dies betrifft den Datenschutz, daher werde ich den Upload-Code nicht veröffentlichen.
Empfohlen: „Mini-Tutorial zur Programmentwicklung“
Das obige ist der detaillierte Inhalt vonEinführung in die Methode zur Generierung von Parameter-QR-Code per Miniprogramm. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!