Я работаю над веб-проектом.
У меня есть Laravel в качестве моего бэкэнда реагирования, как у моего интерфейса
У меня есть пользователи, которые оставляют комментарии в моей БД.
Я хотел реализовать pusher, чтобы я мог показывать сообщения в режиме реального времени, как только кто-то из пользователей опубликовал новое сообщение.
Я очень близок к тому, чтобы добиться такого поведения.
на лестнице
У меня есть это событие
class NewPostsCast implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public $post;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct($post)
{
$this->post = $post;
}
/**
* Get the channels the event should broadcast on.
*
* @return \Illuminate\Broadcasting\Channel|array
*/
public function broadcastOn()
{
return new Channel('posts');
}
}
и после сохранения сообщения в моей базе данных я запускаю это событие
event(new NewPostsCast($output));
на реакцию
let channel = pusher.subscribe("posts");
// i guess error is here because this function never called
// it's only called at startup
channel.bind("NewPostsCast", post => {
console.log("pusher::: ", post);
});
может быть полезно
из бревна-толкача
Pusher: нет обратных вызовов для сообщений для App \ Events \ NewPostsCast
однако пушер также возвращает этот журнал
Pusher : Event recd : {"event":"App\\Events\\NewPostsCast","channel":"posts","data":{"post":{"id":19,"title":"sd","body":"eksdl","tags":"[\"ds\",\"dsf\"]","user_id":1,"created_at":"2019-04-18 14:22:00","updated_at":"2019-04-18 14:22:00","votes":0,"user":{"id":1,"name":"user1","username":"user1","email":"user1@health.io","address":null,"state":null,"country":null,"gender":"female","phone":null,"avatar":"http://healthqo.api/public/profile_pics/default/female.png","created_at":"2019-04-09 08:30:12","updated_at":"2019-04-09 08:30:12"}}}}