위 챗 애플 릿 이 PHP 원본 인 스 턴 스 를 자동 으로 로그 인 합 니 다(원본 다운로드)

위 챗 애플 릿 이 PHP 원본 인 스 턴 스 를 자동 으로 로그 인 합 니 다.
app.js
  •     앱 자동 로그 인 초기 화
  •     사용자 로그 인 인증 을 어디서 든 할 수 있 습 니 다. 
  •     용법:우선 js 파일 에서 var app=getApp()을 정의 합 니 다.app.getUserDataToken();
  • 
    App({
     onLaunch: function () {
      /*   APP    
      *                   
      *  :   js      var app = getApp(); app.getUserDataToken();
      */
      this.getUserDataToken();
     },
     getUserDataToken:function(){
       var that = this;
       //      token  token               ,        
       var utoken=wx.getStorageSync("utoken");
        wx.login({
         success: function (res) {
          var code=res.code;
          wx.getUserInfo({
           success: function (res) {
            wx.request({
             //    URL  ,         
             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;
              //      
              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']);
        /*      */
        $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']="        !";
            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']="        !";
          echo json_encode($result);
          exit();
        }
      }
    
    프로젝트 다운로드:http://xiazai.jb51.net/201705/yuanma/zddl(jb51.net).rar

    좋은 웹페이지 즐겨찾기