Jeder, der sich bei WeChat angemeldet hat, weiß, dass wir eine Kennung benötigen, um die Einzigartigkeit der Identität des Benutzers aufzuzeichnen. In WeChat ist die UnionId die eindeutige ID, die wir aufzeichnen müssen. Daher wird die Art und Weise, wie wir die UnionId erhalten, zum Schlüssel Projekt in Es ist in zwei Teile unterteilt: Miniprogramm und Hintergrund-PHP-Code.
Beginnen wir mit unserem Mini-Programmcode
Sprechen Sie kurz über den jsCode-Anmeldeprozess unseres Mini-Programms
Anmeldung -> >getUserInfo ruft iv und verschlüsselte Daten ab –> übergibt sie an Ihren eigenen Server zur Verarbeitung –> gibt das Ergebnis an den Applet-
var API_URL = "自己的服务器地址"; Page({ onLoad: function () { console.log("iv"); wx.login({//login流程 success: function (res) {//登录成功 if (res.code) { var code = res.code; wx.getUserInfo({//getUserInfo流程 success: function (res2) {//获取userinfo成功 console.log(res2); var encryptedData = encodeURIComponent(res2.encryptedData);//一定要把加密串转成URI编码 var iv = res2.iv; //请求自己的服务器 Login(code,encryptedData,iv); } }) } else { console.log('获取用户登录态失败!' + res.errMsg) } } }); } })
Code zurück: Wird vom Server zum Abrufen der Sitzung<🎜 verwendet >Erforderliche Parameter für Schlüssel.
Zeichenfolge.
function Login(code,encryptedData,iv){ console.log('code='+code+'&encryptedData='+encryptedData+'&iv='+iv); //创建一个dialog wx.showToast({ title: '正在登录...', icon: 'loading', duration: 10000 }); //请求服务器 wx.request({ url: API_URL, data: { code:code, encryptedData:encryptedData, iv:iv }, method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT header: { 'content-type': 'application/json' }, // 设置请求的 header success: function (res) { // success wx.hideToast(); console.log('服务器返回'+res.data); }, fail: function () { // fail // wx.hideToast(); }, complete: function () { // complete } }) }
Klassen-Dateien mit Ausnahme der Demo unser eigenes Projekt und rufen Sie es später auf.
Hier ist eine Erklärung des Verarbeitungsablaufs des Servers:/** * 登录 * * @return Response */ public function weixinlogin( $user_id=null ) { global $App_Error_Conf,$Gift_Ids,$Server_Http_Path,$Is_Local,$Test_User,$Good_Vcode,$WeiXin_Xd_Conf; $validator_result = input_validator(array('code','iv','encryptedData')); if(!empty($validator_result)){ return response($validator_result); } $js_code = $_REQUEST['code']; $encryptedData = $_REQUEST['encryptedData']; $iv = $_REQUEST['iv']; $appid = $WeiXin_Xd_Conf['appid']; $secret = $WeiXin_Xd_Conf['secret']; $grant_type = $WeiXin_Xd_Conf['grant_type']; //从微信获取session_key $user_info_url = $WeiXin_Xd_Conf['code2session_url']; $user_info_url = sprintf("%s?appid=%s&secret=%s&js_code=%s&grant_type=%",$user_info_url,$appid,$secret,$js_code,$grant_type); $weixin_user_data = json_decode(get_url($user_info_url)); $session_key = $weixin_user_data->session_key; //解密数据 $data = ''; $wxBizDataCrypt = new WXBizDataCrypt($appid, $session_key); $errCode=$wxBizDataCrypt>decryptData($appid,$session_key,$encryptedData, $iv, $data );
Das obige ist der detaillierte Inhalt vonAnweisungen zum Erstellen eines Anmeldevorgangs für die WeChat-Miniprogrammentwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!