gigerit/laravel-model-stats

Laravel应用程序的模型统计仪表板

赞助包维护!
JhumanJ

安装: 184

依赖: 0

建议者: 0

安全: 0

星标: 0

观察者: 0

分支: 18

语言:Vue

0.3.2 2021-10-12 10:59 UTC

This package is auto-updated.

Last update: 2024-09-08 21:43:58 UTC


README

Laravel应用程序的模型统计仪表板

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

Screenshot of sample dashboard

此Laravel包为您提供了Laravel应用程序的统计仪表板。将其视为Grafana的轻量版,但集成在您的Laravel应用程序中,并且更容易上手。使用Laravel模型统计无需代码知识,用户可以从Web界面完成所有操作。它还可选地支持自定义代码小部件,允许您使用代码定义小部件数据,就像使用tinker一样。

安装

您可以通过Composer安装此包

composer require jhumanj/laravel-model-stats

您可以使用以下命令安装包并运行迁移

php artisan model-stats:install
php artisan migrate

可用的无代码小部件

不同类型的小部件(每日计数、每日平均值等)可供使用。在创建小部件时,您可以选择模型、聚合类型和图表的列。然后,您可以在仪表板上调整大小和移动小部件。

当前可用的聚合类型

  • 每日计数(在选定时间段内每天记录数)。
  • 累积每日计数(在选定时间段内累积总记录数)。
  • 时间段总计(在选定时间段内的新记录数)。
  • 按组计数(在选定时间段内给定列的组计数)。
  • ...(更多即将推出)

对于每种小部件类型,日期可以是任何列:created_atupdated_atcustom_date

自定义代码小部件

您还可以使用自定义代码小部件,允许您使用代码定义小部件数据,就像使用tinker一样。

您的代码必须定义一个包含要返回给所选图表的数据的$result变量。您可以使用$dateFrom$dateTo变量。

柱状图的示例自定义代码

$result = [
    'a' => 10,
    'b' => 20
];

请注意,出于安全原因,您的代码不允许对数据库执行任何写操作。您只能使用代码查询数据并在内存中转换它。即使禁用写操作可以使事情更安全,远程代码执行始终是一项非常危险的操作。请确保您的仪表板授权配置正确。您可能希望通过将MODEL_STATS_CUSTOM_CODE环境变量设置为false来禁用自定义代码小部件。

仪表板授权

ModelStats仪表板可通过/stats路由访问。默认情况下,您只能在本地环境中访问此仪表板。在您的app/Providers/ModelStatsServiceProvider.php文件中,有一个授权门定义。此授权门控制对非本地环境中ModelStats的访问。您可以根据需要自由修改此门以限制对您的ModelStats安装的访问

/**
 * Register the ModelStats gate.
 *
 * This gate determines who can access ModelStats in non-local environments.
 *
 * @return void
 */
protected function gate()
{
    Gate::define('viewModelStats', function ($user) {
        return in_array($user->email, [
            'taylor@laravel.com',
        ]);
    });
}

升级

请确保在升级ModelStats时重新发布前端资源

php artisan model-stats:publish

变更日志

请参阅变更日志以获取有关最近更改的更多信息。

贡献

有关详细信息,请参阅贡献指南

安全漏洞

请查阅我们的安全策略以了解如何报告安全漏洞。

鸣谢(贡献者)

灵感

许可证

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