yyqsg888/laravel-notify

为 Laravel 提供灵活的闪存通知

v2.4.1 2024-04-15 07:46 UTC

This package is auto-updated.

Last update: 2024-09-15 08:44:43 UTC


README

Total Downloads Latest Stable Version License

简介

Laravel Notify 是一个包,允许您向项目中添加自定义通知。提供了多样化的通知设计。

Android 版本

如果您需要 Android 版本,请尝试此包 Aesthetic Dialogs。祝您编码愉快 👨🏾‍💻

🎞️ 视频教程

安装

您可以使用 composer 安装此包

$ composer require mckenziearts/laravel-notify

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

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

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

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

现在我们已经将一些新文件发布到我们的应用程序中,我们需要使用以下命令重新加载它们

$ composer dump-autoload

用法

  1. 使用 @notifyCss 添加样式链接
  2. 使用 @notifyJs 添加脚本链接
  3. 在您的控制器中使用 notify 辅助函数设置信息、成功、警告或错误通知
  4. 将 notify 组件包含到主布局中 @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 通知,使用笑脸(😊)表情显示简单的自定义通知
smilify('success', 'You are successfully reconnected')
  1. 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'。

变更日志

请参阅 变更日志 了解最近更改的详细信息。

贡献

请参阅contributing.md以获取详细信息和一个待办事项列表。

安全

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

致谢

许可协议

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