pestopancake/laravel-backpack-database-notifications

Laravel Backpack 数据库通知接口

1.0.9-alpha 2023-11-28 12:48 UTC

README

Packagist Version Build Status StyleCI

轻松添加标准 Laravel 数据库通知的管理界面。此包包括

  • 一个侧边栏项目,可选地为当前用户显示通知计数(每秒通过 AJAX 刷新)
  • 一个界面,显示当前用户的数据库中的通知,以及它们的(可选)操作按钮;

您要做的唯一一件事就是触发您管理员的通知,无论您想在哪个地方,使用标准的 Laravel 语法(示例如下)。

先决条件

php artisan notifications:table
php artisan migrate

安装

Backpack v5

composer require pestopancake/laravel-backpack-database-notifications

Backpack v4

composer require pestopancake/laravel-backpack-database-notifications:1.0.6

用法

发布配置文件

php artisan vendor:publish --provider="Pestopancake\\LaravelBackpackNotifications\\LaravelBackpackNotificationsServiceProvider" --tag=config

显示在侧边菜单中

通过运行添加菜单项到您的 'resources/views/vendor/backpack/base/inc/sidebar_content.blade.php' 中

php artisan backpack:add-sidebar-content "@include('backpack-database-notifications::sidebarMenuItem')"

管理员视图

如果您还安装了 权限管理器 包,则可以分配 'notifications admin' 权限给用户,让他们查看管理功能。

要更改权限名称,请编辑 databasenotifications 配置文件中的 'admin_permission_name'。

目前,具有管理员权限的用户可以查看/忽略所有用户的通知。

创建通知

使用包含的通用通知

use Pestopancake\LaravelBackpackNotifications\Notifications\DatabaseNotification;

$user = backpack_user();
$user->notify(new DatabaseNotification(
    $type = 'info', // info / success / warning / error
    $message = 'Test Notification',
    $messageLong = 'This is a longer message for the test notification '.rand(1, 99999), // optional
    $href = '/some-custom-url', // optional, e.g. backpack_url('/example')
    $hrefText = 'Go to custom URL' // optional
));

在其他通知中使用

通知的 toArray 方法应采用此格式

return [
    'type' => "info", // info / success / warning / error
    'message' => "",
    'message_long' => "", // optional
    'action_href' => "", // optional, e.g. backpack_url('/example')
    'action_text' => "", // optional
];

类型将影响 toast 通知的颜色(如果配置中启用了 toast)

故障排除

未创建通知

  • 确保您要通知的模型与在 backpack.config.php 中的 backpack.base.user_model_fqn 定义的模型匹配(在 config/backpack/base.php 中找到)

变更日志

查看 变更日志 以获取有关最近更改的更多信息。

待办事项

  • 添加单元测试
  • 可翻译文本
  • 通知偏好