Heim  >  Artikel  >  Backend-Entwicklung  >  So generieren Sie einen QR-Code mit Parametern über die WeChat-Schnittstelle

So generieren Sie einen QR-Code mit Parametern über die WeChat-Schnittstelle

小云云
小云云Original
2018-03-20 15:44:333392Durchsuche

Um den Anforderungen der Benutzerkanal-Werbeanalyse gerecht zu werden, bietet die öffentliche Plattform eine Schnittstelle zum Generieren von QR-Codes mit Parametern. Über diese Schnittstelle können mehrere QR-Codes mit unterschiedlichen Szenenwerten abgerufen werden. Nachdem der Benutzer sie gescannt hat, kann das öffentliche Konto einen Ereignis-Push empfangen.

Wenn der Benutzer den QR-Code mit Szenenwert scannt, können die folgenden zwei Ereignisse ausgelöst werden:
(1) Wenn der Benutzer dem offiziellen Konto nicht gefolgt ist, kann der Benutzer dem offiziellen Konto folgen Konto und folgen Sie ihm auf WeChat Achtung Ereignisse mit Szenenwerten werden an Entwickler weitergeleitet.
(2) Wenn der Benutzer dem offiziellen Konto gefolgt ist, tritt der Benutzer nach dem Scannen automatisch in die Sitzung ein und WeChat sendet außerdem das Scan-Ereignis mit Szenenwert an den Entwickler.

Der Prozess zum Erhalten eines QR-Codes mit Parametern umfasst zwei Schritte: (I) Erstellen Sie zunächst ein QR-Code-Ticket. (II) Verwenden Sie dann das Ticket, um es gegen den QR-Code einzutauschen.

(I) Erstellen Sie zunächst ein QR-Code-Ticket.
Jedes Mal, wenn Sie ein QR-Code-Ticket erstellen, müssen Sie einen vom Entwickler festgelegten Parameter (scene_id) angeben.

/**
 * 首先创建二维码ticket   
 * @param string $sceneid 场景值ID
 * @param string $type   值为'temp'的时候生成临时二维码
 * @param string $expire_seconds   二维码过期时间
 * @return string 二维码ticket 
 */
public function _getTicket($sceneid,$type='temp',$expire_seconds=604800){
	if($type=='temp'){
		$data = '{"expire_seconds": %s, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": %s}}}';
		$data = sprintf($data,$expire_seconds,$sceneid);
	}else{
		$data = '{"action_name": "QR_LIMIT_SCENE", "action_info": {"scene": {"scene_id": %s}}}';
		$data = sprintf($data,$sceneid);
	}
	$curl = 'https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token='.$this->_getAccessToken();
	$content = $this->_request($curl,true,'POST',$data);
	$cont = json_decode($content);
	
	return $cont->ticket;
}


(II) Verwenden Sie dann das Ticket zur angegebenen URL, um es gegen den QR-Code einzutauschen.
Nach Erhalt des QR-Code-Tickets kann der Entwickler das Ticket zum Umtausch gegen den QR verwenden Codebild. Bitte beachten Sie, dass diese Schnittstelle ohne Anmeldung aufgerufen werden kann.

//然后凭借ticket到指定URL换取二维码
public function _getQRCode($sceneid,$type='temp',$expire_seconds=604800){
	$ticket = $this->_getTicket($sceneid,$type,$expire_seconds);
	$curl = 'https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket='.urlencode($ticket);
	$content = $this->_request($curl);
	return $content;
}

Aufrufausgabe:

header('Content-type:image.jpeg');
$result = $wechat->_getQRCode(30);
echo $result;

Der Browser kann den QR-Code direkt ausgeben, bei dem es sich um ein Bild handelt, das direkt angezeigt oder heruntergeladen werden kann.

Verwandte Empfehlungen:

Force.com WeChat-Entwicklung generiert QR-Code mit Parametern

WeChat-Entwicklung generiert QR-Code mit Parametern Beispiele für QR-Codes

WeChat-Entwicklung – PHP-Batch-Generierung von QR-Codes mit Parametern, PHP-Parameter_PHP-Tutorial

Das obige ist der detaillierte Inhalt vonSo generieren Sie einen QR-Code mit Parametern über die WeChat-Schnittstelle. 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