atereshchuk / filament-user-activity
跟踪用户活动并显示当前活跃用户
1.0.0
2024-04-02 11:56 UTC
Requires
- php: ^8.1
- filament/filament: ^3.0
- illuminate/contracts: ^10.0|^11.0
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- nunomaduro/collision: ^7.9
- orchestra/testbench: ^8.0
- pestphp/pest: ^2.0
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
Conflicts
README
注册所有请求,并方便地显示当前在线用户,即在过去15分钟/30分钟/60分钟/一天/一周内的任何请求
安装
您可以通过composer安装此包
composer require edwink/filament-user-activity
您可以使用以下命令发布并运行迁移
php artisan vendor:publish --tag="filament-user-activity-migrations"
php artisan migrate
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="filament-user-activity-config"
可选,您可以使用以下命令发布视图
php artisan vendor:publish --tag="filament-user-activity-views"
这是已发布的配置文件的内容
return [ "table" => [ "name" => env("FILAMENT_USER_ACTIVITY_TABLE_NAME", "user_activities"), "retention-days" => env("FILAMENT_USER_ACTIVITY_RETENTION_DAYS", 60), 'active-users' => [ 'timeframe-selection' => [ 15 => '15 Minutes', 30 => '30 Minutes', 60 => 'One hour', 120 => '2 Hours', 1440 => '24 hours', ], ], ] ];
使用方法
在 app/Http/Kernel.php
中添加全局中间件
/** * The application's global HTTP middleware stack. * * These middleware are run during every request to your application. * * @var array<int, class-string|string> */ protected $middleware = [ ... \Edwink\FilamentUserActivity\Http\Middleware\RecordUserActivity::class, ];
将特性添加到 app/Models/User.php
用户模型中以添加 activities
关联
use Edwink\FilamentUserActivity\Traits\UserActivityTrait; ... class User extends Authenticatable { use UserActivityTrait; ... }
配置您的面板以拥有2个额外的视图
use Edwink\FilamentUserActivity\FilamentUserActivityPlugin; ... public function panel(Panel $panel): Panel { return $panel ... ->plugins([ FilamentUserActivityPlugin::make() ]) ... } ...
配置一个计划任务,根据您配置的天数(默认60天)截断表,或不时手动运行。
php artisan filament-user-activity:truncate-activities-table
贡献
有关详细信息,请参阅CONTRIBUTING
安全漏洞
请查阅我们的安全策略,了解如何报告安全漏洞。
鸣谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件