button组件获取用户信息

收藏
我的收藏
基础库 2.87.0 开始支持本能力,低版本需做兼容处理
支持通过 button 组件获取用户信息能力,需要将 button 组件 open-type 的值设置为 getUserInfo。
button 组件常规属性请参考button 按钮
获取已登录用户的基本信息,首次使用的用户会弹出授权提示窗,若用户同意,则会返回用户的真实数据。

属性说明

属性名
类型
默认值
必填
说明
最低支持版本
open-type
string
用于调用开放能力,此场景下需要设置为 "getUserInfo"
2.87.0
bindgetuserinfo
EventHandle
监听获取用户信息的回调,open-type="getUserInfo"时有效
2.87.0

bindgetuserinfo 事件对象的 detail

object 类型,属性如下:
属性名
类型
说明
最低支持版本
errMsg
string
回调描述
    1.成功:"getUserInfo:ok"
    2.失败:"getUserInfo:fail " + 详细错误信息
2.87.0
userInfo
UserInfo
用户信息
2.87.0
rawData
string
userInfo 的 JSON 字符串形式
2.87.0

UserInfo 类型说明

object 类型,属性如下:
属性名
类型
说明
最低支持版本
avatarUrl
string
用户头像
2.87.0
nickName
string
用户名
2.87.0
gender
number
用户性别,0: 未知;1:男性;2:女性
2.87.0
city
string
用户城市
2.87.0
province
string
用户省份
2.87.0
country
string
用户国家
2.87.0
language
string
用户语言,目前为空
2.87.0

错误说明

errMsg
说明
最低支持版本
"getUserInfo:fail not login"
用户未登录
2.87.0
"getUserInfo:fail auth deny"
用户信息权限未打开。可在小程序右上角菜单 -> 设置中打开
2.87.0

扫码体验

代码示例

<button open-type="getUserInfo" bindgetuserinfo="getUserInfo" > 获取用户信息 </button>
Page({ data: { userInfo: '', errMsg: '', rawData: '', }, onLoad() { // 用户登录后才能获取用户信息 tt.login({ success: () => { tt.showToast({ title: '登录成功', }); }, fail: () => { tt.showToast({ title: '登录失败', icon: "fail", }); }, }); }, getUserInfo(res) { const { userInfo, errMsg, rawData } = res.detail; this.setData({ userInfo, errMsg, rawData }); } })

Bug & Tip

无。