本文主要介紹微信小程式如何獲取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 }) })
相關推薦:
微信小程式之取得session_key與openid的案例(圖)
小程式中如何取得參數openid & session_key的方法介紹
以上是微信小程式取得openid及使用者資訊的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!