微信小程式獲取使用者資訊方法

zhangxh發表於2019-01-30

前提: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函式
  }
})
複製程式碼

相關文章