atm-code / laravel-umami
Requires
- php: ^8.0|^8.1
- illuminate/support: ^9.0|^10.0|^11.0
Requires (Dev)
- laravel/pint: ^1.8
- nunomaduro/larastan: ^2.5
- orchestra/testbench: ^7.0|^8.0|^9.0
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^9.5|^10.1
README
laravel的Umami API封装器
Umami网站分析API封装器。在laravel应用中获取统计数据。
查看 Umami,拥有自己的网站分析
特性
- 管理网站
- 管理用户
- 查询统计数据,页面访问量,事件和指标
安装
您可以通过composer安装此包
composer require still-code/laravel-umami
Umami版本
- 对于umami v1使用v4
- 对于umami v2使用v5
配置
发布配置文件
php artisan vendor:publish --provider="Umami\UmamiServiceProvider"
然后将这些添加到您的 .env
文件中
UMAMI_URL=https://stats-site-com/api
UMAMI_USERNAME=username
UMAMI_PASSWORD="password"
UMAMI_WEBSITE_ID=d131d2ae-5d21-4a54-80ba-16719afedf7b
用法
查询统计数据
\Umami\Umami::query('example-site-id', 'metrics', [ 'start_at'=>today()->subDays(7), 'end_at'=>today(), 'type'=>'referrer', ]);
对于PHP 8
的简短用法,获取过去7天的默认统计数据,并且不使用缓存
\Umami\Umami::query(siteID: 1, force: true)
参数
站点ID
必需:来自Umami服务器的站点ID
\Umami\Umami::query('example-site-id');
部分
必需:您想要从Umami获取的统计数据部分
可用选项: active, stats, pageviews, events, metrics
默认:stats
\Umami\Umami::query('example-site-id','pageviews');
查询统计数据选项
日期(start_at,end_at)
可选:起始和结束时间的戳
默认:过去7天
您可以传递carbon
对象或毫秒时间戳
\Umami\Umami::query('example-site-id','metrics',[ 'start_at'=>today()->subDays(7), 'end_at'=>now(), ]);
单位
仅适用于pageviews
和events
可选:时间单位,可用选项:year, month, hour, day
默认:day
\Umami\Umami::query('example-site-id','metrics',[ 'unit'=>'year', ]);
时区(tz)
可选:时区
仅适用于pageviews
和events
默认:config('app.timezone')
\Umami\Umami::query('example-site-id','metrics',[ 'tz'=>'America/Los_Angeles', ]);
类型(仅针对指标)
可选:获取给定时间范围的指标
可用选项:url, referrer, browser, os, device, country, event
默认:url
\Umami\Umami::query('example-site-id','metrics',[ 'tz'=>'America/Los_Angeles', ]);
网站
获取所有网站
\Umami\Umami::websites();
创建网站
\Umami\Umami::createWebsite([ 'domain'=>'domain.ltd', 'name'=>'user name', ]);
为不同的用户创建网站
如果您想为不同的用户创建网站,而不是在配置中定义的管理用户,则需要提供该用户的认证。这有助于在创建带有网站的新的用户时使用
\Umami\Umami::createWebsite([ 'domain' => 'domain.ltd', 'name' => 'user name', ],[ 'username' => 'otherUserName', 'password' => 'otherPassword', ]);
更新网站
\Umami\Umami::updateWebsites('example-site-id',[ 'name'=>'user name', ]);
删除网站
\Umami\Umami::deleteWebsite('example-site-id');
事件数据
获取给定时间范围内网站事件和字段键记录数
查看API文档以获取详细信息:https://umami.is/docs/api/event-data#get-/api/event-data/events
\Umami\Umami::events('example-site-id', [ 'start_at'=>today()->subDays(7), 'end_at'=>now(), 'event' => 'custom_event', ]);
获取给定时间范围内网站字段键和值记录数
查看API文档以获取详细信息:https://umami.is/docs/api/event-data#get-/api/event-data/fields
\Umami\Umami::event_fields('example-site-id', [ 'start_at'=>today()->subDays(7), 'end_at'=>now(), ]);
用户
获取所有用户
\Umami\Umami::users();
创建用户
\Umami\Umami::createUser('username','password');
更新用户
\Umami\Umami::updateUser(1,[ 'username'=>'username', 'password'=>'password', ]);
删除用户
\Umami\Umami::deleteUser(2);
更多详情
请访问Umami网站获取更多信息。
变更日志
请参阅CHANGELOG获取最近更改的详细信息。
贡献
请参阅CONTRIBUTING获取详细信息。
鸣谢
许可证
MIT许可证(MIT)。请参阅许可证文件获取更多信息。