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