微信小程序获取用户信息方法

2,526 阅读1分钟

前提: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函数
  }
})