thinkphp後台獲取微信小程序用戶信息
發表時(shí)間:2021-4-30
發布人(rén):融晨科技
浏覽次數:91
首先需要(yào / yāo)看懂微信小程序開發文檔的(de) 開放接口中的(de) 登錄 和(hé / huò) 用戶信息。
wx.login(OBJECT)
調用接口獲取登錄憑證(code)進而(ér)換取用戶登錄态信息,包括用戶的(de)唯一标識(openid) 及本次登錄的(de) 會話密鑰(session_key)等。用戶數據的(de)加解密通訊需要(yào / yāo)依賴會話密鑰完成。
code 換取 session_key
?這(zhè)是(shì)一個(gè) HTTPS 接口,開發者服務器使用登錄憑證 code 獲取 session_key 和(hé / huò) openid。
session_key 是(shì)對用戶數據進行加密簽名的(de)密鑰。爲(wéi / wèi)了(le/liǎo)自身應用安全,session_key 不(bù)應該在(zài)網絡上(shàng)傳輸。
小程序端的(de)代碼:
[javascript] view plain copy print?
//app.js
App({
onLaunch: function () {
//調用API從本地(dì / de)緩存中獲取數據
var logs = wx.getStorageSync('logs') || []
logs.unshift(Date.now())
wx.setStorageSync('logs', logs)
},
getUserInfo:function(cb){
var that = this
if(this.globalData.userInfo){
typeof cb == "function" && cb(this.globalData.userInfo)
}else{
//調用登錄接口
wx.login({
success: function (res) {
var code = res.code
// success
// 獲取用戶信息
wx.getUserInfo({
success: function (data) {
that.globalData.userInfo = data.userInfo
typeof cb == "function" && cb(that.globalData.userInfo)
var rawData = data.rawData;
var signature = data.signature;
var encryptedData = data.encryptedData;
var iv = data.iv;