Maison >développement back-end >tutoriel php >Comment générer un code QR avec des paramètres via l'interface WeChat

Comment générer un code QR avec des paramètres via l'interface WeChat

小云云
小云云original
2018-03-20 15:44:333477parcourir

Afin de répondre aux besoins d'analyse de la promotion des canaux utilisateurs, la plateforme publique propose une interface de génération de codes QR avec paramètres. Grâce à cette interface, plusieurs codes QR avec différentes valeurs de scène peuvent être obtenus. Une fois que l'utilisateur les a scannés, le compte public peut recevoir des événements.

Lorsqu'un utilisateur scanne un code QR avec une valeur de scène, les deux événements suivants peuvent être poussés :
(1) Si l'utilisateur n'a pas suivi le compte officiel, l'utilisateur peut suivre le compte officiel et suivez-le sur WeChat Attention, les événements avec des valeurs de scène seront transmis aux développeurs.
(2) Si l'utilisateur a suivi le compte officiel, l'utilisateur entrera automatiquement dans la session après la numérisation, et WeChat transmettra également l'événement de numérisation avec la valeur de scène au développeur.

Le processus d'obtention d'un code QR avec paramètres comprend deux étapes : (I) Créez d'abord un ticket de code QR ; (II) Utilisez ensuite le ticket vers l'URL spécifiée pour échanger le code QR ;

(I) Créez d'abord un ticket de code QR
Chaque fois que vous créez un ticket de code QR, vous devez fournir un paramètre (scene_id) défini par le développeur.

/**
 * 首先创建二维码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) Utilisez ensuite le ticket à l'URL spécifiée pour échanger le code QR
Après avoir obtenu le ticket du code QR, le développeur peut utiliser le ticket pour échanger le QR image-code. Veuillez noter que cette interface peut être appelée sans vous connecter.

//然后凭借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;
}

Sortie d'appel :

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

Le navigateur peut directement afficher le code QR, qui est une image qui peut être directement affichée ou téléchargée.

Recommandations associées :

Le développement Force.com WeChat génère un code QR avec des paramètres

Le développement WeChat génère un code QR avec des paramètres Exemples de codes QR

Développement WeChat - Génération par lots Php de codes QR avec paramètres, tutoriel paramètres php_PHP

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