Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. namespace app\webscoket\handler;
  3. use app\services\store\LoginServices;
  4. use app\webscoket\BaseHandler;
  5. use app\webscoket\Response;
  6. use crmeb\exceptions\AuthException;
  7. /**
  8. * Class StoreHandler
  9. * @package app\webscoket\handler
  10. */
  11. class StoreHandler extends BaseHandler
  12. {
  13. /**
  14. * 后台登陆
  15. * @param array $data
  16. * @param Response $response
  17. * @return Response
  18. */
  19. public function login(array $data = [], Response $response)
  20. {
  21. if (!isset($data['token']) || !$token = $data['token']) {
  22. return $response->fail('授权失败!');
  23. }
  24. try {
  25. /** @var LoginServices $services */
  26. $services = app()->make(LoginServices::class);
  27. $authInfo = $services->parseToken($token);
  28. } catch (AuthException $e) {
  29. return $response->fail($e->getMessage());
  30. }
  31. if (!$authInfo || !isset($authInfo['id'])) {
  32. return $response->fail('授权失败!');
  33. }
  34. return $response->success(['uid' => $authInfo['store_id']]);
  35. }
  36. }