首頁  >  文章  >  微信小程式  >  微信小程式取得openid及使用者資訊的方法

微信小程式取得openid及使用者資訊的方法

小云云
小云云原創
2018-01-31 09:53:125398瀏覽

本文主要介紹微信小程式如何獲取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詳解及實例程式碼

以上是微信小程式取得openid及使用者資訊的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn