/** * [第三方注册] * @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); }