微信小程序API用戶信息, wx.getUserInfo?獲取用戶信息
wx.getUserInfo(OBJECT)
?獲取用戶信息,withCredentials 為 true 時需要先調(diào)用wx.login接口
OBJECT參數(shù)說明:
參數(shù)名 | 類型 | 必填 | 說明 | 最低版本 |
---|---|---|---|---|
withCredentials | Boolean | 否 | 是否帶上登錄態(tài)信息 | 1.1.0 |
lang | String | 否 | 指定返回用戶信息的語言,zh_CN 簡體中文,zh_TW 繁體中文,en 英文 | 1.4.0 |
success | Function | 否 | 接口調(diào)用成功的回調(diào)函數(shù) | |
fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) | |
complete | Function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行) |
注:當 withCredentials 為 true 時,要求此前有調(diào)用過 wx.login 且登錄態(tài)尚未過期,此時返回的數(shù)據(jù)會包含 encryptedData, iv 等敏感信息;當 withCredentials 為 false 時,不要求有登錄態(tài),返回的數(shù)據(jù)不包含 encryptedData, iv 等敏感信息。
success返回參數(shù)說明:參數(shù) | 類型 | 說明 |
---|---|---|
userInfo | OBJECT | 用戶信息對象,不包含 openid 等敏感信息 |
rawData | String | 不包括敏感信息的原始數(shù)據(jù)字符串,用于計算簽名。 |
signature | String | 使用 sha1( rawData + sessionkey ) 得到字符串,用于校驗用戶信息,參考文檔signature。 |
encryptedData | String | 包括敏感數(shù)據(jù)在內(nèi)的完整用戶信息的加密數(shù)據(jù),詳細見加密數(shù)據(jù)解密算法 |
iv | String | 加密算法的初始向量,詳細見加密數(shù)據(jù)解密算法 |
示例代碼:
wx.getUserInfo({
success: function(res) {
var userInfo = res.userInfo
var nickName = userInfo.nickName
var avatarUrl = userInfo.avatarUrl
var gender = userInfo.gender //性別 0:未知、1:男、2:女
var province = userInfo.province
var city = userInfo.city
var country = userInfo.country
}
})
encryptedData 解密后為以下 json 結(jié)構(gòu),詳見加密數(shù)據(jù)解密算法
{
"openId": "OPENID",
"nickName": "NICKNAME",
"gender": GENDER,
"city": "CITY",
"province": "PROVINCE",
"country": "COUNTRY",
"avatarUrl": "AVATARURL",
"unionId": "UNIONID",
"watermark":
{
"appid":"APPID",
"timestamp":TIMESTAMP
}
}
Bug & Tip
-
tip
:wx.getUserInfo
接口需要用戶授權(quán),請兼容用戶拒絕授權(quán)的場景。
UnionID機制說明:
如果開發(fā)者擁有多個移動應用、網(wǎng)站應用、和公眾帳號(包括小程序),可通過unionid來區(qū)分用戶的唯一性,因為只要是同一個微信開放平臺帳號下的移動應用、網(wǎng)站應用和公眾帳號(包括小程序),用戶的unionid是唯一的。換句話說,同一用戶,對同一個微信開放平臺下的不同應用,unionid是相同的。
同一個微信開放平臺下的相同主體的App、公眾號、小程序,如果用戶已經(jīng)關(guān)注公眾號,或者曾經(jīng)登錄過App或公眾號,則用戶打開小程序時,開發(fā)者可以直接通過wx.login獲取到該用戶UnionID,無須用戶再次授權(quán)。
微信開放平臺綁定小程序流程
前提:微信開放平臺帳號必須已完成開發(fā)者資質(zhì)認證
開發(fā)者資質(zhì)認證流程:
登錄微信開放平臺(open.weixin.qq.com) – 帳號中心 – 開發(fā)者資質(zhì)認證
綁定流程:
登錄微信開放平臺(open.weixin.qq.com)—管理中心—公眾帳號—綁定公眾帳號
更多微信小程序開發(fā)教程,可以關(guān)注hi小程序。第二部分:如何開通一個小商店