Heim > WeChat-Applet > Mini-Programmentwicklung > Kurze Einführung: Implementieren Sie die autorisierte Anmeldefunktion des Miniprogramms

Kurze Einführung: Implementieren Sie die autorisierte Anmeldefunktion des Miniprogramms

WBOY
Freigeben: 2023-01-06 16:31:09
nach vorne
5533 Leute haben es durchsucht

Dieser Artikel bringt Ihnen relevantes Wissen über das WeChat Mini-Programm. Er stellt vor allem die Implementierung der autorisierten Login-Funktion des Mini-Programms vor. Ich hoffe, dass es für alle hilfreich ist.

Kurze Einführung: Implementieren Sie die autorisierte Anmeldefunktion des Miniprogramms

[Verwandte Lernempfehlungen: Mini-Programm-Lern-Tutorial]

In unserer täglichen Arbeit, unserem Studium und unserem Leben sind WeChat-Miniprogramme zu einem untrennbaren Teil von uns geworden, wann immer wir sie verwenden Wenn Sie ein neues Miniprogramm verwenden, werden Sie immer auf die folgende Seite stoßen:

Kurze Einführung: Implementieren Sie die autorisierte Anmeldefunktion des Miniprogramms

Dies ist die autorisierte Anmeldefunktion des WeChat-Miniprogramms. Nach der autorisierten Anmeldung können wir das Miniprogramm normal verwenden, und das Miniprogramm wird dies auch tun Erhalten Sie unsere Benutzerrechte, Mobiltelefonnummer und andere persönliche Informationen.

Analyse der autorisierten Anmeldefunktion.

Die spezifischen Schritte für die autorisierte Anmeldung des WeChat-Applets lauten wie folgt Die folgenden drei Schritte:

Kurze Einführung: Implementieren Sie die autorisierte Anmeldefunktion des Miniprogramms

Rufen Sie die WeChat-API wx.login() auf, um den temporären Anmeldeinformationscode zu erhalten, und senden Sie ihn an den Entwicklerserver zurück.

Rufen Sie die WeChat-API-Schnittstelle auth.code2Session auf, um die eindeutige Kennung des Benutzers zu erhalten OpenID und das offene WeChat-Plattformkonto des Benutzers UnionID und Sitzungsschlüssel session_key eindeutig identifizieren
  • Entschlüsseln Sie die in Schritt 2 erhaltenen Parameter, um die Mobiltelefonnummer, den Avatar und andere Merkmale des Benutzers zu erhalten, und speichern Sie die erforderlichen Daten im Cache
  • Der Implementierungscode für den Schritt lautet wie folgt:
  • 1. Besorgen Sie sich den temporären Anmeldeinformationscode

Da WeChat die getUserInfo-Schnittstelle offiziell geändert hat, ist es jetzt nicht mehr möglich, das Autorisierungsfenster automatisch zu öffnen, sobald Sie das eingeben WeChat-Applet, daher können wir den Benutzer es nur manuell über die Schaltfläche auslösen lassen.

Schreiben wir zunächst ein einfaches Popup-Fenster, das von der Variablen

isShow gesteuert wird. isShow hängt von den Cache-Informationen in Schritt 3 ab. Wenn alle Schritte ausgeführt werden Wenn Sie fertig sind, werden die Benutzerinformationen korrekt zwischengespeichert. Andernfalls wird das Popup-Feld ausgeblendet Status anzeigen

  <view>
        <view>
          <text>需要先授权获取个人信息</text>
          <button>微信账号快速授权</button>
        </view>
  </view>
Nach dem Login kopieren

Wenn auf die Schaltfläche geklickt wird, wird die Methode getUserInfo aufgerufen , isShow ist auf false gesetzt und wx.login wird verwendet, um den Anmeldeinformationscode zu erhalten

getUserInfo:e=>{      this.setData({        isShow:false
      })

      wx.login({        success: function (res) {               let code = res.code // 登录凭证code
         }
      })
      
  }
Nach dem Login kopieren

Kurze Einführung: Implementieren Sie die autorisierte Anmeldefunktion des Miniprogramms 2. Erhalten Sie die Benutzeranmeldeinformationen basierend auf dem Anmeldeinformationscode

Nachdem Sie den Anmeldeinformationscode erhalten haben, rufen Sie die auf auth.code2Session WeChat-API-Schnittstelle (dies ist ein serverseitiger Vorgang, der Back-End-Chef kümmert sich darum, wir können einfach die Schnittstelle, die er uns gegeben hat, direkt aufrufen)

         wx.request({                url: 获取用户信息的auth.code2Session微信api接口,                method: 'POST',                data:{                  code:code//登录凭证code
                },                header: {                  'content-type': 'application/json;charset=UTF-8'
                },                
                success: function (res) {                  var userphone= res.data.data                  //解密手机号
                  var msg = e.detail.errMsg;                  var sessionKey = userphone.session_key;//会话密钥
                  var encryptedData=e.detail.encryptedData; //签名
                  var unionid = userphone.unionid//唯一标识
                  var iv= e.detail.iv;                  //授权成功
                  if (msg == 'getPhoneNumber:ok') {
                    wx.checkSession({                      success:function(){                        //进行请求服务端解密手机号
                        this.deciyption(sessionKey,encryptedData,iv,unionid);
                      }
                    })
                  }
                }
              })
        }
      })
Nach dem Login kopieren
Zu diesem Zeitpunkt haben wir bereits die meisten Benutzerinformationen erhalten , aber die Mobiltelefonnummer des Benutzers, der Benutzer-Avatar und andere Informationen sind immer noch verschlüsselt, um diese Parameter zu erhalten

3. Entschlüsseln Sie die Mobiltelefonnummer des Benutzers und erhalten Sie sie entsprechend den Benutzerinformationen

deciyption(sessionKey,encryptedData,iv,unionid){    var that = this;
    wx.request({      url: 解密接口,      method: 'POST',      data: {        sessionKey: sessionKey,        encryptedData:encryptedData,        iv: iv
      },      header: {        'content-type': 'application/json;charset=UTF-8'
      },      success: function(res) {
        let data = res.data        if (data.resultCode == 'success') {
            wx.setStorageSync('userTel', data.data.phoneNumber);//存储解密后的用户手机号
        }else{
            wx.showToast({                title: '获取信息失败请重新授权',                icon: 'none'
            })
            that.setData({                isShow:true
            })
        }    
      },
      fail:function(res) {
        wx.showToast({            title: '获取失败请重新授权',            icon: 'none'
        })
        that.setData({          isShow:true
        })
      }
    })
  },
Nach dem Login kopieren
Dabei Sobald die autorisierte Anmeldefunktion abgeschlossen ist

【Verwandte Lernempfehlungen:

Mini-Programm-Lern-Tutorial

Das obige ist der detaillierte Inhalt vonKurze Einführung: Implementieren Sie die autorisierte Anmeldefunktion des Miniprogramms. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:juejin.im
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage