codemenco/laravel-notify

支持JavaScript和Vue使用的Laravel灵活闪存通知

dev-main 2021-12-19 19:34 UTC

This package is auto-updated.

Last update: 2024-09-20 01:41:55 UTC


README

Build Status Total Downloads Latest Stable Version License

简介

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

用法

  1. 使用 @notifyCss 添加样式链接
  2. 使用 @notifyJs 添加脚本链接
  3. 在您的控制器中使用 notify() 辅助函数设置信息、成功、警告或错误的通知
  4. 将通知部分包含到您的母版布局中 @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种类型的通知

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

在Vue js/ JavaScript解决方案中使用

flashBox('error', 'An error occurred while processing your request.');
flashBox('success', 'The user has been updated successfully.');

变更日志

请参阅变更日志以获取有关最近更改的更多信息。

贡献

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

安全

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

致谢

  • [Codemen Co][链接作者]
  • [所有贡献者][链接贡献者]

许可证

许可证。有关更多信息,请参阅许可证文件