微信小程序如何获取openid及用户信息
微信小程序获取openid及用户信息的方法
1.获取openid
1.1获取code
调用接口获取登录凭证(code)进而换取用户登录态信息,包括用户的唯一标识(openid)及本次登录的会话密钥(session_key)。用户数据的加解密通讯需要依赖会话密钥完成。
wx.login({
//获取code
success:function(res){
code=res.code//返回code
}
})
1.2获取openid
拿到上一步获取的code,结合小程序appid和secret请求接口https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code换取openid,与openid一同被返回的,还包括session_key,其中session_key是对用户数据进行加密签名的密钥。为了自身应用安全,session_key不应该在网络上传输。
wx.request({
url:'https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code='+code+'&grant_type=authorization_code',
data:{},
header:{
'content-type':'application/json'
},
success:function(res){
openid=res.data.openid//返回openid
}
})
2.获取用户信息
2.1在app.js中创建该全局方法
//app.js
getUserInfo:function(cb){
varthat=this
if(this.globalData.personInfo){
typeofcb=="function"&&cb(this.globalData.personInfo)
}else{
//调用登录接口
wx.login({
success:function(){
wx.getUserInfo({
success:function(res){
that.globalData.personInfo=res.userInfo
typeofcb=="function"&&cb(that.globalData.personInfo)
}
})
}
})
}
}
2.2实例化全局方法获取用户信息
varthat=this;
//调用应用实例的方法获取全局数据
app.getUserInfo(function(personInfo){
//更新数据
that.setData({
personInfo:personInfo
})
})
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。