Как исправить информацию о пользователе не отображается на странице - PullRequest
0 голосов
/ 29 сентября 2019

Я следую за разделом «Каналы присутствия» в документах Laravel.1. Авторизация каналов присутствия. Я создал функцию, чтобы проверить, есть ли у пользователя права доступа к ним.

Broadcast::channel('chat', function ($user) {
        ...
  return user_info;
   })

2. Соединение каналов присутствия - говорят, что я должен использовать метод соединения Echo.Так я и сделал.

Echo.join('chat')
   .here((users) => {
       console.log('hello',users)
       this.users = users;
   })
   .joining((user) => {
       console.log('hey you', user)
       this.users.push(user);
   })
   .leaving((user) => {
       this.users.splice(this.users.indexOf(user), 1);
   })

Вот часть, которая меня смущает.«Данные, возвращаемые обратным вызовом авторизации, будут доступны слушателям событий канала присутствия в вашем приложении JavaScript».Я предполагаю, что я предполагаю иметь этот Javascript.часть, и это должен быть слушатель событий.Я просто не могу понять, где это должно быть и как я должен это назвать.Это как-то связано с функцией, которую я использую, когда пользователь вошел в систему?Итак, помогите мне понять, как реализовать эти «слушатели событий канала присутствия в вашем приложении JavaScript».

1 Ответ

1 голос
/ 29 сентября 2019

"Данные, возвращенные обратным вызовом авторизации, будут доступны слушателям событий канала присутствия в вашем приложении JavaScript."
https://laravel.com/docs/5.8/broadcasting#authorizing-presence-channels

Это означает, что данныевозвращаемый вашим авторизационным обратным вызовом Broadcast::channel(...), который равен $user_info, будет доступен для прослушивателей joining() и leaving() или любых пользовательских прослушивателей в вашем приложении JavaScript.

Определенные в настоящее время прослушиватели ожидаютуслышать, как другой пользователь присоединяется или покидает канал chat.Поэтому каждый пользователь также должен запускать соответствующие события в своем собственном экземпляре приложения.

// join the channel — trigger joining()
Echo.join('chat');
// leave the channel — trigger leaving()
Echo.leave('chat');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...