wx.getUserInfo是一个需要用户授权才能调用的接口,此接口调整过后,直接调用将不再弹出授权弹框。
那么这个变动对于开发的影响在哪里呢?其实影响不大,只是少了一个授权界面而已。至于为什么要去掉这个授权界面,猜测的原因可能是因为业务场景问题,获取用户信息在很多系统中是个必须的步骤,不获取后续操作进行不下去,不能因为用户不同意获取就结束了,因此有了<button open-type="getUserInfo"></button>这个授权按钮
之前的调用逻辑:
直接调起wx.getUserInfo,成功就获取用户信息,失败则通过wx.openSetting打开授权列表,引导授权,不然无法进行后续操作,很显然通过wx.openSetting弹出的页面跟业务场景离得是比较远的
现在的调用逻辑:
有了<button open-type="getUserInfo"></button>这个解决方案,这个授权按钮可以放在页面的任何地方,而且可以多次调出,不像默认的授权界面,用户取消后就不再出现
提示:当用户点击了授权按钮<button open-type="getUserInfo" bindgetuserinfo="callback"></button>后,授权列表对用户的授权就开启自动开启了,以后可以直接通过wx.getUserInfo调用
获取用户信息:
<button open-type="getUserInfo" bindgetuserinfo="callback"></button>
callback:function(e){
e.detail.userInfo
}