qq::userInfo PHP Method

userInfo() public method

用户资料
public userInfo ( )
    public function userInfo()
    {
        OAuth::init(QQ_KEY, QQ_SECRET);
        $r = Tencent::api('user/info');
        $me = json_decode($r, true);
        $user['id'] = $me['data']['name'];
        $user['uname'] = $me['data']['nick'];
        $user['province'] = $me['data']['province_code'];
        $user['city'] = $me['data']['city_code'];
        $user['location'] = $me['data']['location'];
        $user['userface'] = $me['data']['head'] . '/120';
        $user['sex'] = $me['data']['sex'] == '1' ? 1 : 0;
        return $user;
    }

Usage Example

Example #1
0
 private function _on_qq_logined()
 {
     include_once DOC_ROOT_PATH . 'Addons/plugins/login/qq.class.php';
     $qq = new qq();
     //检查是否已绑定帐号
     $openid = $qq->get_openid();
     $platformModel = M('user_platform');
     $user = $platformModel->field('id,user_id')->where("`type`='qq' AND openid='{$openid}'")->find();
     //已绑定
     if ($user) {
         //从UC中获取资料并同步UC应用
         $ucService = service('Uc');
         $userService = service('User');
         $_user = $ucService->get_user_info($user['user_id'], 1);
         if ($_user === null) {
             $platformModel->where("id='{$user['id']}'")->delete();
             redirect(reUrl('User/bind?type=qq'));
         }
         $qq_u_info = $qq->userInfo();
         $userService->after_logined(array('user_id' => $_user[0], 'nick' => $qq_u_info['nickname'], 'avatar' => $qq_u_info['figureurl_2']), false);
         $_SESSION['login_type'] = '101';
         $syncHtml = $ucService->build_synlogin($_user[0]);
         if (cookie('r_url')) {
             $this->assign('jumpUrl', cookie('r_url'));
             cookie('r_url', null);
         } else {
             $this->assign('jumpUrl', reUrl('User/index'));
         }
         $this->success('登陆成功' . $syncHtml);
     } else {
         redirect(reUrl('User/bind?type=qq'));
     }
 }