coreproc/nova-echo

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

安装数量: 84,406

依赖关系: 3

建议者: 0

安全性: 0

星级: 19

关注者: 6

分支: 10

开放问题: 2

语言:JavaScript

0.3.0 2023-03-23 01:26 UTC

This package is auto-updated.

Last update: 2024-09-23 04:50:59 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)。有关更多信息,请参阅 许可证文件