سلام وقت بخیر
من برای چت همزمان در لاراول از پکیج های زیر استفاده کردم
composer require pusher/pusher-php-server npm install --save-dev laravel-echo pusher-js
و از event استفاده کردم
حالا مشکلم اینه در لحظه چت نمایش نمیده باید رفرش بشه صفحه
با لاراول و لایو وایر انجام دادم
و واقعیت زیاد با لایو وایر اشنایی ندارم
نمیدونم مشکل از ایونت هست یا کدهای مربوط به لایو وایر
کدهای مربوط به event
class MessageSent implements ShouldBroadcast { use Dispatchable, InteractsWithSockets, SerializesModels; public $user; public $message; public $conversation; public $receiver; public function __construct(User $user ,Message $message ,Conversation $conversation ,User $receiver) { $this->user = $user; $this->message = $message; $this->conversation = $conversation; $this->receiver = $receiver; } public function broadcastWith() { return [ 'user_id' => $this->user->id, 'message' => $this->message->id, 'conversation_id' => $this->conversation->id, 'receiver_id' => $this->receiver->id, ]; } /** * Get the channels the event should broadcast on. * * @return \Illuminate\Broadcasting\Channel|array */ public function broadcastOn() { error_log($this->user); error_log($this->receiver); return new PrivateChannel('chat.' .$this->receiver->id); } }
livewire
اینجا وقتی dd گرفتم بدون رفرش باید جواب میداد ولی هیچ چیزی نشون نداد
public function broadcastedMessageReceived($event) { // dd($event); $this->emitTo('chat.chat-list' , 'refresh'); $broadcastedMessage = Message::find($event['message']); if($this->selectedConversation) { if((int) $this->selectedConversation->id === (int)$event['conversation_id']) { $broadcastedMessage->read = 1; $broadcastedMessage->save(); $this->pushMessage($broadcastedMessage->id); $this->emitSelf('broadcastMessageRead'); } } }
حالا مطمئن نیستم باز مشکل از اینجا باشه
کسی دلیل این مشکلو میدونه ؟
تو ترمینال این خطا ابتدای اطلاعات کاربری که پیغام ارسال یا دریافت میکنه میاد
WARN {"id":2,"phone":"09432086304","is_superuser":0,"is_staff":0,"status":1,"reagent_code":null,"image":"2_1677841440.png","name_child":"\u0627\u0645\u06cc\u0631","age":1,"gender":"boy","birth":"1401-12-02","last_login_at":"2023-03-24 14:48:03","last_login_ip":"127.0.0.1",""created_at":"2023-03-03T11:02:15.000000Z","updated_at":"2023-03-24T10:18:03.000000Z"}.
برودکست مشکل داره از این قسمت ارور برمیگردونه اطلاعات کامل کد بالاتر ارسال کردم اگه کسی میدونه ممنون میشم راهنمایی کنه
public function broadcastOn() { error_log($this->user); error_log($this->receiver); return new PrivateChannel('chat.' .$this->receiver->id); }
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟