chengkun
2025-05-28 4be2904f3688c07e0e9793414bda33ae1f85f565
app/controller/login/index.class.php
@@ -1,212 +1,204 @@
<?php
/*
* $Author :PHPYUN开发团队
*
* 官网: http://www.phpyun.com
*
* 版权所有 2009-2021 宿迁鑫潮信息技术有限公司,并保留所有权利。
*
* 软件声明:未经授权前提下,不得用于商业运营、二次开发以及任何形式的再次发布。
 */
class index_controller extends common{
   function index_action(){
      if($this->uid!=""&&$this->username!=""){
         if($_GET['type']=="out"){
            $this->cookie->unset_cookie();
         }else{
            $this->ACT_msg($this->config['sy_weburl']."/member", "您已经登录了!");
         }
      }
      if($_GET['backurl']=='1'){
         $this->cookie->setCookie("backurl",$_SERVER['HTTP_REFERER'],time()+60);
      }
      if(!$_GET['usertype']){
         $_GET['usertype']      =      1;
      }
      $this->yunset("cookie", $_COOKIE['checkurl']);
      $this->yunset("usertype",(int)$_GET['usertype']);
      $this->yunset("loginname",$_COOKIE['loginname']);
        $this->yunset("referurl",$_SERVER['HTTP_REFERER']);
      $this->seo("login");
      $this->yun_tpl(array('index'));
   }
   //登录验证
   function loginsave_action(){
      $Member               =         $this->MODEL('userinfo');
      $lData['username']      =         $_POST['username'];
      $lData['uid']         =         $this->uid;
      $lData['usertype']      =         $this->usertype;
      $lData['act_login']      =         $_POST['act_login'];
      $lData['num']         =         $_POST['num'];
      $lData['loginname']      =         $_POST['loginname'];
      $lData['password']      =         $_POST['password'];
      $lData['referurl']      =         $_POST['referurl'];
        $lData['authcode']      =         $_POST['authcode'];
        $lData['port']          =         1;
      $return               =         $Member->userLogin($lData);
      if($return['uclogin']){
         $error   =   2;
         $return['msg'] = $return['uclogin'];
      }else{
         $error   =   1;
      }
      if($return['errcode']==2){
         $this->layer_msg($return['msg'],9,0,Url('register',array('c'=>'ident')),2,$error);
      }else if($return['url']){
         $this->layer_msg($return['msg'],9,0,$return['url'],2,$error);
      }else{
         $this->layer_msg($return['msg']);
      }
   }
   //登录短信验证码发送
   function sendmsg_action()
   {
      $noticeM   =   $this->MODEL('notice');
      $result      =   $noticeM->jycheck($_POST['code'],'前台登录');
      if(!empty($result)){
         $this->layer_msg($result['msg'], 9, 0, '', 2, $result['error']);
      }
      $moblie      =   $_POST['moblie'];
      $UserinfoM   =   $this->MODEL('userinfo');
      $userinfo   =   $UserinfoM->getInfo(array("moblie" => $moblie),array('field'=>"`usertype`,`uid`"));
      if ($this->config['sy_reg_type'] == 2 && empty($userinfo)){
          $result =   array(
              'error' =>  2,
                'msg'   =>  '请先注册账号'
            );
        }else{
            $user = array(
                'uid'      =>   $userinfo['uid'],
                'usertype'    =>   $userinfo['usertype']
            );
            $result   =   $noticeM->sendCode($moblie, 'login', 1, $user, 6, 90, 'msg');
class index_controller extends common {
    function index_action() {
        if ($this->uid != "" && $this->username != "") {
            if ($_GET['type'] == "out") {
                $this->cookie->unset_cookie();
            } else {
                $this->ACT_msg($this->config['sy_weburl'] . "/member", "您已经登录了!");
            }
        }
      echo json_encode($result);exit();
   }
   function rest_action(){
      $this->cookie->unset_cookie();
      $url = Url("login",array("usertype"=>"1"),"1");
      header("Location: ".$url);
   }
   function utype_action(){
      if($this->uid){
         header("Location:".$this->config['sy_weburl']."/member");
      }
      $this->seo("login");
      $this->yun_tpl(array('utype'));
   }
   function setutype_action(){
      //验证前期保存的登录数据,是否在本系统有存在并且密码对应
      if($_COOKIE['username'] && $_COOKIE['password'] && (CheckRegUser($_COOKIE['username']) OR CheckRegEmail($_COOKIE['username'])==false)){
         //无usertype情况下 才予以激活 否则直接登录会员中心
         $Member=$this->MODEL("userinfo");
         $user = $Member->getInfo(array("username"=>$_COOKIE['username']),array("field"=>"`uid`,`username`,`password`,`salt`,`usertype,did`"));
         $userid = $user['uid'];
         if(!$user['usertype']){
            if(passCheck($_COOKIE['password'],$user['salt'],$user['password']) && $user['password']!=''){
               $usertype = (int)$_GET['usertype'];
               if($usertype=='1'){
                  $table = "member_statis";
                  $table2 = "resume";
                  $data1=array("uid"=>$userid);
                  $data2['uid']=$userid;
               }elseif($usertype=='2'){
                  $table         =  "company_statis";
                  $table2        =  "company";
                  $ratingM       =  $this->MODEL('rating');
                  $data1         =  $ratingM->FetchRatingInfo();
                  $data2['uid']  =  $userid;
                  $data1['did']  =  $user['did'];
               }elseif($usertype=='3'){
                  $table = 'lt_statis';
                  $table2 = 'lt_info';
                  $id =$this->config['lt_rating'];
                  $row = $Member->GetRatinginfoOne(array('id'=>$id));
                  $data1=array('rating'=>$id,'integral'=>$this->config['integral_reg'],'rating_name'=>$row['name'],'rating_type'=>$row['type'],'lt_job_num'=>$row['lt_job_num'],'lt_down_resume'=>$row['lt_resume'],'lt_editjob_num'=>$row['lt_editjob_num'],'lt_breakjob_num'=>$row['lt_breakjob_num']);
                  if($row['service_time']>0){
                     $time=time()+86400*$row['service_time'];
                  }else{
                     $time=0;
                  }
                  $data1['vip_etime']=$time;
                  $data2['uid']=$userid;
                  $data2['did']=$user['did'];
               }elseif($usertype=='4'){
                  $table = 'train_statis';
                  $table2 = 'px_train';
                  $data1=array('uid'=>$userid,'integral'=>$this->config['integral_reg']);
                  $data2['uid']=$userid;
                  $data2['did']=$user['did'];
               }
               $Member->upInfo(array(array("uid"=>$userid),"usertype"=>$usertype));
               $Member->InsertReg($table,$data1);
               $Member->InsertReg($table2,$data2);
               $this->cookie->unset_cookie();
               $this->cookie->add_cookie($userid,$user['username'],$user['salt'],$user['email'],$user['password'],$usertype,$this->config['sy_logintime'],$user['did']);
               header("Location:".$this->config['sy_weburl'].'/member');
            }else{
               $this->cookie->unset_cookie();
               echo "激活失败";
            }
         }else{
            $this->cookie->unset_cookie();
            echo "激活失败";
         }
      }else{
         header("Location:".Url('index'));
      }
   }
   //微信登录
    function wxlogin_action()
    {
        $wxloginid  =   isset($_COOKIE['wxloginid']) ? $_COOKIE['wxloginid'] : '';
        $WxM        =   $this->MODEL('weixin');
        $qrcode     =   $WxM->applyWxQrcode($wxloginid, '', $this->uid);
        if ($_GET['backurl'] == '1') {
            $this->cookie->setCookie("backurl", $_SERVER['HTTP_REFERER'], time() + 60);
        }
        if (!$_GET['usertype']) {
            $_GET['usertype'] = 1;
        }
        $this->yunset("cookie", $_COOKIE['checkurl']);
        $this->yunset("usertype", (int)$_GET['usertype']);
        $this->yunset("loginname", $_COOKIE['loginname']);
        $this->yunset("referurl", $_SERVER['HTTP_REFERER']);
        $this->seo("login");
        $this->yun_tpl(array('index'));
    }
    //登录验证
    function loginsave_action() {
        $Member = $this->MODEL('userinfo');
        $lData['username'] = $_POST['username'];
        $lData['uid'] = $this->uid;
        $lData['usertype'] = $this->usertype;
        $lData['act_login'] = $_POST['act_login'];
        $lData['num'] = $_POST['num'];
        $lData['loginname'] = $_POST['loginname'];
        $lData['password'] = $_POST['password'];
        $lData['referurl'] = $_POST['referurl'];
        $lData['authcode'] = $_POST['authcode'];
        $lData['port'] = 1;
        $return = $Member->userLogin($lData);
        if ($return['uclogin']) {
            $error = 2;
            $return['msg'] = $return['uclogin'];
        } else {
            $error = 1;
        }
        if ($return['errcode'] == 2) {
            $this->layer_msg($return['msg'], 9, 0, Url('register', array('c' => 'ident')), 2, $error);
        } else if ($return['url']) {
            $this->layer_msg($return['msg'], 9, 0, $return['url'], 2, $error);
        } else {
            $this->layer_msg($return['msg']);
        }
    }
    /**
     * 登录短信验证码发送
     * @return void
     */
    function sendmsg_action() {
        $noticeM = $this->MODEL('notice');
        $result = $noticeM->jycheck($_POST['code'], '前台登录');
        if (!empty($result)) {
            $this->layer_msg($result['msg'], 9, 0, '', 2, $result['error']);
        }
        $moblie = $_POST['moblie']; // 获取手机号码参数
        $UserinfoM = $this->MODEL('userinfo'); // 获取用户模型
        $userinfo = $UserinfoM->getInfo(array("moblie" => $moblie), array('field' => "`usertype`,`uid`"));// 获取用户信息
        if ($this->config['sy_reg_type'] == 2 && empty($userinfo)) {
            $result = array(
                'error' => 2,
                'msg'   => '请先注册账号'
            );
        } else {
            $user = array(
                'uid'      => $userinfo['uid'],
                'usertype' => $userinfo['usertype']
            );
            $result = $noticeM->sendCode($moblie, 'login', 1, $user, 6, 90, 'msg'); //  发送短信验证码
        }
        echo json_encode($result);
        exit();
    }
    function rest_action() {
        $this->cookie->unset_cookie();
        $url = Url("login", array("usertype" => "1"), "1");
        header("Location: " . $url);
    }
    function utype_action() {
        if ($this->uid) {
            header("Location:" . $this->config['sy_weburl'] . "/member");
        }
        $this->seo("login");
        $this->yun_tpl(array('utype'));
    }
    function setutype_action() {
        //验证前期保存的登录数据,是否在本系统有存在并且密码对应
        if ($_COOKIE['username'] && $_COOKIE['password'] && (CheckRegUser($_COOKIE['username']) or CheckRegEmail($_COOKIE['username']) == false)) {
            //无usertype情况下 才予以激活 否则直接登录会员中心
            $Member = $this->MODEL("userinfo");
            $user = $Member->getInfo(array("username" => $_COOKIE['username']), array("field" => "`uid`,`username`,`password`,`salt`,`usertype,did`"));
            $userid = $user['uid'];
            if (!$user['usertype']) {
                if (passCheck($_COOKIE['password'], $user['salt'], $user['password']) && $user['password'] != '') {
                    $usertype = (int)$_GET['usertype'];
                    if ($usertype == '1') {
                        $table = "member_statis";
                        $table2 = "resume";
                        $data1 = array("uid" => $userid);
                        $data2['uid'] = $userid;
                    } elseif ($usertype == '2') {
                        $table = "company_statis";
                        $table2 = "company";
                        $ratingM = $this->MODEL('rating');
                        $data1 = $ratingM->FetchRatingInfo();
                        $data2['uid'] = $userid;
                        $data1['did'] = $user['did'];
                    } elseif ($usertype == '3') {
                        $table = 'lt_statis';
                        $table2 = 'lt_info';
                        $id = $this->config['lt_rating'];
                        $row = $Member->GetRatinginfoOne(array('id' => $id));
                        $data1 = array('rating' => $id, 'integral' => $this->config['integral_reg'], 'rating_name' => $row['name'], 'rating_type' => $row['type'], 'lt_job_num' => $row['lt_job_num'], 'lt_down_resume' => $row['lt_resume'], 'lt_editjob_num' => $row['lt_editjob_num'], 'lt_breakjob_num' => $row['lt_breakjob_num']);
                        if ($row['service_time'] > 0) {
                            $time = time() + 86400 * $row['service_time'];
                        } else {
                            $time = 0;
                        }
                        $data1['vip_etime'] = $time;
                        $data2['uid'] = $userid;
                        $data2['did'] = $user['did'];
                    } elseif ($usertype == '4') {
                        $table = 'train_statis';
                        $table2 = 'px_train';
                        $data1 = array('uid' => $userid, 'integral' => $this->config['integral_reg']);
                        $data2['uid'] = $userid;
                        $data2['did'] = $user['did'];
                    }
                    $Member->upInfo(array(array("uid" => $userid), "usertype" => $usertype));
                    $Member->InsertReg($table, $data1);
                    $Member->InsertReg($table2, $data2);
                    $this->cookie->unset_cookie();
                    $this->cookie->add_cookie($userid, $user['username'], $user['salt'], $user['email'], $user['password'], $usertype, $this->config['sy_logintime'], $user['did']);
                    header("Location:" . $this->config['sy_weburl'] . '/member');
                } else {
                    $this->cookie->unset_cookie();
                    echo "激活失败";
                }
            } else {
                $this->cookie->unset_cookie();
                echo "激活失败";
            }
        } else {
            header("Location:" . Url('index'));
        }
    }
    //微信登录
    function wxlogin_action() {
        $wxloginid = isset($_COOKIE['wxloginid']) ? $_COOKIE['wxloginid'] : '';
        $WxM = $this->MODEL('weixin');
        $qrcode = $WxM->applyWxQrcode($wxloginid, '', $this->uid);
        if (!$qrcode) {
            echo 0;
        } else {
            echo $qrcode;
        }
    }
    function getwxloginstatus_action()
    {
    function getwxloginstatus_action() {
        if ($_COOKIE['wxloginid']) {
            $WxM    =   $this->MODEL('weixin');
            $result =   $WxM->getWxLoginStatus($_COOKIE['wxloginid'], $this->uid);
            $WxM = $this->MODEL('weixin');
            $result = $WxM->getWxLoginStatus($_COOKIE['wxloginid'], $this->uid);
            if ($result['status'] == 1) {
                if (!empty($result['member'])) {
                    $user   =   $result['member'];
                    $user = $result['member'];
                    if ($user['usertype'] == 0) {
                        $this->cookie->unset_cookie();
                        $this->cookie->add_cookie($user['uid'], $user['username'], $user['salt'], $user['email'], $user['password'], '', $this->config['sy_logintime'], $user['did']);
                        $this->layer_msg('扫码成功', 9, 0, Url('register', array('c' => 'ident')));
                    } else {
                        if ($user['status'] == "2") {
                            $this->layer_msg('您的账号已被锁定', 9, 0, Url("register", array("c" => "ok", "type" => 2), "1"), 2);
                        }
@@ -215,259 +207,262 @@
                        $this->layer_msg('', 9, 0, Url("member"));
                    }
                } else {
                    $this->layer_msg('扫码成功,请绑定已有账号或直接创建新账号', 9, 0, Url('wxconnect', array('bind' => 1, 'type' => 'ba')));
                }
            } else {
                $this->layer_msg('');
            }
        } else {
            $this->layer_msg('');
        }
    }
   /**
    * 第三方登录后,绑定已有账号,登录验证并绑定
    */
   function baloginsave_action(){
      $userinfoM   =  $this->MODEL('userinfo');
      if ($_POST['provider'] == 'weixin'){
           if(!empty($_COOKIE['wxloginid'])){
               $weixinM  =  $this->MODEL('weixin');
               $wxqrcode  =  $weixinM->getWxQrcode(array('wxloginid' => $_COOKIE['wxloginid'], 'status' => 1));
               if($wxqrcode['wxid'] || $wxqrcode['unionid']){
                   $lData['openid']   =   $wxqrcode['wxid'];
                   $lData['unionid']   =   $wxqrcode['unionid'];
               $lData['username']   =   $_POST['username'];
               $lData['uid']      =   $this->uid;
               $lData['usertype']   =   $this->usertype;
               $lData['source']   =   1;
               $lData['password']   =   $_POST['password'];
               $lData['authcode']   =   $_POST['authcode'];
                   $return       =  $userinfoM->bindacount($lData,'weixin');
               }
           }else{
               $return['msg']      =   '微信登录信息已失效,请重新登录!';
           }
       }else if($_POST['provider'] == 'qq'){
          session_start();
           if($_SESSION['qq']['openid']){
               $lData  =  array(
                   'openid'      =>  $_SESSION['qq']['openid'],
                   'unionid'     =>  $_SESSION['qq']['unionid'],
                   'authcode'    =>  $_POST['authcode'],
                   'username'    =>  $_POST['username'],
                   'password'    =>  $_POST['password'],
                   'source'    =>  1,
                   'uid'      =>   $this->uid,
                   'usertype'   =>   $this->usertype
               );
               $return       =  $userinfoM->bindacount($lData,'qq');
           }else{
               $return['msg']      =   'qq登录信息已失效,请重新登录!';
           }
       }else if ($_POST['provider'] == 'sinaweibo'){
           session_start();
           if($_SESSION['sina']['openid']){
               $lData  =  array(
                   'openid'       =>  $_SESSION['sina']['openid'],
                   'authcode'    =>  $_POST['authcode'],
                   'username'    =>  $_POST['username'],
                   'password'    =>  $_POST['password'],
                   'source'    =>  1,
                   'uid'      =>   $this->uid,
                   'usertype'   =>   $this->usertype
               );
               $return       =  $userinfoM->bindacount($lData,'sinaweibo');
           }else{
               $return['msg']      =   '新浪微博登录信息已失效,请重新登录!';
           }
       }
       if($return['errcode']==2){
         $this->layer_msg($return['msg'],9,0,Url('register',array('c'=>'ident')),2,1);
      }else if($return['url']){
         $this->layer_msg($return['msg'],9,0,$return['url'],2,1);
      }else{
         $this->layer_msg($return['msg']);
      }
   }
   function balogin_action(){
      if ($_POST['provider'] == 'weixin'){
         if($_COOKIE['wxloginid']){
            $weixinM  =  $this->MODEL('weixin');
            $qrcode   =  $weixinM->getWxQrcode(array('wxloginid' => $_COOKIE['wxloginid'], 'status' => 1));
            $wdata  =  array(
                'openid'   =>  $qrcode['wxid'],
                'unionid'  =>  $qrcode['unionid'],
                'source'   =>  9
            );
            $userinfoM  =  $this->MODEL('userinfo');
            $result     =  $userinfoM->fastReg($wdata, '', 'weixin');
            if ($result['errcode'] == 9){
                $this->layer_msg('创建成功',9,0, Url('register',array('c'=>'ident')));
            }else{
                $this->layer_msg('账号注册失败',8,0);
            }
         }else{
             $this->layer_msg('请扫描微信二维码',9,0, Url('wxconnect'));
         }
      }else if($_POST['provider'] == 'qq'){
         session_start();
           if($_SESSION['qq']['openid']){
               // 未设置实名注册,QQ未绑定账号的,直接注册账号
               $wdata  =  array(
                   'openid'   =>  $_SESSION['qq']['openid'],
                   'unionid'  =>  $_SESSION['qq']['unionid'],
                   'source'   =>  8
               );
               $userinfoM  =  $this->MODEL('userinfo');
               $result     =  $userinfoM->fastReg($wdata, '', 'qq');
               if ($result['errcode'] == 9){
                   $this->layer_msg('创建成功',9,0, Url('register',array('c'=>'ident')));
               }else{
                   $this->layer_msg('账号注册失败',8,0);
               }
           }else{
               $this->layer_msg('qq登录信息已失效,请重新登录!',8,0);
           }
      }else if($_POST['provider'] == 'sinaweibo'){
         session_start();
           if($_SESSION['sina']['openid']){
               // 未设置实名注册,微博未绑定账号的,直接注册账号
               $wdata  =  array(
                   'openid'   =>  $_SESSION['sina']['openid'],
                   'source'   =>  10
               );
               $userinfoM  =  $this->MODEL('userinfo');
               $result     =  $userinfoM->fastReg($wdata, '', 'sinaweibo');
               if ($result['errcode'] == 9){
                   $this->layer_msg('创建成功',9,0, Url('register',array('c'=>'ident')));
               }else{
                   $this->layer_msg('账号注册失败',8,0);
               }
           }else{
               $this->layer_msg('新浪微博登录信息已失效,请重新登录!',8,0);
           }
      }
   }
   /**
    * 微信扫码后,后台设置实名验证,需绑定手机号后再自动注册账号
    */
   function fastregsave_action(){
       if ($_POST['provider'] == 'weixin'){
           if(!empty($_COOKIE['wxloginid'])){
               $weixinM  =  $this->MODEL('weixin');
               $wxqrcode  =  $weixinM->getWxQrcode(array('wxloginid' => $_COOKIE['wxloginid'], 'status' => 1));
               if($wxqrcode['wxid'] || $wxqrcode['unionid']){
                   $data  =  array(
                       'openid'       =>  $wxqrcode['wxid'],
                       'unionid'      =>  $wxqrcode['unionid'],
                       'source'       =>  9,
                       'moblie'       =>  $_POST['moblie'],
                       'moblie_code'  =>  $_POST['moblie_code'],
                       'code'         =>  $_POST['authcode'],
                       'port'         =>  1
                   );
                   $userinfoM   =  $this->MODEL('userinfo');
                   $return       =  $userinfoM->fastReg($data, '', 'weixin');
               }
           }else{
               $return['msg']      =   '微信登录信息已失效,请重新登录!';
           }
       }
       if ($_POST['provider'] == 'qq'){
           session_start();
           if($_SESSION['qq']['openid']){
               $data  =  array(
                   'openid'       =>  $_SESSION['qq']['openid'],
                   'unionid'      =>  $_SESSION['qq']['unionid'],
                   'source'       =>  8,
                   'moblie'       =>  $_POST['moblie'],
                   'moblie_code'  =>  $_POST['moblie_code'],
                   'code'         =>  $_POST['authcode'],
                   'port'         =>  1
               );
               $userinfoM   =  $this->MODEL('userinfo');
               $return       =  $userinfoM->fastReg($data, '', 'qq');
           }else{
               $return['msg']      =   'QQ登录信息已失效,请重新登录!';
           }
       }
       if ($_POST['provider'] == 'sinaweibo'){
           session_start();
           if($_SESSION['sina']['openid']){
               $data  =  array(
                   'openid'       =>  $_SESSION['sina']['openid'],
                   'source'       =>  10,
                   'moblie'       =>  $_POST['moblie'],
                   'moblie_code'  =>  $_POST['moblie_code'],
                   'code'         =>  $_POST['authcode'],
                   'port'         =>  1
               );
               $userinfoM   =  $this->MODEL('userinfo');
               $return       =  $userinfoM->fastReg($data, '', 'sinaweibo');
           }else{
               $return['msg']      =   '新浪微博登录信息已失效,请重新登录!';
           }
       }
        if($return['errcode']==9){
            $arr['status']   =   9;
            $arr['msg']      =   $return['msg'];
            $arr['url']      =   Url('register',array('c' => 'ident'));
        }else{
            $arr['msg']      =   $return['msg'];
            $arr['status']   =   8;
    /**
     * 第三方登录后,绑定已有账号,登录验证并绑定
     */
    function baloginsave_action() {
        $userinfoM = $this->MODEL('userinfo');
        if ($_POST['provider'] == 'weixin') {
            if (!empty($_COOKIE['wxloginid'])) {
                $weixinM = $this->MODEL('weixin');
                $wxqrcode = $weixinM->getWxQrcode(array('wxloginid' => $_COOKIE['wxloginid'], 'status' => 1));
                if ($wxqrcode['wxid'] || $wxqrcode['unionid']) {
                    $lData['openid'] = $wxqrcode['wxid'];
                    $lData['unionid'] = $wxqrcode['unionid'];
                    $lData['username'] = $_POST['username'];
                    $lData['uid'] = $this->uid;
                    $lData['usertype'] = $this->usertype;
                    $lData['source'] = 1;
                    $lData['password'] = $_POST['password'];
                    $lData['authcode'] = $_POST['authcode'];
                    $return = $userinfoM->bindacount($lData, 'weixin');
                }
            } else {
                $return['msg'] = '微信登录信息已失效,请重新登录!';
            }
        } else if ($_POST['provider'] == 'qq') {
            session_start();
            if ($_SESSION['qq']['openid']) {
                $lData = array(
                    'openid'   => $_SESSION['qq']['openid'],
                    'unionid'  => $_SESSION['qq']['unionid'],
                    'authcode' => $_POST['authcode'],
                    'username' => $_POST['username'],
                    'password' => $_POST['password'],
                    'source'   => 1,
                    'uid'      => $this->uid,
                    'usertype' => $this->usertype
                );
                $return = $userinfoM->bindacount($lData, 'qq');
            } else {
                $return['msg'] = 'qq登录信息已失效,请重新登录!';
            }
        } else if ($_POST['provider'] == 'sinaweibo') {
            session_start();
            if ($_SESSION['sina']['openid']) {
                $lData = array(
                    'openid'   => $_SESSION['sina']['openid'],
                    'authcode' => $_POST['authcode'],
                    'username' => $_POST['username'],
                    'password' => $_POST['password'],
                    'source'   => 1,
                    'uid'      => $this->uid,
                    'usertype' => $this->usertype
                );
                $return = $userinfoM->bindacount($lData, 'sinaweibo');
            } else {
                $return['msg'] = '新浪微博登录信息已失效,请重新登录!';
            }
        }
        echo json_encode($arr);die;
   }
        if ($return['errcode'] == 2) {
            $this->layer_msg($return['msg'], 9, 0, Url('register', array('c' => 'ident')), 2, 1);
        } else if ($return['url']) {
            $this->layer_msg($return['msg'], 9, 0, $return['url'], 2, 1);
        } else {
            $this->layer_msg($return['msg']);
        }
    }
    function balogin_action() {
        if ($_POST['provider'] == 'weixin') {
            if ($_COOKIE['wxloginid']) {
                $weixinM = $this->MODEL('weixin');
                $qrcode = $weixinM->getWxQrcode(array('wxloginid' => $_COOKIE['wxloginid'], 'status' => 1));
                $wdata = array(
                    'openid'  => $qrcode['wxid'],
                    'unionid' => $qrcode['unionid'],
                    'source'  => 9
                );
                $userinfoM = $this->MODEL('userinfo');
                $result = $userinfoM->fastReg($wdata, '', 'weixin');
                if ($result['errcode'] == 9) {
                    $this->layer_msg('创建成功', 9, 0, Url('register', array('c' => 'ident')));
                } else {
                    $this->layer_msg('账号注册失败', 8, 0);
                }
            } else {
                $this->layer_msg('请扫描微信二维码', 9, 0, Url('wxconnect'));
            }
        } else if ($_POST['provider'] == 'qq') {
            session_start();
            if ($_SESSION['qq']['openid']) {
                // 未设置实名注册,QQ未绑定账号的,直接注册账号
                $wdata = array(
                    'openid'  => $_SESSION['qq']['openid'],
                    'unionid' => $_SESSION['qq']['unionid'],
                    'source'  => 8
                );
                $userinfoM = $this->MODEL('userinfo');
                $result = $userinfoM->fastReg($wdata, '', 'qq');
                if ($result['errcode'] == 9) {
                    $this->layer_msg('创建成功', 9, 0, Url('register', array('c' => 'ident')));
                } else {
                    $this->layer_msg('账号注册失败', 8, 0);
                }
            } else {
                $this->layer_msg('qq登录信息已失效,请重新登录!', 8, 0);
            }
        } else if ($_POST['provider'] == 'sinaweibo') {
            session_start();
            if ($_SESSION['sina']['openid']) {
                // 未设置实名注册,微博未绑定账号的,直接注册账号
                $wdata = array(
                    'openid' => $_SESSION['sina']['openid'],
                    'source' => 10
                );
                $userinfoM = $this->MODEL('userinfo');
                $result = $userinfoM->fastReg($wdata, '', 'sinaweibo');
                if ($result['errcode'] == 9) {
                    $this->layer_msg('创建成功', 9, 0, Url('register', array('c' => 'ident')));
                } else {
                    $this->layer_msg('账号注册失败', 8, 0);
                }
            } else {
                $this->layer_msg('新浪微博登录信息已失效,请重新登录!', 8, 0);
            }
        }
    }
    /**
     * 微信扫码后,后台设置实名验证,需绑定手机号后再自动注册账号
     */
    function fastregsave_action() {
        if ($_POST['provider'] == 'weixin') {
            if (!empty($_COOKIE['wxloginid'])) {
                $weixinM = $this->MODEL('weixin');
                $wxqrcode = $weixinM->getWxQrcode(array('wxloginid' => $_COOKIE['wxloginid'], 'status' => 1));
                if ($wxqrcode['wxid'] || $wxqrcode['unionid']) {
                    $data = array(
                        'openid'      => $wxqrcode['wxid'],
                        'unionid'     => $wxqrcode['unionid'],
                        'source'      => 9,
                        'moblie'      => $_POST['moblie'],
                        'moblie_code' => $_POST['moblie_code'],
                        'code'        => $_POST['authcode'],
                        'port'        => 1
                    );
                    $userinfoM = $this->MODEL('userinfo');
                    $return = $userinfoM->fastReg($data, '', 'weixin');
                }
            } else {
                $return['msg'] = '微信登录信息已失效,请重新登录!';
            }
        }
        if ($_POST['provider'] == 'qq') {
            session_start();
            if ($_SESSION['qq']['openid']) {
                $data = array(
                    'openid'      => $_SESSION['qq']['openid'],
                    'unionid'     => $_SESSION['qq']['unionid'],
                    'source'      => 8,
                    'moblie'      => $_POST['moblie'],
                    'moblie_code' => $_POST['moblie_code'],
                    'code'        => $_POST['authcode'],
                    'port'        => 1
                );
                $userinfoM = $this->MODEL('userinfo');
                $return = $userinfoM->fastReg($data, '', 'qq');
            } else {
                $return['msg'] = 'QQ登录信息已失效,请重新登录!';
            }
        }
        if ($_POST['provider'] == 'sinaweibo') {
            session_start();
            if ($_SESSION['sina']['openid']) {
                $data = array(
                    'openid'      => $_SESSION['sina']['openid'],
                    'source'      => 10,
                    'moblie'      => $_POST['moblie'],
                    'moblie_code' => $_POST['moblie_code'],
                    'code'        => $_POST['authcode'],
                    'port'        => 1
                );
                $userinfoM = $this->MODEL('userinfo');
                $return = $userinfoM->fastReg($data, '', 'sinaweibo');
            } else {
                $return['msg'] = '新浪微博登录信息已失效,请重新登录!';
            }
        }
        if ($return['errcode'] == 9) {
            $arr['status'] = 9;
            $arr['msg'] = $return['msg'];
            $arr['url'] = Url('register', array('c' => 'ident'));
        } else {
            $arr['msg'] = $return['msg'];
            $arr['status'] = 8;
        }
        echo json_encode($arr);
        die;
    }
}