首页 > 解决方案 > 我没有在推送器中收到 api 消息(调试控制台)

问题描述

我正在尝试使用 Pusher 在 laravel 应用程序中进行一对一聊天,但我没有从我的应用程序获取 API 消息到 pusher 调试控制台。

它表明所有其他事物都接受这一点,当在用户之间创建会话时,它将在会话数据库中创建一个会话 ID,并且应该在 api 消息中显示..

我的代码:- SessionEvent

<?php

namespace App\Events;

use Illuminate\Broadcasting\Channel;
use Illuminate\Queue\SerializesModels;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;

class SessionEvent implements ShouldBroadcast
{
    use Dispatchable, InteractsWithSockets, SerializesModels;
    /**
     * Create a new event instance.
     *
     * @return void
     */

    public $session;
    public $session_by;

    public function __construct($session, $session_by)
    {
        $this->session = $session;
        $this->session_by = $session_by;
        //$this->dontBroadcastToCurrentUser();
    }
    /**
     * Get the channels the event should broadcast on.
     *
     * @return \Illuminate\Broadcasting\Channel|array
     */
    public function broadcastOn()
    {
        return new Channel('Chat');
    }
}

会话控制器.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\Session;
use App\Http\Resources\SessionResource;
use App\Events\SessionEvent;

class SessionController extends Controller
{
    public function create(Request $request)
    {
        $session = Session::create(['user1_id' => auth()->id(), 'user2_id' => $request->friend_id]);
        $modifiedSession = new SessionResource($session);
        broadcast(new SessionEvent($modifiedSession, auth()->id()));
        return $modifiedSession;
    }
}

请让我知道我的错误在哪里......

谢谢你

标签: phplaravelpusher

解决方案


推荐阅读