溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

微信小程序如何自動(dòng)登陸PHP

發(fā)布時(shí)間:2021-07-05 10:50:44 來(lái)源:億速云 閱讀:214 作者:小新 欄目:web開(kāi)發(fā)

這篇文章將為大家詳細(xì)講解有關(guān)微信小程序如何自動(dòng)登陸PHP,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

微信小程序 自動(dòng)登陸PHP源碼實(shí)例

app.js

  •     初始化APP自動(dòng)登陸

  •     您也可以在任何地方進(jìn)行用戶登陸驗(yàn)證 

  •     用法:首先在js文件中定義 var app = getApp(); app.getUserDataToken();

App({
 onLaunch: function () {
  /*初始化APP自動(dòng)登陸
  * 您也可以在任何地方進(jìn)行用戶登陸驗(yàn)證 
  *用法:首先在js文件中定義 var app = getApp(); app.getUserDataToken();
  */
  this.getUserDataToken();
 },
 getUserDataToken:function(){
   var that = this;
   //獲取用戶緩存token 此token是服務(wù)器作為用戶唯一驗(yàn)證的標(biāo)識(shí),具體請(qǐng)看后端代碼
   var utoken=wx.getStorageSync("utoken");
    wx.login({
     success: function (res) {
      var code=res.code;
      wx.getUserInfo({
       success: function (res) {
        wx.request({
         //用戶登陸URL地址,請(qǐng)根據(jù)自已項(xiàng)目修改
         url: 'https://66018954.qcloud.la/WxApp/index.php/UserApi/userAuthSlogin',
         method:"POST",
         data: {
           utoken:utoken,
           code: code,
           encryptedData:res.encryptedData,
           iv:res.iv
         },
         fail:function(res){
         },
         success: function(res) {
          var utoken=res.data.utoken;
          //設(shè)置用戶緩存
          wx.setStorageSync("utoken",utoken);
         }
        })
       }
      })
     }
   })
 }
})

php代碼:

public function userAuthSlogin(){
    $content = file_get_contents ( 'php://input' );
    $content=json_decode($content,true);
    $utoken=$content["utoken"];
    if(!empty($utoken)&&S($utoken)){
      $result["success"]=1;
      $result['utoken']=$utoken;
      echo json_encode($result);
      exit();
    }
    $code=$content["code"];
    $encryptedData=$content["encryptedData"];
    $iv = $content['iv'];
    /*獲取session_key*/
    $s_result=$this->getSession($code);
    $WxData = new WXBizDataCrypt($s_result['appid'],$s_result['session_key']);
    /*解密用戶數(shù)據(jù)*/
    $errCode = $WxData->decryptData($encryptedData, $iv, $user_data);
    $wxap_key = md5(uniqid(md5(microtime(true)),true));
    $result=array();
    if($errCode==0){
      $user_data=json_decode($user_data,true);
      $result["success"]=1;
      $result['utoken']=$wxap_key;
      $user_id = $this->wxUserAdd($user_data);
      if($user_id < 1 || empty($user_id)){
        $result["success"]=-1;
        $result['errCode']=0;
        $result['msg']="獲取用戶信息出錯(cuò)!";
        echo json_encode($result);
        exit();
      }
      $user_data['uid']=$user_id;
      S($wxap_key,$user_data,7200);
      echo json_encode($result);
      exit();
    }else{
      $result["success"]=-1;
      $result['errCode']=$errCode;
      $result['msg']="獲取用戶信息出錯(cuò)!";
      echo json_encode($result);
      exit();
    }
  }

關(guān)于“微信小程序如何自動(dòng)登陸PHP”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI