這篇文章主要介紹了微信小程式如何獲取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){ var that = this if(this.globalData.personInfo){ typeof cb == "function" && cb(this.globalData.personInfo) }else{ //调用登录接口 wx.login({ success: function () { wx.getUserInfo({ success: function (res) { that.globalData.personInfo = res.userInfo typeof cb == "function" && cb(that.globalData.personInfo) } }) } }) } }
2.2 實例化全域方法取得使用者資訊
var that = this; //调用应用实例的方法获取全局数据 app.getUserInfo(function (personInfo) { //更新数据 that.setData({ personInfo: personInfo }) })
以上是在微信小程式中如何取得使用者資訊(詳細教學)的詳細內容。更多資訊請關注PHP中文網其他相關文章!