kriss/yii2-alert-notify

Yii2 Alert Notify

安装次数: 32

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 1

开放性问题: 0

类型:yii2-extension

v1.1 2019-11-08 02:52 UTC

This package is auto-updated.

Last update: 2024-09-08 13:34:53 UTC


README

Yii2 Alert Notify

安装

composer require kriss/yii2-alert-notify -vvv

Ajax 通知的使用

  1. 创建一个控制器,例如 AjaxController,然后添加动作
public function actions()
{
    $actions = parent::actions();

    $actions['notify'] = [
        'class' => AjaxNotifyAction::class,
        'generateInfo' => 'generateNotifyInfo',
    ];

    return $actions;
}
  1. 在控制器中编写 generateNotifyInfo,这是一个示例
public function generateNotifyInfo($from)
{
    $info = [];
    // get info from db or other storage
    // example
    if (random_int(0, 999) > 300) {
        $info[] = [
            'notifyOptions' => [
                'message' => date('H:i:s') . ':Has New Message',
                'url' => Url::to(['site/index']),
                'target' => '_self',
            ],
            'notifySettings' => [
                'delay' => 0,
                'type' => 'info',
                'offset' => [
                    'x' => 20,
                    'y' => 70,
                ],
            ],
            'audioConfig' => [
                'url' => Yii::getAlias('@web/audio/sound1.mp3'),
                'count' => 1,
                'delay' => 1000,
            ],
        ];
    }
    // example End
    return $info;
}
  1. 在视图中使用小部件,例如 layouts/main.php
<?= AjaxNotifyWidget::widget() ?>
  1. 刷新浏览器后,您将看到

preview1

Ajax 通知 generateInfo 结果描述

Flush 通知的使用

  1. 在视图中使用小部件,例如 layouts/main.php
<?= FlushNotifyWidget::widget() ?>
  1. 在控制器或服务中添加 flush 消息
Yii::$app->session->addFlash('success', 'Operate Success');
Yii::$app->session->addFlash('danger', 'Operate danger');
Yii::$app->session->addFlash('error', 'Operate error');
  1. 刷新浏览器后,您将看到

preview1