コード例 #1
0
ファイル: OauthModule.php プロジェクト: nicklos17/appserver
 /**
  * [第三方注册]
  * @param  [string] $session     [用于证明来自第三方登录的session]
  * @param  [string] $uTags       [第三方uid]
  * @param  [string] $deviceToken [用户手机的设备标签]
  * @param  [string] $mobi        [用户手机号]
  * @param  [string] $name        [用户名]
  * @param  [string] $pass        [密码]
  * @param  [string] $pic         [用户头像url]
  * @param  [string] $file        [图片二进制流]
  * @return [type]              [description]
  */
 public function reg($session, $uTags, $deviceToken, $mobi, $name, $pass, $pic, $file, $type)
 {
     //用户session,判断是否来自第三方登录
     $session = $this->redis->get($session);
     if ($session == FALSE || $session != $uTags) {
         return self::ILLEGAL;
     }
     $row = $this->swoole->getUserInfoByMobi($mobi);
     if (!empty($row['data'])) {
         return self::EXIST_MOBILE;
     }
     //如果有图片流,则进行存储图片的操作
     if (!empty($file['file'])) {
         $picInfo = Common::makePath($this->di['sysconfig']['userPic'], $mobi);
         $userInfo['pic'] = $picInfo['picUrl'];
     } else {
         //没有图片流,上传用户的第三方头像
         $userInfo['pic'] = $pic;
     }
     //注册得到用户id
     $uid = $this->oauthFactory->register($this->plat, $mobi, Common::substrCut($name, 12), $pass, $uTags, $userInfo['pic'], $_SERVER['REQUEST_TIME']);
     //删除session
     $this->redis->del($session);
     //上传图片
     if (!empty($file['file'])) {
         $this->swoole->uploadAvatar($file['file']['tmp_name'], filesize($file['file']['tmp_name']), $picInfo['rename'], $picInfo['path']);
     }
     //检查用户在注册之前是否被添加过亲人并进行操作
     self::checkNewUser($uid['data'], $mobi);
     return $this->_showLoginData($mobi, $deviceToken, $type);
 }