微信小程序開發(fā)(四)獲取用戶openid

2018-9-12    seo達(dá)人

如果您想訂閱本博客內(nèi)容,每天自動發(fā)到您的郵箱中, 請點這里

在小程序里面有兩個地方獲取用戶的openid。 
一個是wx.login(OBJECT),第二個是wx.getUserInfo(OBJECT)。 
這里我使用的是第一種wx.login(OBJECT)

步驟

 wx.login({
  success: function(res) { if (res.code) { //  第一步: 獲取code //發(fā)起網(wǎng)絡(luò)請求 wx.request({
        url: '后臺接口', // 獲取openid data: {
          code: res.code
        }
      })
    } else {
      console.log('獲取用戶登錄態(tài)失??!' + res.errMsg)
    }
  }
}); 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

后端的實現(xiàn)

后端的實現(xiàn)就是后端調(diào)用這個接口:https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code。 
這里寫圖片描述

/*
 * 根據(jù)code獲取微信用戶的openid
 */ router.get('/api/getWxCode', function(req, res, next) { var param = req.query || req.params; var code = param.code; var urlStr = 'https://api.weixin.qq.com/sns/jscode2session?appid=' + wxConfig.AppID + '&secret=' + wxConfig.Secret + '&js_code=' + code + '&grant_type=authorization_code';
    request(urlStr, function (error, response, body) { if (!error && response.statusCode == 200) { var jsBody = JSON.parse(body); 
            jsBody.status = 100;
            jsBody.msg = '操作成功';
            res.end(JSON.stringify(jsBody));
        }
    })
}); 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

具體實例

/**
 * 生命周期函數(shù)--監(jiān)聽頁面加載
 */ onLoad: function (options) { var self = this;
  wx.login({
    success: function (res) { if (res.code) { //發(fā)起網(wǎng)絡(luò)請求 wx.request({
          url: 'https://www.hgdqdev.cn/api/getWxCode',
          data: {
            code: res.code
          },
          success: function(res){ if(res.data.status == 100){ self.setData({
                openid: res.data.openid
              })
            }
          },
          fail: function(){ }
        })
      } else {
        console.log('獲取用戶登錄態(tài)失敗!' + res.errMsg)
      }
    }
  });
},

藍(lán)藍(lán)設(shè)計sillybuy.com )是一家專注而深入的界面設(shè)計公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計、BS界面設(shè)計 、 cs界面設(shè)計 、 ipad界面設(shè)計 、 包裝設(shè)計 、 圖標(biāo)定制 、 用戶體驗 、交互設(shè)計、 網(wǎng)站建設(shè) 平面設(shè)計服務(wù)。


日歷

鏈接

個人資料

存檔