Cet article présente principalement les informations pertinentes sur l'explication détaillée de l'exemple de rappel de l'applet WeChat-getUserInfo. J'espère que cet article pourra aider tout le monde à comprendre et à maîtriser cette partie du contenu. peut aider tout le monde.
Explication détaillée d'exemples de rappel de l'applet WeChat-getUserInfo
Avant-propos :
Je ne me vanterai pas à propos de l'applet WeChat ici Quelle est la puissance du programme, après tout, ce n'est pas moi qui l'ai écrit. Laissez-moi juste parler des bugs étranges que j'ai rencontrés lors du développement de petits programmes.
getUserInfo est appelé plusieurs fois :
Pour wx.getUserInfo, de nombreux développeurs auraient dû l'utiliser pour obtenir des informations utilisateur de base. Le principe est que l'autorisation de l'utilisateur est requise. Si l'utilisateur S'il n'y a pas d'autorisation auparavant, une boîte de dialogue apparaîtra comme suit :
Après avoir cliqué sur Autoriser, nous pouvons obtenir les informations de l'utilisateur et effectuer une série de mesures ultérieures. opérations. Tout cela a l'air si bien, mais lors d'une certaine exécution, après avoir cliqué sur Autoriser l'autorisation, le programme ne s'est pas exécuté comme prévu. Enfin, j'ai découvert que la méthode wx.getUserInfo était également appelée à d'autres endroits et qu'un seul des rappels pour une autorisation réussie était exécuté. Supposons le code suivant :
Conclusion :
1 Si l'utilisateur a autorisé : A B C sera imprimé.
2. L'utilisateur n'est pas autorisé : Après avoir cliqué sur Autoriser, l'un des trois A B C sera imprimé de manière aléatoire.
Bien sûr, il est préférable de ne pas appeler la méthode wx.getUserInfo à plusieurs endroits en même temps, sinon ce sera un casse-tête si vous rencontrez ce problème. Mon point de vue sur ce problème est que l'appel de la méthode getUserInfo plusieurs fois ne générera qu'une instance de la fenêtre contextuelle. Ainsi, lorsque vous cliquez sur Autoriser, il est normal d'exécuter le rappel une seule fois, mais il est étrange d'en exécuter un au hasard. les méthodes.
Solution :
1. Ne pas appeler la méthode wx.getUserInfo en même temps Il y a très peu de situations où il est nécessaire de l'appeler en même temps. temps.
2. Encapsulez une méthode getUserInfo, stockez la méthode de rappel entrante dans un tableau et effacez le tableau après avoir parcouru les appels dans le rappel de réussite/échec d'autorisation.
Voici l'environnement de test :
Version de l'outil de développement WeChat : v1.01.170925
Version de la bibliothèque de base : 1.3.0
Recommandations associées :
javascript - décryptage de encryptData dans wx.getUserInfo du mini programme
Comment implémenter le mini programme WeChat pour revenir aux pages à plusieurs niveaux
Explication détaillée du modèle de mini-programme WeChat
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!