【问题标题】:laravel vue.js pusherlaravel vue.js 推送器
【发布时间】:2018-07-06 07:45:42
【问题描述】:

我使用 laravel 5.5 和 vue.js 制作了一个测试应用程序,我在 pusher laravel echo 中使用。 当我从应用程序发送消息时,我可以在“pusher.com”中看到 消息成功发送的调试控制台,所以我知道它的工作。 但是我从 vue js Echo 什么也没得到,我什至没有收到错误,这是怎么回事?

vue

  created(){
        window.axios.post('/message')
            .then((res) => {
                this.messages = res.data;
            }),
            Echo.join('chat')
                .listen('MessagePosted',(e)=>{
                    console.log(e)
                });
    }

bootstrap.js

import Echo from 'laravel-echo'
window.Pusher = require('pusher-js');
window.Echo = new Echo({
broadcaster: 'pusher',
key: '1a67166bcd6eb7ce7e67',
cluster: 'us2',
encrypted: true});

控制器

  public function store(Request $request){

    $message = Auth::user()->messages()->create([
        'message' => $request->message,
    ]);

    event(new MessagePosted($message,Auth::user()));
    return ['status' => 'OK'];
}

型号

class MessagePosted implements ShouldBroadcast

{ 使用 Dispatchable、InteractsWithSockets、SerializesModels;

/**
 * @var Message
 *
 */

public $message;

public $user;
/**
 * Create a new event instance.
 *
 * @return void
 */
public function __construct(Message $message,User $user)
{

    $this->message = $message;
    $this->user = $user;

}

/**
 * Get the channels the event should broadcast on.
 *
 * @return \Illuminate\Broadcasting\Channel|array
 */
public function broadcastOn()
{

    return new PresenceChannel('chat');
}}

channels.php

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

agein,当我从我的网站“pusher.com”发送消息时,我实时收到了消息,但我在 Echo 上什么也看不到,而且我没有任何错误

有人可以帮忙吗?

【问题讨论】:

    标签: php laravel-5 vue.js pusher


    【解决方案1】:

    默认情况下,Laravel 的 ShouldBroadcast 使用作业队列来处理广播事件。您可以设置您的队列,这可能是理想的解决方案。或者,要使其快速运行,您可以将 MessagePosted 事件更改为 ShouldBroadcastNow

    class MessagePosted implements ShouldBroadcastNow
    

    别忘了

    use Illuminate\Contracts\Broadcasting\ShouldBroadcastNow;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-24
      • 2017-08-09
      • 1970-01-01
      • 2018-04-17
      • 1970-01-01
      • 2018-11-07
      • 2022-01-24
      • 1970-01-01
      相关资源
      最近更新 更多