微信小程序开发获得openid
小程序开发
浏览:924 次

1.获取openid
1.1获取代码
调用该界面以获取登录凭据(代码),然后交换用户的登录状态信息,包括用户的唯一ID(openid)和该登录的会话密钥(session_key)。用户数据的加密和解密通信取决于会话密钥。
wx.登录({
//获取代码
成功:函数(res){
代码=res。code//返回代码
}
})
1.2获取openid
获取上一步中获得的代码,并结合applet appid和secret请求接口https://api.weixin.qq.com/sns/jscode2session?appid=APPID& ; secret=secret&js_code=JSCODE&grant_type=authorization_代码与openid交换,openid与openid一起返回,包括session_Key,其中session_密钥是加密和签名用户数据的密钥。为了自身的app安全,session_密钥不应在网络上传输。
wx.请求({
url:'https://api.weixin.qq.com/sns/jscode2session?appid=APPID& ; secret=secret&js_code='+code+'&grant_type=authorization_code',
数据:{},
标题:{
'内容类型':'app/json'
},

成功:函数(res){
openid=res.data。返回Openid//Openid
}
})
2.获取用户信息
2.1在app.js中创建全局方法
//app.js
getUserInfo:函数(cb){
var th=这个
if(this.globalData.personInfo){
typeofcb==“函数”&;cb(this.globalData.personInfo)
}其他{
//调用登录界面
wx.登录({
成功:函数(){
wx.获取用户信息({
成功:函数(res){

那就是全球数据。personInfo=资源用户信息
typeofcb==“函数”&;cb(即globalData.personInfo)
}
})
}
})
}
}
2.2实例化全局方法以获取用户信息
var=这个;
//调用app实例的方法以获取全局数据
app。getUserInfo(函数(personInfo){
//更新数据
that.setData(设置数据)({
personInfo:个人信息
})
})