tiththa/laravel-notify

适用于 Laravel L9 的灵活闪存通知

v2.2 2021-05-29 13:22 UTC

README

Build Status 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 7 或更高版本,可以使用标签语法。

<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>


        @include('notify::messages')
        // Laravel 7 or greater
        <x:notify-messages />
        @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')

预设通知

如果您有一个在系统中多个不同位置使用的特定通知,您可以在配置文件中将它定义为预设通知。这使您能够在单个位置维护常用的通知,从而更容易维护。下面是如何在“配置”部分定义预设消息的说明。

例如,要使用您定义的名为 '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以获取详细信息和一个待办事项列表。

安全

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

鸣谢

捐赠 ❤️

如果您使用并喜欢Laravel Notify,您可以通过以下方式鼓励作者

捐赠者名单

  1. Charlie J - (10,00 美元) - 由来自联合王国的Charlie充满爱心地捐赠 - 2020年10月9日

许可证

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