[小程序]微信小程序登陸並獲取用戶信息


1.小程序js端調用框架登陸API,獲取到一個臨時code,拿着這個code去調用自己的服務端接口

2.在自己的服務器端,使用app_id app_secrect code可以獲取到用戶的openid,這個id是用戶唯一的id並且不會改變,可以把這個id返回給小程序端
小程序端本地保存openid

3.獲取用戶信息很簡單,並且不需要自己的服務器處理,只需要小程序端提供的API。
前端頁面wxml使用一個按鈕,按鈕里增加幾個屬性,就可以回調到小程序js部分的方法上,並且帶着用戶的個人信息,如昵稱 頭像等

4.這個時候就可以把該用戶的openid 和 昵稱,頭像,一塊調用自己服務端接口,保存到數據庫中

index.js

const app = getApp()

Page({
  data: {
    openid:""
  },
  //按鈕回調的方法
  getPerson:function(e){
    console.log(this.data.openid);
    console.log(e);
  },
  onLoad: function () {
    var self=this;
    wx.login({
      success(res) {
        //js調用登陸命令獲取到code
        if (res.code) {
          //通過code調用自己服務接口獲取到openid
          wx.request({
            url: 'https://api.sopans.com/third/wxOpenId.php',
            data: {
              code: res.code
            },
            success:function(wxInfo){
              console.log(wxInfo);
              self.data.openid = wxInfo.data.openid
            }
          })
        } else {
          console.log('登錄失敗!' + res.errMsg)
        }
      }
    })
  },
})

index.wxml

<button open-type="getUserInfo" bindgetuserinfo="getPerson">獲取用戶信息</button>
        $appid = ''; // 小程序APPID
        $secret = ''; // 小程序secret
        $code=$_GET['code'];
        $url = 'https://api.weixin.qq.com/sns/jscode2session?appid=' . $appid . '&secret='.$secret.'&js_code='.$code.'&grant_type=authorization_code';    
            
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_TIMEOUT, 500);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($curl, CURLOPT_URL, $url);
        $res = curl_exec($curl);
        curl_close($curl);
        
        echo $res; // 這里是獲取到的信息

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM