razek/laravel-7-visitor-tracker

Laravel 7 的访问者跟踪和统计

dev-master 2020-09-19 13:59 UTC

This package is not auto-updated.

Last update: 2024-09-30 08:24:46 UTC


README

Packagist Packagist Build Status StyleCI Packagist

跟踪您的认证和非认证访问者、登录尝试、Ajax 请求等。包括控制器和一系列路由和视图来显示统计信息,以及一个辅助类,以便轻松获取统计信息(如果您想自己显示统计信息)。

在线演示

安装 - 基础

  1. 使用 composer 安装此包
composer require voerro/laravel-visitor-tracker
  1. 执行以下命令以安装记录访问的表:
php artisan migrate
  1. 将中间件添加到 app/Http/Kernel.php
protected $middlewareGroups = [
    ...
    'web' => [
        ...
        \Voerro\Laravel\VisitorTracker\Middleware\RecordVisits::class,
    ],
    ...
];
  1. Laravel 5.5 有包自动发现功能。如果您使用的是旧版本,请在 config/app.php 中注册服务提供者
...
'providers' => [
    ...
    Voerro\Laravel\VisitorTracker\VisitorTrackerServiceProvider::class,
    ...
],
...

如果您想自己获取并显示访问者统计信息,请在同一文件中注册外观

...
'aliases' => [
    ...
    'VisitStats' => Voerro\Laravel\VisitorTracker\Facades\VisitStats::class,
    ...
],
...
  1. 通过运行以下命令发布配置文件、资产和视图
php artisan vendor:publish

在提供的列表中选择 Voerro\Laravel\VisitorTracker\VisitorTrackerServiceProvider

安装 - Geoapi

跟踪器使用外部 API 获取地理位置数据。要将 geoapi 关闭,请将配置文件中的 geoip_on 设置为 false。要更改提供商,请更改 geoip_driver 字段。支持的服务器驱动程序在配置文件中列出。根据您选择的驱动程序,您可能需要填写额外的 API 密钥。

由于从外部 API 获取数据需要时间,此操作被排队并异步执行。这是使用 Laravel Jobs 完成的,可能不支持在共享主机上使用。支持多个驱动程序。我们将描述如何设置数据库驱动程序。

首先,在您的 .env 文件中设置以下内容:

QUEUE_DRIVER=database

然后依次运行以下命令:

php artisan queue:table
php artisan queue:failed-table
php artisan migrate

最后,您需要启动一个工作进程来处理队列。运行以下命令并保持其运行:

php artisan queue:work

有关队列和作业的更多信息,请参阅 Laravel 文档本节 描述了如何在进程失败时自动重新启动队列工作进程。

提示:每次您对包的配置文件进行更改时,都需要重新启动工作进程。

配置

查看 config/visitortracker.php 文件。它有很好的注释,不需要额外的解释。您可以在其中排除某些用户组、单个用户和某些请求以进行跟踪等。

测试

在测试环境中禁用了外部 API 调用来检索地理位置信息。否则,由于跟踪器跟踪所有请求,您的测试将运行得非常慢。

显示统计信息

此包包含一个控制器和一系列路由和视图来显示统计信息。您可以使用 VisitStats 类自行获取和显示统计信息,但我们将稍后讨论。提供的视图很简单,并使用标准 Bootstrap 类进行样式化。

要安装内置路由,请将此行添加到您的 routes.php 文件中

VisitStats::routes();

您可以将此行放在一个组中,以使用中间件限制访问或添加路由前缀。例如,如下所示

Route::middleware('auth')->prefix('admin')->group(function () {
    VisitStats::routes();
});

您可以将视图集成到现有的布局中。查看配置文件的 Views 部分。所有路由都命名为,您可以轻松添加和样式化链接到所有页面。以下是路由的完整列表。

正在收集哪些信息

这是追踪器正在收集的数据。

该包使用 piwik/device-detector 来解析用户代理。

手动获取和显示统计信息

如果您对提供的视图不满意,可以使用 Voerro\Laravel\VisitorTracker\Facades\VisitStats 类来获取统计数据,然后创建自己的控制器和视图来显示这些数据。

查看位于 src/Controllers/StatisticsController.php 的控制器,了解如何使用此类,它很简单。原始类位于 src/VisitStats.php,其中所有方法都有文档说明,以便您需要更多深入了解。

许可证

这是一个开源软件,根据 MIT 许可证 许可。# Laravel-7-Tracker