Я настроил событие и новый канал:
class TaskCreated implements shouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public $task;
public function __construct(Task $task)
{
$this->task = $task;
}
}
, установил Echo и настроил его
import Echo from "laravel-echo"
window.Pusher = require('pusher-js');
window.Echo = new Echo({
broadcaster: 'pusher',
key: 'pusher-key',
cluster: 'ap2',
encrypted: true
});
затем я вызываю событие TaskCreated, когда задача размещена
event(new TaskCreated($task));
Однако проблема в том, что Echo не слушает журналы pusher или НИЧЕГО. хотя в laravel -websockets событие было создано как api-сообщение.
вот vue js Реализация эха:
mounted () {
axios.get('/tasks').then(response => (this.tasks = response.data));
Echo.channel('taskCreated').listen('TaskCreated', (e) => {
console.log(e);
this.tasks.push(task.body)
});
в дашборде:
api-message Channel: taskCreated, Event: App\Events\TaskCreated 19:01:55
ОБНОВЛЕНИЕ
Теперь, когда я пытался подключиться к WS, состояние подключения ожидает в течение 10 секунд, затем завершается с ошибкой, WebSocket закрывается до того, как соединение установлено. И Ошибка при установлении соединения: net :: ERR_CERT_AUTHORITY_INVALID.
URL-адрес запроса: wss: //127.0.0.1/app/local? Protocol = 7 & client = js & version = 6.0.2 & flash = false
import Echo from "laravel-echo"
window.Pusher = require('pusher-js');
window.Echo = new Echo({
broadcaster: 'pusher',
key: process.env.MIX_PUSHER_APP_KEY,
wsHost: window.location.hostname,
wssPort: 6001,
disableStats: true,
enabledTransports: ['ws', 'wss']