Nova 通知可让你通知 Nova 用户应用程序中的事件,如报告准备下载或需要注意的发票。Nova 通知显示在滑出菜单中,可通过 Nova 顶部导航菜单中的「铃铛」图标访问。

要发送通知,你只需向用户的 notify 方法发送一个 NovaNotification 实例。当然,在开始之前,你应该确保您的用户模型使用了 消息通知。
Nova 通知可通过 NovaNotification 类生成,该类提供了 message、action、icon 和 type 等便捷方法。目前支持的通知类型包括 success, error, warning, 和 info:
use Laravel\Nova\Notifications\NovaNotification;
use Laravel\Nova\URL;
$request->user()->notify(
NovaNotification::make()
->message('Your report is ready to download.')
->action('Download', URL::remote('https://example.com/report.pdf'))
->icon('download')
->type('info')
);你也可以通过在通知的 via 方法返回的通道数组中包含 NovaChannel 来发送 Nova 通知:
use Laravel\Nova\Notifications\NovaNotification;
use Laravel\Nova\Notifications\NovaChannel;
use Laravel\Nova\URL;
/**
* 获取通知的发送渠道
*
* @param mixed $notifiable
* @return array
*/
public function via($notifiable)
{
return [NovaChannel::class];
}
/**
* 获取通知的 nova 表示
*
* @return array
*/
public function toNova()
{
return (new NovaNotification)
->message('Your report is ready to download.')
->action('Download', URL::remote('https://example.com/report.pdf'))
->icon('download')
->type('info');
}定义通知操作时,可调用 openInNewTab 方法,指示 Nova 在新的浏览器标签页中打开给定的 URL:
->action(
'Download', URL::remote('https://example.com/report.pdf')
)->openInNewTab()Nova 使用由 Steve Schoger 制作的免费 Heroicons 图标集。因此,在向 Nova 通知的 icon 方法提供图标名称时,你只需指定其中一个图标的名称即可。
如果你想在 Nova 内部完全禁用通知,可以从你的 App/Providers/NovaServiceProvider 中调用 withoutNotifications 方法:
use Laravel\Nova\Nova;
/**
* 启动任何应用服务。
*
* @return void
*/
public function boot()
{
parent::boot();
Nova::withoutNotificationCenter();
}默认情况下,当通知中心内有未读通知时,Nova 会显示一个视觉指示器。 如果你希望 Nova 显示未读通知的数量,可以从你的 App/Providers/NovaServiceProvider 中调用 showUnreadCountOnNotificationCenter 方法:
use Laravel\Nova\Nova;
/**
* 启动任何应用服务。
*
* @return void
*/
public function boot()
{
parent::boot();
Nova::showUnreadCountOnNotificationCenter();
}