mujhtech/nav-toastr

nav-toastr 为 Laravel 应用提供的带自定义重定向的 flash 通知

v1.10 2021-06-25 09:27 UTC

This package is auto-updated.

Last update: 2024-08-25 16:38:58 UTC


README

👀 此包帮助您将 Toast.js 通知添加到您的 Laravel 应用

Latest Stable Version Latest Unstable Version Build Status Scrutinizer Code Quality Code Coverage Total Downloads License

安装

您可以使用 composer 安装此包

$ composer require mujhtech/nav-toastr

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

'providers' => [
    ...
    Mujhtech\NavToastr\NavToastrServiceProvider::class
    ...
];

要安装配置和资产文件,请运行

$ php artisan navtoastr:install"

用法

在您的视图模板中包含 [app.css] 和 app.js

  1. 链接到 app.css <link href="src/Toast.css" rel="stylesheet"/>@navtoastrCss

  2. 链接到 app.js <script src="src/Toast.js"></script>@navtoastrJs

  3. 在您的控制器中使用 navtoastr() 辅助函数来设置 info、success、warning 或 error 通知

// Display an info toast with no title
navtoastr()->info('Are you the 6 fingered man?')

例如

<?php

namespace App\Http\Controllers;

use App\User;
use App\Http\Requests\PostRequest;
use Illuminate\Database\Eloquent\Model;

class UserController extends Controller
{
    public function store(UserRequest $request)
    {
        $post = User::create($request->only(['username', 'password']));

        if ($post instanceof Model) {

            navtoastr()->success('Data has been saved successfully!');

            return navtoastr()->named('posts.index');
        }

        navtoastr()->error('An error has occurred please try again later.');

        return navtoastr()->back();
    }
}

之后,在视图的底部添加 @navtoastrRender 以实际渲染 nav-toastr 通知。

<!doctype html>
<html>
    <head>
        <title>Nav Toastr.js</title>
        @navtoastrCss
    </head>
    <body>
        
    </body>
    @navtoastrJs
    @navtoastrRender
</html>

其他选项

// Set a info toast
navtoastr()->info('My name is Muhideen Mujeeb')

// Set a success toast
navtoastr()->success('Have fun storming the castle!')

// Set an error toast
navtoastr()->error('I do not think that word means what you think it means.')

// Set an warning toast

navtoastr()->warning('We do have the Kapua suite available.')

其他 API 方法

// 您也可以使用方法链将多个消息链接在一起

navtoastr()->info('Are you the 6 fingered man?')->success('Have fun storming the castle!')->warning('doritos');

// 你可以将 @navtoastrRender 替换为

navtoastr()->render() or app('nav-toastr')->render()

// 你可以使用 navtoastr('') 而不是 navtoastr()->success()

function toastr(string $message = null, string $type = 'success', string $title = '', bool $enableCustomButton = false);

所以

  • navtoastr($message) 等同于 navtoastr()->success($message)
  • navtoastr($message, 'info', true) 等同于 navtoastr()->info($message, true)
  • navtoastr($message, 'warning', true) 等同于 navtoastr()->warning($message, true)
  • navtoastr($message, 'error', false) 等同于 navtoastr()->error($message, false)

配置

// config/nav-toastr.php
<?php

return [
    
    'custombuttons' => [
        [
            'text'      => 'Refresh the page',
            'reload'    => true
        ],
        [
            'text'      => 'My Website',
            'url'       => 'https://mujh.tech'
        ],
        [
            'text'      => 'Twitter',
            'url'       => 'https://twitter.com/mujhtech'
        ]
    ],
];

致谢

许可证

MIT