### wx.getUserInfo(OBJECT)
獲取用戶信息,withCredentials 為 true 時需要先調用 [wx.login](https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html#wxloginobject) 接口。
需要[用戶授權](https://mp.weixin.qq.com/debug/wxadoc/dev/api/authorize-index.html) scope.userInfo
**OBJECT參數說明:**
| 參數名 | 類型 | 必填 | 說明 | 最低版本 |
| --------------- | -------- | ---- | ---------------------------------------- | ---------------------------------------- |
| withCredentials | Boolean | 否 | 是否帶上登錄態信息 | [1.1.0](https://mp.weixin.qq.com/debug/wxadoc/dev/framework/compatibility.html) |
| lang | String | 否 | 指定返回用戶信息的語言,zh_CN 簡體中文,zh_TW 繁體中文,en 英文。默認為en。 | [1.3.0](https://mp.weixin.qq.com/debug/wxadoc/dev/framework/compatibility.html) |
| success | Function | 否 | 接口調用成功的回調函數 | |
| fail | Function | 否 | 接口調用失敗的回調函數 | |
| complete | Function | 否 | 接口調用結束的回調函數(調用成功、失敗都會執行) | |
**注:當 withCredentials 為 true 時,要求此前有調用過 wx.login 且登錄態尚未過期,此時返回的數據會包含 encryptedData, iv 等敏感信息;當 withCredentials 為 false 時,不要求有登錄態,返回的數據不包含 encryptedData, iv 等敏感信息。**
**success返回參數說明:**
| 參數 | 類型 | 說明 |
| ------------- | ------ | ---------------------------------------- |
| userInfo | OBJECT | 用戶信息對象,不包含 openid 等敏感信息 |
| rawData | String | 不包括敏感信息的原始數據字符串,用于計算簽名。 |
| signature | String | 使用 sha1( rawData + sessionkey ) 得到字符串,用于校驗用戶信息,參考文檔 [signature](https://mp.weixin.qq.com/debug/wxadoc/dev/api/signature.html)。 |
| encryptedData | String | 包括敏感數據在內的完整用戶信息的加密數據,詳細見[加密數據解密算法](https://mp.weixin.qq.com/debug/wxadoc/dev/api/signature.html#%E5%8A%A0%E5%AF%86%E6%95%B0%E6%8D%AE%E8%A7%A3%E5%AF%86%E7%AE%97%E6%B3%95) |
| iv | String | 加密算法的初始向量,詳細見[加密數據解密算法](https://mp.weixin.qq.com/debug/wxadoc/dev/api/signature.html#%E5%8A%A0%E5%AF%86%E6%95%B0%E6%8D%AE%E8%A7%A3%E5%AF%86%E7%AE%97%E6%B3%95) |
**userInfo參數說明:**
| 參數 | 類型 | 說明 |
| --------- | ------ | ---------------------------------------- |
| nickName | String | 用戶昵稱 |
| avatarUrl | String | 用戶頭像,最后一個數值代表正方形頭像大小(有0、46、64、96、132數值可選,0代表640*640正方形頭像),用戶沒有頭像時該項為空。若用戶更換頭像,原有頭像URL將失效。 |
| gender | String | 用戶的性別,值為1時是男性,值為2時是女性,值為0時是未知 |
| city | String | 用戶所在城市 |
| province | String | 用戶所在省份 |
| country | String | 用戶所在國家 |
| language | String | 用戶的語言,簡體中文為zh_CN |
**示例代碼:**
```
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 結構,詳見[加密數據解密算法](https://mp.weixin.qq.com/debug/wxadoc/dev/api/signature.html#%E5%8A%A0%E5%AF%86%E6%95%B0%E6%8D%AE%E8%A7%A3%E5%AF%86%E7%AE%97%E6%B3%95)
```
{
"openId": "OPENID",
"nickName": "NICKNAME",
"gender": GENDER,
"city": "CITY",
"province": "PROVINCE",
"country": "COUNTRY",
"avatarUrl": "AVATARURL",
"unionId": "UNIONID",
"watermark":
{
"appid":"APPID",
"timestamp":TIMESTAMP
}
}
```
- 簡介
- 第一章 公眾號開發
- 使用微信JSSDK
- 接口權限配置
- 分享接口
- 隱藏按鈕項
- 微信支付
- 第二章 小程序開發
- 基礎知識
- 分包加載
- WXSS樣式表
- 配置
- app.json配置
- window
- tabBar
- page.json配置
- 邏輯層
- app.js
- 場景值
- page.js
- 初始化數據
- 生命周期函數
- 頁面相關事件處理函數
- 事件處理函數
- 頁面實例方法
- 路由
- 文件作用域
- 模塊化
- 視圖層
- 模板語法
- 列表渲染
- 條件渲染
- 模板
- 事件
- 引用
- WXS語法規范
- WXS數據類型
- WXS控制流程
- WXS基礎類庫
- 組件
- 視圖容器
- view
- scroll-view
- swiper
- movable-view
- cover-view
- 基礎組件
- icon
- text
- rich-text
- progress
- 表單組件
- button
- checkbox
- form
- input
- label
- picker
- picker-view
- radio
- slider
- switch
- textarea
- 導航組件
- navigator
- 媒體組件
- audio
- image
- video
- camera
- 地圖組件
- map
- 畫布組件
- canvas
- 開放能力
- web-view
- 自定義組件
- 組件模版和樣式
- Component
- 組件傳值
- 組件事件
- Behaviors
- 組件間關系
- 網絡請求
- wx.request
- 微信登錄
- 獲取 openid 和 unionid
- 獲取用戶信息
- 將 wx.request 封裝為 promise
- 上傳圖片接口封裝
- 數據存儲
- 存儲數據和讀取數據
- 獲取數據緩存信息
- 移除數據緩存
- 獲取用戶設置
- openSetting
- getSetting
- 第三章 小游戲開發
- 參考資料