codemenco / laravel-notify
支持JavaScript和Vue使用的Laravel灵活闪存通知
Requires
- php: >=7.4
- illuminate/support: ~7.0|~8.0
Requires (Dev)
- mockery/mockery: ^1.0
- phpunit/phpunit: ^8.0|^9.0
This package is auto-updated.
Last update: 2024-09-20 01:41:55 UTC
README
简介
Laravel Notify 是一个允许您向项目添加自定义通知的包。提供多种通知设计。在此版本中,您可以使用javascript或vue。😎
版本指南
安装
您可以使用composer安装此包
$ composer require codemenco/laravel-notify
然后,将服务提供者添加到 config/app.php
文件中。在Laravel 5.5及以上版本中,如果启用了包自动发现,则可以跳过此步骤。
'providers' => [ ... Codemenco\Notify\LaravelNotifyServiceProvider::class ... ];
您可以通过运行以下命令发布配置文件和资源
$ php artisan vendor:publish --provider="Codemenco\Notify\LaravelNotifyServiceProvider"
现在我们已经向我们的应用程序发布了一些新文件,我们需要使用以下命令重新加载它们
$ composer dump-autoload
用法
- 使用
@notifyCss
添加样式链接 - 使用
@notifyJs
添加脚本链接 - 在您的控制器中使用
notify()
辅助函数设置信息、成功、警告或错误的通知 - 将通知部分包含到您的母版布局中
@include('notify::messages')
如果您使用的是Laravel 7或更高版本,可以使用标签语法。
<x:notify-messages />
或者
@include('notify::components.notify')
基本用法
在您的控制器中,在执行重定向之前调用 notify
方法并传递消息。
public function store() { notify()->success('Laravel Notify is awesome!'); return Redirect::home(); }
完整示例
<!doctype html> <html> <head> <title>Laravel Notify</title> @notifyCss </head> <body> @include('notify::messages') // Laravel 7 or greater <x:notify-messages /> @notifyJs </body> </html>
通知类型
Laravel Notify 实际上显示5种类型的通知
toast
通知(Laravel Notify的默认通知)
notify()->success('Welcome to Laravel Notify ⚡️') or notify()->success('Welcome to Laravel Notify ⚡️', 'My custom title')
connectify
通知,基本用法示例
connectify('success', 'Connection Found', 'Success Message Here')
drakify
(😎)通知,仅显示一个警报
drakify('success') // for success alert or drakify('error') // for error alert
smilify
通知,显示使用笑脸(😊)表情的简单自定义通知
smilify('success', 'You are successfully reconnected')
emotify
通知,显示使用矢量表情的简单自定义通知
emotify('success', 'You are awesome, your data was successfully created')
预设通知
如果您有在系统多个不同位置使用的特定通知,您可以在配置文件中将它定义为预设通知。这使得在单个位置维护常用通知变得更加容易。有关如何在下面配置部分定义预设消息的说明。
例如,要使用名为 'common-notification' 的预设通知,请使用以下方法
notify()->preset('common-notification')
如果您需要,可以覆盖配置中设置的任何值。例如,如果您有一个跨多个位置使用的通用通知,但您想在一个特定位置更改图标,而不必手动编写一个新的通知,这可能很有用。
为此,只需传递一个包含要覆盖的属性的键和要覆盖的值的数组的参数。
例如,我们可以使用以下方法覆盖 'common-notification' 的 'title' 属性
notify()->preset('common-notification', ['title' => 'This is the overridden title'])
配置
配置文件位于发布服务提供者元素之后的 config/notify.php
。
一些很酷的功能。要激活 暗黑模式
,更新 theme
配置,或在您的 .env 文件中添加全局变量 NOTIFY_THEME
。
'theme' => env('NOTIFY_THEME', 'dark'),
您可以使用以下结构在配置文件中定义预设通知
'preset-messages' => [ 'user-updated' => [ 'message' => 'The user has been updated successfully.', 'type' => 'success', 'model' => 'connect', 'title' => 'User Updated', ], 'user-deleted' => [ 'message' => 'The user has been deleted successfully.', 'type' => 'success', 'model' => 'connect', 'title' => 'User Deleted', ], ],
上面的示例显示了两个预设通知的配置:'user-updated' 和 'user-deleted'。
在Vue js/ JavaScript解决方案中使用
flashBox('error', 'An error occurred while processing your request.'); flashBox('success', 'The user has been updated successfully.');
变更日志
请参阅变更日志以获取有关最近更改的更多信息。
贡献
请参阅contributing.md以获取详细信息和一个待办事项列表。
安全
如果您发现任何与安全相关的问题,请直接通过作者邮箱联系,而不是使用问题跟踪器。
致谢
- [Codemen Co][链接作者]
- [所有贡献者][链接贡献者]
许可证
许可证。有关更多信息,请参阅许可证文件。