Ejemplo n.º 1
0
 public function qq_sucsess()
 {
     session_start();
     define('M_ROOT', dirname(dirname(__FILE__)));
     $ss = M_ROOT;
     $str = str_replace("\\", "/", $ss);
     include_once $str . "/API/qq/qqConnectAPI.php";
     $qc = new \QC();
     $atid = $qc->qq_callback();
     $opid = $qc->get_openid();
     $opid = (string) $opid;
     $state = I('state');
     $_SESSION['state'] = $state;
     $qc = new \QC($atid, $opid);
     // 重新带参地new一次否则会丢失信息
     $user_model = D('yuser');
     $find = $user_model->field('uid,username,nickname,figureurl,userpic')->where(' openid=' . '"' . $opid . '"')->find();
     if (empty($find)) {
         $info = $qc->__call('get_user_info');
     }
     if (!empty($info)) {
         $data = array('username' => $info['nickname'], 'nickname' => $info['nickname'], 'sex' => $info['gender'], 'province' => $info['province'], 'city' => $info['city'], 'year' => $info['year'], 'figureurl' => $info['figureurl_qq_2'], 'openid' => $opid, 'tokenid' => $atid, 'addtime' => date('Y-m-d H:i:s'), 'loginip' => get_client_ip(), 'status' => 1);
         if ($id = $user_model->add($data)) {
             $user = $user_model->field('uid,username,figureurl,userpic')->where('uid=' . $id)->find();
             $picName = $find['userpic'];
             $picInfo = pathinfo($picName);
             $find['userpic'] = $picInfo['filename'] . '70.' . $picInfo['extension'];
             $_SESSION['user'] = $user;
             $this->redirect('/Index', '登录成功,正在跳转到首页', 0);
         }
     } else {
         $picName = $find['userpic'];
         $picInfo = pathinfo($picName);
         $find['userpic'] = $picInfo['filename'] . '70.' . $picInfo['extension'];
         $qiandao = $user_model->getQiandao($find['uid']);
         $find['qiandao'] = $qiandao;
         $data = array('lastlogin' => date('Y-m-d H:i:s', time()), 'uid' => session('user.uid'));
         $user_model->save($data);
         $_SESSION['user'] = $find;
         $this->redirect('/Index', '登录成功,正在跳转到首页', 0);
     }
 }