這次帶給大家小程式取得openid及使用者資訊的方法,小程式取得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_code 是對用戶資料進行加密簽名的密鑰。為了自身應用安全,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 }) })
以上是小程式取得openid及使用者資訊的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!