سلام خدمت شما من میخوام یه سایت real time بنویسم که وقتی ادمین پستیو میذاره کاربر همون موقع تو سایت ببینش بدون رفرش صفحه ، خب اینکارو با خوده broadcast لاراول انجام میدم من تا اینجای کار یه event درست کردم و دیتا های pusher امم ست کردم وقتی ایونتمو صدا میزنم و مقدار دهیش میکنم دیتا هامو بهم برمیگردونه ولی یه مقدار socket هم هست که برابر با null
[
{
"user": {
"id": 1,
"name": "mhmd",
"email": "mhmdsh818@gmail.com",
"role": "user",
"timezone": "Asia/Tehran",
"rate": "free",
"created_at": "2020-08-01 11:42:43",
"updated_at": "2020-08-01 11:42:43",
"confirmed_at": "2020-08-10 00:00:00",
"confirmation_code": null
},
"socket": null
}
]
کد هامم به این صورته : MY Event
class BroadEvent implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
/**
* Create a new event instance.
*
* @return void
*/
public $user;
public function __construct(User $user)
{
$this->user = $user;
}
/**
* Get the channels the event should broadcast on.
*
* @return \Illuminate\Broadcasting\Channel|array
*/
public function broadcastOn()
{
return new Channel('user');
}
البته وقتی با Laravel Echo این کارو میکنم تو console با این ارور مواجه میشم:
Pusher : : ["No callbacks on user for pusher:subscription_succeeded"]
و البته مقداری هم به من برنمیگردونه
Pusher : : ["Event recd",{"event":"pusher_internal:subscription_succeeded","channel":"user","data":{}}]
کد های vue هم به این شکل هستند:
window.Echo.channel('user')
.listen('BroadEvent' , function (e) {
console.log(e);
});
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟