注冊

微信小程序API用戶信息, wx.getUserInfo?獲取用戶信息

2017-12-22
導(dǎo)讀:wx.getUserInfo(OBJECT) ?獲取用戶信息,withCredentials 為 true 時需要先調(diào)用wx.login接口 OBJECT參數(shù)說明: 參數(shù)名 類型 必填 說明 最低版本 withCredentials Boolean 否 是否帶上登錄態(tài)信息 1.1.0 lang St...

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í)行)  

 

注:當(dāng) withCredentials 為 true 時,要求此前有調(diào)用過 wx.login 且登錄態(tài)尚未過期,此時返回的數(shù)據(jù)會包含 encryptedData, iv 等敏感信息;當(dāng) 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ù),詳細(xì)見加密數(shù)據(jù)解密算法
iv String 加密算法的初始向量,詳細(xì)見加密數(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

  1. tip:wx.getUserInfo接口需要用戶授權(quán),請兼容用戶拒絕授權(quán)的場景。

UnionID機制說明:

如果開發(fā)者擁有多個移動應(yīng)用、網(wǎng)站應(yīng)用、和公眾帳號(包括小程序),可通過unionid來區(qū)分用戶的唯一性,因為只要是同一個微信開放平臺帳號下的移動應(yīng)用、網(wǎng)站應(yīng)用和公眾帳號(包括小程序),用戶的unionid是唯一的。換句話說,同一用戶,對同一個微信開放平臺下的不同應(yīng)用,unionid是相同的。

同一個微信開放平臺下的相同主體的App、公眾號、小程序,如果用戶已經(jīng)關(guān)注公眾號,或者曾經(jīng)登錄過App或公眾號,則用戶打開小程序時,開發(fā)者可以直接通過wx.login獲取到該用戶UnionID,無須用戶再次授權(quán)。
 

微信開放平臺綁定小程序流程

前提:微信開放平臺帳號必須已完成開發(fā)者資質(zhì)認(rèn)證

開發(fā)者資質(zhì)認(rèn)證流程:

登錄微信開放平臺(open.weixin.qq.com) – 帳號中心 – 開發(fā)者資質(zhì)認(rèn)證

 

綁定流程:

登錄微信開放平臺(open.weixin.qq.com)—管理中心—公眾帳號—綁定公眾帳號

更多微信小程序開發(fā)教程,可以關(guān)注hi小程序。
重磅推薦:小程序開店目錄

第一部分:小商店是什么

第二部分:如何開通一個小商店

第三部分:如何登錄小商店

第四部分:開店任務(wù)常見問題

第五部分:小商店可以賣什么

第六部分:HiShop小程序特色功能

第七部分:小程序直播

第八部分:小程序收貨/物流

第九部分:小程序怎么結(jié)算

第十部分:小程序客服

第十一部分:電商創(chuàng)業(yè)

第十二部分:小程序游戲開發(fā)