coderslab/laravel-notify

Laravel 的灵活闪存通知

dev-main 2023-10-28 17:01 UTC

This package is not auto-updated.

Last update: 2024-09-28 21:28:46 UTC


README

Total Downloads Latest Stable Version License

介绍

Laravel Notify 是一个包,可以让您为项目添加自定义通知。提供多样化的通知设计。

Android 版本

如果您需要 Android 版本,请尝试这个包 Aesthetic Dialogs。快乐编码 👨🏾‍💻

安装

您可以使用 composer 安装此包

$ composer require coderslab/laravel-notify

然后,将服务提供者添加到 config/app.php。在 Laravel 5.5 及以上版本中,如果启用了包自动发现,则可以跳过此步骤。

'providers' => [
    ...
    coderslab\Notify\LaravelNotifyServiceProvider::class
    ...
];

您可以通过运行以下命令发布配置文件和资源

$ php artisan vendor:publish --provider="coderslab\Notify\LaravelNotifyServiceProvider"

现在我们已经向应用程序发布了几个新文件,我们需要使用以下命令重新加载它们

$ composer dump-autoload

用法

  1. 使用 @notifyCss 添加样式链接
  2. 使用 @notifyJs 添加脚本链接
  3. 在控制器中使用 notify() 辅助函数设置信息、成功、警告或错误的通知
  4. 将通知部分包含到主布局中 @include('notify::components.notify')

如果您使用的是 Laravel 8 或更高版本,可以使用标签语法。

<x:notify-messages />

基本用法

在控制器中,在执行重定向调用之前,使用消息调用 notify 方法。

public function store()
{
    notify()->success('Laravel Notify is awesome!');

    return Redirect::home();
}

完整示例

<!doctype html>
<html>
    <head>
        <title>Laravel Notify</title>
        @notifyCss
    </head>
    <body>


        <x-notify::notify />
        @notifyJs
    </body>
</html>

通知类型

Laravel Notify 实际上显示 5 种类型的通知

  1. toast 通知(Laravel Notify 的默认通知)
notify()->success('Welcome to Laravel Notify ⚡️') or notify()->success('Welcome to Laravel Notify ⚡️', 'My custom title')
  1. connectify 通知,基本用法示例
connectify('success', 'Connection Found', 'Success Message Here')
  1. drakify(😎)通知,仅显示警报
drakify('success') // for success alert
or
drakify('error') // for error alert
  1. smilify 通知,使用笑脸(😊)表情符号显示简单的自定义 toast 通知
smilify('success', 'You are successfully reconnected')
  1. emotify 通知,使用矢量表情符号显示简单的自定义 toast 通知
emotify('success', 'You are awesome, your data was successfully created')

预设通知

如果您在系统中多个不同位置使用特定的通知,您可以在配置文件中将其定义为预设通知。这使您可以在一个地方轻松维护常用通知。有关如何定义预设消息,请参阅下面的 Config 部分。

例如,要使用您定义的名为 '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'。

变更日志

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

贡献

请参阅contributing.md以获取详细信息和工作清单。

安全

如果您发现任何与安全相关的问题,请通过电子邮件联系作者,而不是使用问题跟踪器。

致谢

许可证

许可证。请参阅许可证文件以获取更多信息。