1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- <?php
- namespace app\webscoket\handler;
- use app\services\message\service\StoreServiceRecordServices;
- use app\services\user\UserAuthServices;
- use app\webscoket\BaseHandler;
- use app\webscoket\Manager;
- use app\webscoket\Response;
- use crmeb\exceptions\AuthException;
- class UserHandler extends BaseHandler
- {
-
- public function login(array $data, Response $response)
- {
-
- if (isset($data['tourist']) && $data['tourist']) {
- return $response->success();
- }
- if (!isset($data['token']) || !$token = $data['token']) {
- return $response->fail('授权失败!');
- }
- try {
-
- $services = app()->make(UserAuthServices::class);
- $authInfo = $services->parseToken($token);
- } catch (AuthException $e) {
- return $response->fail($e->getMessage());
- }
- $user = $authInfo['user'];
-
- $service = app()->make(StoreServiceRecordServices::class);
- $service->updateRecord(['to_uid' => $user->uid], ['online' => 1, 'type' => $res['form_type'] ?? 1]);
-
- $this->manager->pushing($this->manager->userFd(Manager::KEFU_TYPE_NUM), $response->message('user_online', [
- 'uid' => $user->uid,
- 'online' => 1
- ])->getData(), $this->fd);
- return $response->success('login', $user->toArray());
- }
- }
|