首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Laravel跟踪用户活动

Laravel跟踪用户活动
EN

Stack Overflow用户
提问于 2017-08-09 13:45:48
回答 2查看 10.6K关注 0票数 0

有没有一种方法,我可以跟踪登录的用户活动在Laravel,而不使用任何软件包?我试过使用反托尼奥里贝罗/跟踪器包,但没有一个清晰的阅读手册。我想知道一些细节,比如用户访问的页面。PS:对于一个小项目,我通常创建一个简单的logPageHit()函数,我把它放在必要的Controller方法上,但是现在正在处理一个大项目

EN

回答 2

Stack Overflow用户

发布于 2017-08-09 13:49:31

您可以使用带有事件的日志包,例如,请遵循下面的链接

Laravel雄辩者为管理 it举办了许多活动

希望这对你有用!

票数 1
EN

Stack Overflow用户

发布于 2017-08-09 14:02:56

如果用户当前处于联机状态,跟踪

您可以创建一个中间件

代码语言:javascript
运行
复制
php artisan make:middleware LastUserActivity

在handle方法中,我们需要添加以下代码:

代码语言:javascript
运行
复制
if(Auth::check()) {
    $expiresAt = Carbon::now()->addMinutes(5);
    Cache::put('user-is-online-' . Auth::user()->id, true, $expiresAt);
}

转到App\Http\Kernel.php

在$middlewareGroups中的web部分中添加上述代码。

代码语言:javascript
运行
复制
 \App\Http\Middleware\LastUserActivity::class,

注意:--重要的是在StartSession中间件之后添加它,否则,Auth将无法访问登录的用户。

转到App\User.php并添加此方法。

代码语言:javascript
运行
复制
public function isOnline()
{
    return Cache::has('user-is-online-' . $this->id);
}

现在在您的任何视图中使用这个。

代码语言:javascript
运行
复制
@if($user->isOnline())
    user is online!!
@endif

希望能帮上忙。阅读教程获得更多信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45592533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档