سلام وقت بخیر
من برای چت همزمان در لاراول از پکیج های زیر استفاده کردم
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);
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟