nexxai/laravel-analytics

在应用程序中收集匿名页面浏览数据,无需第三方跟踪

0.2.1 2023-04-04 07:24 UTC

This package is auto-updated.

Last update: 2024-09-18 18:01:27 UTC


README

Latest Version on Packagist Total Downloads GitHub Actions

这里应该放置您的描述。尽量限制为一两段,并提及您支持的PSRs,以避免用户和贡献者产生混淆。

安装

您可以通过composer安装此包

composer require nexxai/laravel-analytics

安装vue-chartjs集成

npm install vue-chartjs@^4.0.0 chart.js

运行以下命令发布供应商文件

php artisan vendor:publish --provider="Nexxai\LaravelAnalytics\LaravelAnalyticsServiceProvider"

使用

运行迁移

php artisan migrate

app/Http/Kernel.php中将别名添加到中间件

    protected $routeMiddleware = [
        ...
        'analytics' => \Nexxai\LaravelAnalytics\Http\Middleware\Analytics::class,
        ...
    ];        

analytics中间件添加到您想跟踪的路由中

Route::middleware(['analytics'])->group(function () {
    Route::get('/', [PagesController::class,'index'])->name('pages.home');
});

管理

注册vue组件以显示分析

Vue.component('page-views-per-days', require('./vendor/laravel-analytics/components/PageViewsPerDays.vue').default);
Vue.component('page-views-per-paths', require('./vendor/laravel-analytics/components/PageViewsPerPaths.vue').default);

在仪表板或您喜欢的位置使用组件 :)

从控制器传递数据

        $pageViewRepository = app(PageViewRepository::class);
        $pageViewsPerDays = $pageViewRepository->getByDateGroupedByDays(Carbon::today()->subDays(28));
        $pageViewsPerPaths = $pageViewRepository->getByDateGroupedByPath(Carbon::today()->subDays(28));

        return view('admin.dashboard.index',
            [
                'pageViewsPerDays' => $pageViewsPerDays,
                'pageViewsPerPaths' => $pageViewsPerPaths
            ]);
<page-views-per-days :initial-data="{{json_encode($pageViewsPerDays)}}"/>
<page-views-per-paths :initial-data="{{json_encode($pageViewsPerPaths)}}"/>

测试

composer test

更新日志

有关最近更改的更多信息,请参阅更新日志

贡献

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

安全

如果您发现任何与安全相关的问题,请通过nexxai@gmail.com发送电子邮件,而不是使用问题跟踪器。

鸣谢

许可证

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

Laravel Package Boilerplate

此包是使用Laravel Package Boilerplate生成的。