在Taro的文档中我们可以看到在如图位置找到这个对应接口

但是我们想使用这个接口的话,我们必须要在用户授权过的情况下,因此我们需要先去授权。
如下如位置:

在下方它的获取录音的示例中
Taro.getSetting({
success: function (res) {
if (!res.authSetting['scope.record']) {
Taro.authorize({
scope: 'scope.record',
success: function () {
Taro.startRecord()
}
})
}
}
})
结合上述文档我们可以的出,我们好像可以通过更改scope的值来获取不同的权限。
scope的值如下:

第一条就是我们的userInfo,当我们看到这里的时候我们就会自认为把代码改成如下应该就可以了:
Taro.getSetting({
success: function (res) {
if (!res.authSetting['scope.userInfo']) {
Taro.authorize({
scope: 'scope.userInfo',
success: function () {
Taro.getUserInfo()
}
})
}
}
})
但是当我们改成这玩意的时候,我们会发现报错了,在微信控制台出现一些看不懂的错误,而且并不会弹出授权窗口。到这一步我花费了一段时间在网上找,但是并没有发现满意的答案。最后在微信小程序的文档中发现了这样一段话:

看到这里心态都崩了,搞了半天居然说不支持,然后发现这种方式有一个缺点,只能通过点击来弹出授权窗口,因此就有如下代码:
<AtButton openType={"getUserInfo"} onGetUserInfo={handleBtn}>注册</AtButton>
const handleBtn = (e) => {
console.log(e)
}
在我们Taro中的按钮可以绑定上述属性来获取userInfo。<Button></Button>和<AtButton></AtButton>中都可以有这两个属性。