In diesem Artikel werden hauptsächlich relevante Informationen zum WeChat-Applet-getUserInfo-Rückrufbeispiel vorgestellt. Ich hoffe, dass dieser Artikel jedem helfen kann, diesen Teil des Inhalts zu verstehen und zu beherrschen kann jedem helfen.
Detaillierte Erläuterung von Beispielen für den WeChat-Applet-getUserInfo-Rückruf
Vorwort:
Ich werde nicht prahlen Über das WeChat-Applet hier Wie leistungsfähig das Programm ist, schließlich wurde es nicht von mir geschrieben. Lassen Sie mich nur über die seltsamen Fehler sprechen, auf die ich bei der Entwicklung kleiner Programme gestoßen bin.
getUserInfo wird mehrmals aufgerufen:
Für wx.getUserInfo hätten viele Entwickler es verwenden sollen, um grundlegende Benutzerinformationen abzurufen. Die Voraussetzung ist, dass eine Benutzerautorisierung erforderlich ist. Wenn der Benutzer zuvor keine Autorisierung hat, wird ein Eingabeaufforderungsfeld wie folgt angezeigt:
Nachdem wir auf „Zulassen“ geklickt haben, können wir die Benutzerinformationen abrufen und eine Reihe nachfolgender Schritte ausführen Operationen. Das sieht alles so gut aus, aber während eines bestimmten Laufs wurde das Programm nach dem Klicken auf „Autorisierung zulassen“ nicht wie erwartet ausgeführt. Schließlich stellte ich fest, dass die Methode wx.getUserInfo auch an anderen Stellen aufgerufen wurde und nur einer der Rückrufe für eine erfolgreiche Autorisierung ausgeführt wurde. Gehen Sie von folgendem Code aus:
Schlussfolgerung:
1. Wenn der Benutzer autorisiert ist: A B C wird gedruckt.
2. Der Benutzer ist nicht autorisiert: Nach dem Klicken auf Zulassen wird eines von drei A B C zufällig gedruckt.
Natürlich ist es am besten, die Methode wx.getUserInfo nicht an mehreren Stellen gleichzeitig aufzurufen, da es sonst Kopfschmerzen bereitet, wenn Sie auf dieses Problem stoßen. Meiner Meinung nach zu diesem Problem wird durch mehrmaliges Aufrufen der getUserInfo-Methode nur eine Instanz des Popup-Fensters generiert. Wenn Sie also auf „Zulassen“ klicken, ist es normal, den Rückruf nur einmal auszuführen, aber es ist seltsam, einen davon zufällig auszuführen die Methoden.
Lösung:
1. Rufen Sie die Methode wx.getUserInfo nicht gleichzeitig auf. Es gibt nur sehr wenige Situationen, in denen es notwendig ist, sie gleichzeitig aufzurufen Zeit.
2. Kapseln Sie eine getUserInfo-Methode, speichern Sie die eingehende Callback-Methode in einem Array und löschen Sie das Array, nachdem Sie die Aufrufe im Autorisierungs-Erfolgs-/Fehler-Callback durchlaufen haben.
Das Folgende ist die Testumgebung:
Version des WeChat-Entwicklertools: v1.01.170925
Basisbibliotheksversion: 1.3.0
Verwandte Empfehlungen:
Javascript – Entschlüsselung von encryptData im wx.getUserInfo-Miniprogramm
So implementieren Sie die Rückgabe von mehrstufigen Seiten im WeChat-Miniprogramm
Detaillierte Erläuterung der WeChat-Miniprogrammvorlage
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des WeChat-Applet-Rückrufs getUserInfo. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!