LoginSuccessEvent.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. namespace App\Module\AppGame\Events;
  3. use App\Module\User\Models\User;
  4. use Illuminate\Broadcasting\InteractsWithSockets;
  5. use Illuminate\Foundation\Events\Dispatchable;
  6. use Illuminate\Queue\SerializesModels;
  7. /**
  8. * 登录成功事件
  9. *
  10. * 当用户成功登录时触发此事件,允许其他系统在用户登录后执行相关操作。
  11. * 此事件可用于记录登录日志、更新用户状态、发送通知等操作。
  12. */
  13. class LoginSuccessEvent
  14. {
  15. use Dispatchable, InteractsWithSockets, SerializesModels;
  16. /**
  17. * 用户对象
  18. *
  19. * @var User
  20. */
  21. public User $user;
  22. /**
  23. * 登录时间戳
  24. *
  25. * @var int
  26. */
  27. public int $loginTime;
  28. /**
  29. * 会话ID
  30. *
  31. * @var string
  32. */
  33. public string $sessionId;
  34. /**
  35. * 创建一个新的事件实例
  36. *
  37. * @param User $user 登录的用户对象
  38. * @param string $sessionId 会话ID
  39. * @return void
  40. */
  41. public function __construct(User $user, string $sessionId)
  42. {
  43. $this->user = $user;
  44. $this->loginTime = time();
  45. $this->sessionId = $sessionId;
  46. }
  47. }