In diesem Artikel wird hauptsächlich die automatische Anmelde- und Registrierungsfunktion des WeChat-Code-Scannens in PHP vorgestellt und die PHP-WeChat-QR-Code-Erkennungsschnittstelle und die damit verbundenen Nutzungsfähigkeiten anhand von Beispielen analysiert
WeChat-Entwicklung ist mittlerweile eine grundlegende Technologie, die Programmierer beherrschen müssen. Tatsächlich weiß jeder, der WeChat-Entwicklung gemacht hat, dass die WeChat-Schnittstelle sehr leistungsfähig und sehr einfach zu implementieren ist 🎜>
Fügen Sie zunächst ein Logo zum WeChat-Link hinzu, um einen QR-Code zu generieren
Der Link lautet beispielsweise https: //open.weixin.qq.com/connect /oauth2/authorize?appid='.$appid.'&redirect_uri='.$url.'&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect' Wir können viel Aufhebens um den Status machen, denn welcher Status Sie an WeChat übergeben, gibt zurück, was als Kennung für den Server und das WeChat-Segment verwendet werden kann:public function creatqrAction(){ if($_GET['app']){ $wtoken=$_COOKIE['wtoken']; $postdata=$_SESSION['w_state']; if($wtoken){ $postdata=$wtoken; } include CONFIG_PATH . 'phpqrcode/'.'phpqrcode.php' $sh=$this->shar1(); $value="https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx138697ef383a9167&redirect_uri=http://www.xxx.net/login/wcallback&response_type=code&scope=snsapi_userinfo&state=".$postdata."&connect_redirect=1#wechat_redirect"; $errorCorrectionLevel = "L"; $matrixPointSize = "5"; QRcode::png($value, false, $errorCorrectionLevel, $matrixPointSize); } }
< festlegen 🎜>, und dann können wir die Daten in der wcallback-Methode verarbeiten, die vom Benutzer generierte Sitzung einfügen und zur Anmeldung springen. Sobald der Status erhalten ist, können auf der PC-Seite mehrere Einstellungen vorgenommen werden Nach der Verarbeitung im WeChat-Browser kann das Fenster geschlossen werden:
document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() { WeixinJSBridge.call('closeWindow');}, false);
Sie können auch autorisieren und zu springen Die WeChat-Dienstkonto-Folgeseite nach erfolgreicher Anmeldung:
header("Location: weixin://profile/gh_a5e1959f9a4e"); wcallback方法做处理登陆 $code = $_GET['code']; $state = $_GET['state']; $setting = include CONFIG_PATH . 'setting.php' $appid=$setting['weixin']['appid']; $appsecret=$setting['weixin']['appsecret']; if (emptyempty($code)) $this->showMessage('授权失败'); try{ $token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$appsecret.'&code='.$code.'&grant_type=authorization_code' $token = json_decode($this->https_request($token_url)); }catch(Exception $e) { print_r($e); } if (isset($token->errcode)) { echo '错误:'.$token->errcode; echo '错误信息:'.$token->errmsg; exit; } $access_token_url = 'https://api.weixin.qq.com/sns/oauth2/refresh_token?appid='.$appid.'&grant_type=refresh_token&refresh_token='.$token->refresh_token; //转成对象 $access_token = json_decode($this->https_request($access_token_url)); if (isset($access_token->errcode)) { echo '错误:'.$access_token->errcode; echo '错误信息:'.$access_token->errmsg; exit; } $user_info_url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token->access_token.'&openid='.$access_token->openid.'&lang=zh_CN' //转成对象 $user_info = json_decode($this->https_request($user_info_url)); if (isset($user_info->errcode)) { echo '错误:'.$user_info->errcode; echo '错误信息:'.$user_info->errmsg; exit; } //打印用户信息 // echo '' // print_r($user_info); // echo ''
Der Download der phpqrcode-Klassenbibliothek ist hier nicht verfügbar. Sie können sie auf Baidu suchen und herunterladen
Beispiel für die automatische Anmeldung für die Magento WeChat QR-Code-Scan-Website
https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&lang=zh_CN
Wenn man sich den Post-Authorization-Schnittstellenaufruf (UnionID) ansieht, ist es nicht schwer festzustellen, dass das Eingeben der Rückrufadresse und die Bestätigung der Anmeldung am PC durch den Benutzer zu
public function wcallbackAction(){ $code = $_GET['code']; $state = $_GET['state']; $setting = include CONFIG_PATH . 'setting.php'; $appid=$setting['weixin']['appid']; $appsecret=$setting['weixin']['appsecret']; if (emptyempty($code)) $this->showMessage('授权失败'); try{ $token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$appsecret.'&code='.$code.'&grant_type=authorization_code'; $token = json_decode($this->https_request($token_url)); }catch(Exception $e) { print_r($e); } if (isset($token->errcode)) { echo '<h1>错误:</h1>'.$token->errcode; echo '<br/><h2>错误信息:</h2>'.$token->errmsg; exit; } $access_token_url = 'https://api.weixin.qq.com/sns/oauth2/refresh_token?appid='.$appid.'&grant_type=refresh_token&refresh_token='.$token->refresh_token; //转成对象 $access_token = json_decode($this->https_request($access_token_url)); if (isset($access_token->errcode)) { echo '<h1>错误:</h1>'.$access_token->errcode; echo '<br/><h2>错误信息:</h2>'.$access_token->errmsg; exit; } $user_info_url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token->access_token.'&openid='.$access_token->openid.'&lang=zh_CN'; //转成对象 $user_info = json_decode($this->https_request($user_info_url)); if (isset($user_info->errcode)) { echo '<h1>错误:</h1>'.$user_info->errcode; echo '<br/><h2>错误信息:</h2>'.$user_info->errmsg; exit; } //打印用户信息 // echo '<pre class="brush:php;toolbar:false">'; // print_r($user_info); // echo ''; //获取unionid $uid=$user_info->unionid; } //用户操作处理 分为再次登录和第一次登陆 $sql="select h_user_id from dtb_user_binded as t1 left join dtb_user_weixin as t2 on t1.u_id=t2.id where t1.u_type='". User::$arrUtype['weixin_num_t']."' and t2.openid='$user_info->unionid'"; $h_user_id = Core_Db::getOne($sql); if(!emptyempty($h_user_id)){//该weixin号再次登录 }{//该weixin号第一次登录 }
Detaillierte Erläuterung der Datenverschlüsselung und -entschlüsselung, die durch die symmetrische PHP-Verschlüsselungsfunktion implementiert werden
Prinzip und Implementierung von PHP-Bilderkennungstechnologie
PATH_SEPARATOR ermittelt die aktuelle Instanz des Serversystemtyps
Das obige ist der detaillierte Inhalt vonSo implementieren Sie die automatische Anmelde- und Registrierungsfunktion des WeChat-Code-Scans in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!