本文主要介绍微信小程序-getUserInfo回调的例子详解的相关信息。希望这篇文章能帮助大家理解和掌握这部分内容。有需要的朋友可以参考一下。
前言:
这里就不吹嘘微信小程序有多厉害了。毕竟不是我写的。直接说我做小程序开发时遇到的奇怪Bug吧。
GetUserInfo被调用多次:
对于wx.getUserInfo,应该是很多开发者用来获取用户基本信息的,前提是需要用户授权。如果用户之前没有被授权,会弹出如下提示框:
点击后,我们就可以得到用户信息,然后进行下面的一系列操作。这一切看起来都那么美好,但是在某次操作中,程序在授权后并没有按照我们的预期进行。最后发现在其他地方调用了一次wx.getUserInfo方法,只执行了一次授权成功的回调。假设是下面的代码:
结论:
1.如果用户已经授权:将打印一份B C。
2.用户未被授权:点击“允许”后,将随机打印三个一。
当然,最好不要同时在多个地方调用wx.getUserInfo方法,否则这个问题会很头疼。我对这个问题的看法是多次调用getUserInfo方法只会产生一个弹出的实例,所以点击Allow时只执行一次回调是正常的,但是随机执行其中一个方法就很奇怪了。
解决方法:
1.wx.getUserInfo方法不同时调用,很少需要同时调用。
2.封装一个getUserInfo方法,将传入的回调方法存储到一个数组中,在成功/失败授权的回调中遍历调用后清空数组。
以下是测试环境:
微信开发者工具版本:v1.01.170925
基本库版本:1.3.0
评论前必须登录!
注册