workup / nova-activitylog
一个用于活动日志记录的工具,用于监控您的Laravel Nova的用户。
Requires
- laravel/nova: ^4.0
- spatie/laravel-activitylog: ^4.0
This package is auto-updated.
Last update: 2024-09-12 14:22:57 UTC
README
一个用于活动日志记录的工具,用于监控您的Laravel Nova的用户。
- 幕后 spatie/laravel-activitylog 被使用。
安装
您可以使用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中注册该工具。这通常在 NovaServiceProvider
的 tools
方法中完成。
// 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)。有关更多信息,请参阅 许可文件。