一、小程序配置
1、在微信公眾平台創建小程序,並獲取小程序的AppID
2、在小程序的管理後台中,選擇設置->開發設置,將伺服器域名添加到request合法域名中,同時勾選「不校驗合法域名、web-view(業務域名)、TLS版本以及HTTPS證書」
二、獲取登錄憑證
1、用戶點擊「登錄」按鈕後,調用微信官方提供的wx.login()介面獲取用戶登錄憑證code
uni.login({
provider: 'weixin',
success: function (loginRes) {
if (loginRes.code) {
// code有效,調用後台介面進行用戶身份驗證和信息獲取
} else {
console.log('登錄失敗!' + loginRes.errMsg)
}
},
fail: function (error) {
console.log('調用wx.login()介面失敗!' + error.errMsg)
}
})
三、根據code獲取session_key和openid
1、使用wx.request()發送請求到微信伺服器,獲取session_key和openid,以便進一步獲取用戶信息
uni.request({
url: 'https://api.weixin.qq.com/sns/jscode2session',
data: {
appid: '小程序的AppID',
secret: '小程序的AppSecret',
js_code: '微信登錄憑證code',
grant_type: 'authorization_code'
},
success: function(res) {
if (res.statusCode === 200) {
var session_key = res.data.session_key;
var openid = res.data.openid;
// 用於獲取用戶信息或敏感數據的加密數據解密需要的參數
var encryptedData = '';
var iv = '';
} else {
console.log('調用wx.request()介面失敗!' + res.errMsg)
}
},
fail: function (error) {
console.log('調用wx.request()介面失敗!' + error.errMsg)
}
})
四、獲取用戶信息
1、根據文檔,使用getSetting()進行用戶信息授權判斷
uni.getSetting({
success: function (res) {
if (res.authSetting['scope.userInfo']) {
console.log('已授權獲取用戶信息!')
// 調用用戶信息介面獲取用戶信息
} else {
console.log('未授權獲取用戶信息!')
// 提示用戶授權獲取用戶信息
}
}
})
2、調用getUserProfile()獲取用戶信息
uni.getUserProfile({
desc: '用於完善會員資料', // 需要獲取的用戶信息描述
success: function (res) {
console.log(res.userInfo)
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;
// 將用戶信息保存到資料庫中
},
fail: function (error) {
console.log('獲取用戶信息失敗!' + error.errMsg)
}
})
3、根據返回結果,將用戶信息保存到資料庫中,並在頁面上展示
// Vue模板中展示用戶信息:{{nickName}}
五、總結
以上是在uniapp中獲取微信頭像和用戶信息的完整步驟。通過微信官方提供的API介面,我們可以輕鬆地實現用戶信息的獲取和展示。為了保證用戶信息安全,在傳輸和存儲過程中,我們需要採用嚴格的數據加密和解密方式。
原創文章,作者:HGNA,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/143061.html