微信小程序如何获取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 }) })
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。