aleksa / laravel-visitors-statistics
此包已 弃用,不再维护。未建议替代包。
用于 Laravel 5 的简单访客追踪和统计包,可用于仪表板图表。
v7.0.0
2020-03-15 20:53 UTC
Requires
- php: ^7.1.3
- ext-zlib: *
- illuminate/database: ~7.0.0
- illuminate/http: ~7.0.0
- illuminate/routing: ~7.0.0
- illuminate/support: ~7.0.0
- maxmind-db/reader: ^1.4
- piwik/device-detector: ^3.11
Requires (Dev)
- orchestra/testbench: ^3.8
README
用于 Laravel 5 的简单访客追踪和统计包,可用于仪表板图表。包括控制器和路由,用于获取特定月份或年份的访客统计(所有和唯一访问次数)。您还可以获取每个国家的总访问次数。
安装
- 使用 composer 安装包
composer require aleksa/laravel-visitors-statistics
- 由于包自动将其中间件添加到
web
组,您必须手动注册服务提供者
... 'providers' => [ ... Aleksa\LaravelVisitorsStatistics\Providers\VisitorStatisticsProvider::class, ... ], ...
- 运行迁移
php artisan migrate
- 发布配置
php artisan vendor:publish
并从列表中选择 Aleksa\LaravelVisitorsStatistics\Providers\VisitorStatisticsProvider
- 下载 MaxMind 数据库
php artisan maxmind:update
GeoIP
由于从外部 API(例如:ipstack、ipdata 等)获取数据需要时间,会减慢您的应用程序速度,并且还可能产生月度费用,该包使用本地 MaxMind 数据库和 maxmind-db/reader
包来读取其内容并定位访客。
对于更复杂的追踪,您应该使用类似 Google Analytics 的工具。
配置
名称 | 描述 | 默认值 |
---|---|---|
track_authenticated_users | 是否应该追踪认证用户 | false |
track_ajax_request | 是否应该追踪 AJAX 请求 | false |
login_route_path | 管理员登录路径,以便登录尝试不作为访问次数追踪 | 'admin' |
prefix | 应用于所有统计获取路由的前缀 | 'admin' |
middleware | 应用于所有统计获取路由的中间件 | '['web', 'auth']' |
database_location | 存储 MaxMind 数据库的位置 | storage_path('app/maxmind.mmdb') |
database_download_url | MaxMind 数据库下载 URL | MAXMIND_URL |
auto_update | 是否让 Laravel 自动更新 MaxMind 数据库 | true |
注意:如果您将 auto_update
设置为 true,请确保添加 Laravel cron 条目,这是必要的,以便进行 任务调度。
获取统计信息
该包提供控制器和一系列路由,用于获取统计信息。思路是在仪表板上通过 AJAX 请求获取统计信息,并将数据解析到某些 JavaScript 图表库(如 Highcharts)中。
路由名称 | 路由 URI | 描述 |
---|---|---|
visitorstatistics.all_statistics | /statistics/{year}/{month?} | 获取给定年份或月份的统计信息。 |
visitorstatistics.unique_statistics | /statistics/unique/{year}/{month?} | 获取给定年份或月份的唯一统计信息。 |
visitorstatistics.total_statistics | /statistics/total/{year}/{month?} | 获取给定年份或月份的所有和唯一统计信息。 |
visitorstatistics.countries | /statistics/countries | 获取每个国家的访问次数和百分比。 |
visitorstatistics.available_dates | /statistics/available/{year?} | 获取有统计跟踪的年份或月份。 |
注意:所有路由均以前置配置值开头,并以JSON
格式返回响应。
示例响应
/admin/statistics/2019
{ "data": { "1": 712, "2": 1379, "3": 1095, "4": 624, "5": 1181, "6": 271, "7": 0, "8": 0, "9": 0, "10": 0, "11": 0 } }
/admin/statistics/2019/6
{ "data": { "1": 76, "2": 33, "3": 35, "4": 54, "5": 73, "6": 0, "7-26": "...", "27": 0, "28": 0, "29": 0 } }
/admin/statistics/total/2019
{ "all": { "1": 0, "2": 0, "3": 0, "4": 0, "5": 0, "6": 271, "7": 0, "8": 0, "9": 0, "10": 0, "11": 0 }, "unique": { "1": 0, "2": 0, "3": 0, "4": 0, "5": 0, "6": 42, "7": 0, "8": 0, "9": 0, "10": 0, "11": 0 } }
/admin/statistics/countries
{ "data": [ { "country": "Germany", "count": 6, "percentage": 40 }, { "country": "United States", "count": 4, "percentage": 26.67 }, { "country": "Unknown", "count": 2, "percentage": 13.33 }, { "country": "Thailand", "count": 1, "percentage": 6.67 }, { "country": "Russia", "count": 1, "percentage": 6.67 }, { "country": "Serbia", "count": 1, "percentage": 6.67 } ] }
/admin/statistics/available
{ "data": [ 2019 ] }
收集的信息
这是跟踪每个访问者的数据。
名称 | 描述 |
---|---|
ip | 例如:'127.0.0.1' |
国家 | 例如:'塞尔维亚' |
城市 | 例如:'贝尔格莱德' |
设备 | 例如:'桌面' |
浏览器 | 例如:'Chrome' |
许可
这是一个开源软件,根据MIT许可授权。