微信小程序獲取openid和用戶信息的方法
1.獲取openid
1.1來獲取代碼
調用接口獲取登錄憑證(代碼)然後交換用戶的登錄狀態信息,包括用戶的唯壹標識符(openid)和這次登錄的會話密鑰(session_key)。用戶數據的加密和解密通信需要依賴於會話密鑰。
wx.login({
//獲取代碼
成功:函數(res) {
Code = res.code //返回代碼。
}
})1.2來獲取openid
獲取上壹步得到的代碼,將小程序appid和秘密請求接口/sns/jscode2session結合起來?appid = APPID & amp秘密=秘密& ampjs _ code = JSCODE & ampGrant_type=authorization_code交換openid,openid和OpenID壹起返回,還包含session_key,其中session_key是對用戶數據進行加密和簽名的密鑰。為了自身的應用安全,session_key不應該在網絡上傳輸。
wx.request({
URL:“/SNS/jscode 2 session?appid = APPID & amp秘密=秘密& ampjs _ code = '+code+' & amp;'授權類型=授權代碼',
數據:{},
標題:{
“內容類型”:“應用程序/json”
},
成功:函數(res) {
Openid = res.data.openid //返回Openid。
}
})2.獲取用戶信息
2.1在app.js中創建全局方法
//app.js
getUserInfo:函數(cb){
變那個=這個
if(this . global data . person info){
cb == "函數"的類型。& ampcb(this.globalData.personInfo)
}否則{
//調用登錄接口
wx.login({
成功:函數(){
wx.getUserInfo({
成功:函數(res) {
that . global data . person info = RES . userinfo
cb == "函數"的類型。& ampcb(that.globalData.personInfo)
}
})
}
})
}
}2.2實例化全局方法以獲取用戶信息
var that = this
//調用應用實例的方法獲取全局數據。
app . get userinfo(function(person info){
//更新數據
that.setData({
personInfo: personInfo
})
})以上是我給大家整理的,希望以後對大家有幫助。
相關文章:
如何通過微信小程序實現驗證碼獲得倒計時效果
自定義ajax支持跨域組件(詳細教程)
如何實現ajax前臺後臺跨域請求