function getOpenid()
 {
     $openid = session('openid');
     if ($openid == null) {
         $this->code = I('get.code', '');
         $this->state = I('get.state', '');
         //如果存在code,证明是二次访问。
         if ($this->code != '' && $this->code != null && $this->code != S('code')) {
             S('code', $this->code, 300);
             //缓存300秒
             $user = get_user_token($this->code);
             //获取有户token相关信息
             if ($user['openid'] != null) {
                 session('openid', $user['openid']);
                 session('userToken', $user['access_token']);
                 session('openidTime', time());
                 $key = $user['openid'] . "Token";
                 S($key, $this['userToken'], $user['expires_in']);
             } else {
                 var_dump($user);
                 throw_exception('获取用户信息失败');
             }
         } else {
             goto_auth();
             die;
         }
     } else {
         return $openid;
     }
 }
Exemple #2
0
function get_user_info($code)
{
    return get_user_token($code);
}