ratno/nova-echo

将 Laravel Echo 与您的广播配置添加到您的 Laravel Nova 应用中

维护者

详细信息

github.com/ratno/nova-echo

源代码

安装: 708

依赖: 1

建议: 0

安全: 0

星星: 0

关注者: 1

分支: 10

1.0.0 2020-05-02 14:30 UTC

This package is auto-updated.

Last update: 2024-09-29 05:09:07 UTC


README

Latest Version on Packagist Quality Score Total Downloads

将 Laravel Echo 与您的广播配置添加到您的 Laravel Nova 应用。

安装

使用 Nova Echo,我们已经在我们的 JS 中有一个预先配置好的 Laravel Echo 实例。

以下是一些使用 websockets 进行广播/接收的建议选项

您可以在官方文档中找到有关在 Laravel 中设置广播的说明。

一旦您在 Nova 应用中设置好这些,您可以通过 composer 安装此软件包

composer require coreproc/nova-echo

然后您需要覆盖 Nova 的 layout.blade.php。创建一个布局文件 resources/views/vendor/nova/layout.blade.php 并从 vendor/laravel/nova/resources/views/layout.blade.php 复制内容。

在 Nova 布局中包含 Nova Echo 的 blade 文件。此 blade 文件包含带有您的广播配置的 meta 标签。

// file: resources/views/vendor/nova/layout.blade.php

<!DOCTYPE html>
<html lang="en" class="h-full font-sans antialiased">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=1280">
  <meta name="csrf-token" content="{{ csrf_token() }}">
  
  @include('nova-echo::meta') <!-- Include this line -->
  
  <title>
  ...
  

使用方法

Nova Echo 实例化 Echo 并使其在您的 Nova 应用中可用。您可以通过

window.Echo

默认情况下,此 Echo 实例已经订阅了登录用户的私有频道,默认情况下将是您的应用的用户对象的命名空间,即 App.User.{id}

您可以通过以下方式访问和附加监听器到该用户的私有频道

window.userPrivateChannel

为了通过此频道验证用户,请确保您有包含 Broadcast::routes() 声明的 BroadcastServiceProvider 可用。您还需要在您的 route/channels.php 文件中定义访问,例如

// file: routes/channels.php

Broadcast::channel('App.User.{id}', function ($user, $id) {
    return (int)$user->id === (int)$id;
});

您可以通过覆盖 receivesBroadcastNotificationsOn 使用不同的频道名称。

class User extends Authenticatable
{
    use Notifiable;
    
    ...
    
    /**
     * The channels the user receives notification broadcasts on.
     *
     * @return string
     */
    public function receivesBroadcastNotificationsOn()
    {
        return 'users.' . $this->id;
    }
}

变更日志

有关最近更改的更多信息,请参阅 变更日志

贡献

有关详细信息,请参阅 贡献指南

安全

如果您发现任何安全相关的问题,请通过电子邮件 chris.bautista@coreproc.ph 而不是使用问题跟踪器来报告。

致谢

关于 CoreProc

CoreProc 是一家软件开发公司,为初创公司、数字/广告机构和企业提供软件开发服务。

在我们的 网站 上了解更多关于我们的信息。

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件