예제 #1
0
 /**
  * 用户登录接口
  * @param int $client_id 客户端Id
  * @param array $message 客户端消息
  * $message = array(
  *     'uid'=> ':integer', //用户uid
  *     'oauth_token' => 'string', // 用户oauth_token
  *     'oauth_token_secret' => ':string', // 用户oauth_token_secret
  * );
  * @return void
  */
 protected static function loginMessage($client_id, array $message = array())
 {
     // 取得客户端数据包各参数
     $uid = isset($message['uid']) ? (int) $message['uid'] : null;
     $oauth_token = isset($message['oauth_token']) ? (string) $message['oauth_token'] : null;
     $oauth_token_secret = isset($message['oauth_token_secret']) ? (string) $message['oauth_token_secret'] : null;
     // 如果都正确传递,那么尝试登陆用户
     if ($uid && $oauth_token && $oauth_token_secret) {
         // 调用登陆接口尝试登陆,如果能正确登陆,则发送登陆成功的提示
         if (Message::login($client_id, $uid, $oauth_token, $oauth_token_secret)) {
             self::sendDataToCurrentClient('login', (int) Message::getLoggedUserInfo('uid'));
             self::pushMessageDataToCurrent();
             return;
             // 登录已经成功,后面不在执行,所以直接返回
         }
     }
     // 无法登陆或数据包参数不完整,则发送登陆错误信息
     self::sendDataToCurrentClient('login', $uid, 1004, 'Login failed');
 }