微信小程序一直保持登陸狀態


把標記修改的備注修改即可

 

 

 

JS文件:(可以放在app.js中)

// 登錄
    wx.login({
      success: res => {
        // 發送 res.code 到后台換取 openId, sessionKey, unionId
        wx.request({
          url: "http://127.0.0.7/api/Login/login",  //修改請求地址
          data: { code: res.code },
          header: {
            'content-type': 'application/json'
          },
          method: "GET",
          success(res) {
            wx.request({
              url: that.link + "Login/setuser",
              data: {
                openid: res.data.openid
              },
              header: {
                'content-type': 'application/json'
              },
              success(res) {
          //如果有該用戶,把用戶信息放到公共數組中
if (res.data){ that.globalData.userInfo = res.data  //紅色的可以更改為別的數組,需要先定義 } }, }) }, }) } })

 

 php文件:(紅色標記為申請的小程序后台中,開發中有appid和secret)

/*獲取用戶唯一標識*/
    public function login(){
        $code=Request::param('code');
        $url="https://api.weixin.qq.com/sns/jscode2session?appid=wx69b37be5******&secret=b6ed8d48484522da769******&js_code=".$code."&grant_type=authorization_cod";
        $token = json_decode($this->curl_get($url));
        return json($token);
    }

  /*這里是把openid發送過來,查找數據庫中有沒有該用戶信息,如果沒有就添加該用戶信息,有就讀取用戶信息*/
/*是否有用戶信息*/ public function setuser(){ $data=Request::param(); $user=User::where('account',$data['openid'])->find();
     if(!$user){
       /*以下寫需要添加用戶信息的邏輯*/
     }else{
      return json($user);
     }
}/*往微信發送信息,獲取唯一標識 后台調用 避免暴露 信息*/ function curl_get($url,&$httpCode = 0){ $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); /*不做證書效驗,部署在linux環境下請改為true*/ curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,10); $file_contents = curl_exec($ch); $httpCode = curl_getinfo($ch,CURLINFO_HTTP_CODE); curl_close($ch); return $file_contents; }


免責聲明!

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



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