前提:wx.getUserInfo 接口直接弹出授权框的开发方式不再支持
使用 open-data 展示用户基本信息(不授权情况)
实例代码:
<open-data type="userAvatarUrl"></open-data>
<open-data type="userGender" lang="zh_CN"></open-data>
属性解读:
| 属性名 | 类型 | 说明 |
|---|---|---|
| type | String | 数据类型 |
| lang | String | 当type=“user*”时生效,展示userInfo的语音类型,有效值:en,zh_CN,zh_TW |
| open-gid | String | 当type=“groupName”时生效,代表群id |
type取值:
| type值 | 说明 |
|---|---|
| groupName | 拉取群名称 |
| userNickName | 用户昵称 |
| userAvatarUrl | 用户头像 |
| userGender | 用户性别 |
| userCity | 用户所在城市 |
| userProvince | 用户所在省份 |
| userCountry | 用户所在国家 |
| userLanguage | 用户的语言 |
注:用户拉取群名称时,必须是拉取群的成员
用户主动触发,获取加密信息
实例代码:
<button hidden='{{userInfoFlag}}' open-type="getUserInfo" bindgetuserinfo='getUserInfo'>获取用户信息</button>
// 必须是在用户已经授权的情况下调用,
wx.getUserInfo({
success(res) {
const userInfo = res.userInfo //userInfo里面存储用户的基本信息
const nickName = userInfo.nickName
const avatarUrl = userInfo.avatarUrl
const gender = userInfo.gender // 性别 0:未知、1:男、2:女
const province = userInfo.province
const city = userInfo.city
const country = userInfo.country
const encryptedData = res.encryptedData //包括敏感数据在内的完整用户信息的加密数据
const rawData = res.rawData //不包括敏感信息的原始数据字符串,用于计算签名
const signature = res.signature //使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息
},
fail(err){
//在用户未授权过的情况下调用此接口,将不再出现授权弹窗,会执行该fail函数
}
})