0

我正在使用 laravel toastr 功能(链接在这里)。我只是想问一下是否有可能,或者有没有办法在 cron 作业中使用 toastr 功能,然后将 toastr 结果扔到网页中?

我也不想使用任何网络套接字。我只是问有没有人有建议。

谢谢

4

1 回答 1

1

好的,如果我正确理解您想要做的是向用户发送异步消息的一种方法是使用 WebSocket 并添加一个监听该消息的 JavaScript,如果有任何传入数据显示 toastr。问题是你不想要 WebSockets。另一个选项是在用户加载页面后显示 toastr 消息,但这并不完全是您想要的,因为这将需要重新加载页面才能从服务器获取数据,尽管我想这已经尽可能接近了。您可以在主模板文件中包含以下代码:

@if (Session::has('flash_notification.message'))

    <script>
        $(document).ready(function() {

        toastr.{{ Session::get('flash_notification.level') }}
        ('{{ Session::get('flash_notification.message') }}');

        });
    </script>

@endif

并且您需要另一个脚本或 Laravel 命令,该脚本或 Laravel 命令会定期从 CRONJOB 执行,并且应该写入数据库或文件。写入数据后,您可以在 Contrller 或 Model 中读取它并将其附加到 Session 中,您可以使用时间戳,这样您就不会打印重复的 toastrs。

或者,您可以在页面中有一个 JavaScript,它会时不时地轮询端点,如果有更新,它将显示通知,但这会给您的网络服务器(Apache)增加额外的负载。

于 2015-10-01T11:23:51.490 回答