codicastudio/activity-log-manager

一个随机的 Codica Studio 包。

1.0.0 2020-09-25 01:50 UTC

This package is auto-updated.

Last update: 2024-09-25 13:26:12 UTC


README

一个用于活动日志记录器的工具,用于监控您的 Laravel Nova 用户。

screenshot

安装

您可以通过 composer 在使用 Nova 的 Laravel 应用程序中安装此包

composer require bolechen/nova-activitylog

您可以使用以下命令发布迁移

php artisan vendor:publish --provider="Spatie\Activitylog\ActivitylogServiceProvider" --tag="migrations"

注意:默认迁移假定您正在使用整数作为模型 ID。如果您正在使用 UUID 或其他格式,则在继续之前,请调整已发布迁移中 subject_id 和 causer_id 字段的格式。

发布迁移后,您可以运行迁移来创建 activity_log

php artisan migrate

您可以选择使用以下命令发布配置文件

php artisan vendor:publish --provider="Spatie\Activitylog\ActivitylogServiceProvider" --tag="config"

如何使用

接下来,您必须将工具与 Nova 进行注册。这通常在 NovaServiceProvidertools 方法中完成。

// in app/Providers/NovaServiceProvder.php

// ...

public function tools()
{
    return [
        // ...
        new \Bolechen\NovaActivitylog\NovaActivitylog(),
    ];
}

因为我们使用的是 spatie/laravel-activitylog 包,所以您需要做的就是让您的模型使用 Spatie\Activitylog\Traits\LogsActivity 特性。

以下是一个示例

use Illuminate\Database\Eloquent\Model;
use Spatie\Activitylog\Traits\LogsActivity;

class NewsItem extends Model
{
    use LogsActivity;

    protected $fillable = ['name', 'text'];
    
    protected static $logAttributes = ['name', 'text'];
}

对于更高级的使用,请参阅文档:https://docs.spatie.be/laravel-activitylog/v3/advanced-usage/logging-model-events

自定义

如果您想自定义工具。例如:添加过滤器或卡片,您可以创建自己的资源文件并扩展原始文件,如下所示

use Bolechen\NovaActivitylog\Resources\Activitylog;

class Activity extends Activitylog
{
    public function filters(Request $request)
    {
        return [
            // Your customize filters, etc...
            new Filters\LogsType(),
        ];
    }
}

接下来,使用以下命令发布配置文件

php artisan vendor:publish --provider="Bolechen\\NovaActivitylog\\ToolServiceProvider" --tag="config"

并将 config/nova-activitylog.php 中的 resource 更改为您的自定义 Nova 资源。

许可证

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