| 1234567891011121314151617181920212223242526272829303132333435363738 |
- <?php
- namespace App\Events;
- use Illuminate\Broadcasting\PrivateChannel;
- use Illuminate\Contracts\Broadcasting\ShouldBroadcastNow;
- /**
- * 后台列表实时推送的单条消息,由 admin-realtime:relay 同步广播(不经队列)。
- * 前端 Echo:echo.private('admin.orders.sport').listen('.order.created', handler)
- */
- class AdminRealtimeBroadcast implements ShouldBroadcastNow
- {
- /** @param array{seq:int,id:int,channel:string,event:string,action:string,key:string,data:array,source:string,created_at:string} $message */
- public function __construct(public readonly array $message)
- {
- }
- public function broadcastConnections(): array
- {
- return [config('admin_realtime.connection')];
- }
- public function broadcastOn(): array
- {
- return [new PrivateChannel($this->message['channel'])];
- }
- public function broadcastAs(): string
- {
- return $this->message['event'];
- }
- public function broadcastWith(): array
- {
- return $this->message;
- }
- }
|