workup/nova-activitylog

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

v0.4.1.002 2023-10-12 12:12 UTC

This package is auto-updated.

Last update: 2024-09-12 14:22:57 UTC


README

StyleCI Packagist Downloads Packagist Version GitHub FOSSA Status

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

screenshot

安装

您可以使用composer将包安装到使用 Nova 的Laravel应用程序中。

composer require workup/nova-activitylog

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

php artisan vendor:publish --provider="Spatie\ActivityLog\ActivityLogServiceProvider" --tag="activitylog-migrations"

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

发布迁移后,您可以通过运行迁移来创建 activity_log 表:

php artisan migrate

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

php artisan vendor:publish --provider="Spatie\ActivityLog\ActivityLogServiceProvider" --tag="config"

如果您只想记录nova的操作,将此行添加到您的 .env 文件中,让默认日志记录器关闭。

ACTIVITY_LOGGER_ENABLED=false

使用方法

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

// in app/Providers/NovaServiceProvder.php

// ...

public function tools()
{
    return [
        // ...
        new \Workup\Nova\ActivityLog\ActivityLog(),
    ];
}

因为后端使用 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](https://docs.spatie.be/laravel-activitylog/v3/advanced-usage/logging-model-events)

授权

工具授权的典型用法是使用 ->canSee()->canSeeWhen() 在注册工具时,这将不起作用。为了授权工具,只需 创建并注册一个Laravel策略 用于 ActivityLog 模型。如果用户根据策略无法查看它们,则工具将不会显示。

自定义

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

use Workup\Nova\ActivityLog\Resources\ActivityLog;

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

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

php artisan vendor:publish --provider="Workup\\Nova\\ActivityLog\\ToolServiceProvider" --tag="config"

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

许可

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

FOSSA Status