好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Laravel 中使用簡單的方法跟蹤用戶是否在線(推薦)

Laravel 中使用簡單的方法跟蹤用戶是否在線(推薦)

熱門標簽:欣思維地圖標注 杭州語音電銷機器人 江西電銷機器人收費 泊頭在哪里辦理400電話 電銷機器人沒有效果怎么樣 江門回撥外呼系統 高德地圖標注店鋪收費嗎 高德地圖標注位置怎么標注 天潤融通外呼系統好嗎

今天,我的任務是,在Laravel應用程序用戶個人資料頁面上,用戶名旁邊添加一個綠點,表示他們是否在線。我首先想到的是,我們將需要啟動一個node.js服務器并跟蹤每個用戶的活動套接字連接。然后用當前登錄的用戶套接字,我們可以實時更新在線狀態!唯一的問題是,這是我們目前的要求,有點超過頂部,并沒有完全必要的,直到我們的功能,需要達到第二個準確性,如實時聊天。

一位同事指出,對于目前的需求,MySpace用來處理“在線”功能的方式可能就足夠了。就我們所知,MySpace用來顯示用戶是否在線的方式是基于他們在網站上的最后一項活動。如果他們的最后一次活動在X分鐘內,我們會顯示“在線”徽章,如果沒有,我們不會。簡單!

讓我們為用戶的上次活動在用戶表中添加一個字段,并且在請求每個頁面時更新它。然后當我們需要檢查用戶是否在線,我們可以將該時間戳與當前時間戳進行比較,如果在X分鐘內,則他們在線!雖然這可以工作得很好,這取決于你正在構建的應用程序,它會向數據庫添加不必要的 寫入 ,這會在某種程度上降低你應用程序的速度。一個好的折衷辦法是將這些信息存儲在應用程序緩存中。 緩存的好處是可以簡化這種方法,因為可以設置緩存為過期。

現在我們決定使用緩存實現這個特性,下一個問題是這個代碼應該在哪里運行,以便它在每個請求上運行?我有兩個想法可以實現:

  1. 創建一個 BaseController,讓你所有的 Controller 都繼承它
  2. 創建一個中間件

經過一些思考,并意識到我需要在所有已經編寫的構造函數中添加對父構造函數的調用,我選擇在中間件中實現。

我們有個計劃,讓我們進入代碼!

首先,我們需要創建一個中間件。在終端中輸入以下命令:

php artisan make:middleware LogLastUserActivity

接下來我們打開以下php文件

app/Http/Middleware/LogLastUserActivity.php.

在其中的 handle 方法中添加下面的代碼:

if(Auth::check()) {
  $expiresAt = Carbon::now()->addMinutes(5);
  Cache::put('user-is-online-' . Auth::user()->id, true, $expiresAt);
}

接下來,我們打開 app/Http/Kernel.php 文件。如果您使用的是 Laravel 5.1 或 更早的版本, 您應該把代碼直接放置到 $middleware 數組中。 如果您的版本是 5.2.* , 您應該把代碼放置到 $middlewareGroups 的 web 中 。注意,一定要把代碼放到 StartSession 中間件的下方,否則 Auth 門面將不會正確在user中記錄log。我的更新配置設置如下:

protected $middlewareGroups = [
  'web' => [
    \App\Http\Middleware\EncryptCookies::class,
    \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
    \Illuminate\Session\Middleware\StartSession::class,
    \Illuminate\View\Middleware\ShareErrorsFromSession::class
    \App\Http\Middleware\VerifyCsrfToken::class,
    \App\Http\Middleware\LogLastUserActivity::class,
  ],
  'api' => [
    'throttle:60,1',
  ],
];

最后一步是添加一個方法到我們的 user 對象中去檢測這個值. 在 app/User.php 我們添加下面的方法:

public function isOnline()
{
  return Cache::has('user-is-online-' . $this->id);
}

現在在任何頁面中你就能添加下面的方法:

@if($user->isOnline())
  user is online!!
@endif

重要提示 -- 確保在你的文件頂部使用 use 引入所有的 facades!

總結

以上所述是小編給大家介紹的Laravel 中使用簡單的方法跟蹤用戶是否在線,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

您可能感興趣的文章:
  • workerman結合laravel開發在線聊天應用的示例代碼

標簽:江門 平涼 內江 雙鴨山 石嘴山 深圳 駐馬店 大同

巨人網絡通訊聲明:本文標題《Laravel 中使用簡單的方法跟蹤用戶是否在線(推薦)》,本文關鍵詞  Laravel,中,使用,簡單,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Laravel 中使用簡單的方法跟蹤用戶是否在線(推薦)》相關的同類信息!
  • 本頁收集關于Laravel 中使用簡單的方法跟蹤用戶是否在線(推薦)的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 醉地鲁成人免费视频| 欧美??级毛片一进一出| 国产k频道探花精品软件优势| 儿子每个星期都要| 成人羞羞啪啪漫画免费软件 | 欧美精品片在线观看网站| 另类异族videosex太狠了| 国产精品国产三级国芦专播精品人| 无码亚洲一区二区三区6080| 啊v在线| 农村丰满女人伦子伦精品| 菠萝蜜一级毛片免费视频在线| 51漫画APP下载安装!动漫| 国产VA精品免费观看剧情介绍| 深夜动态福利gif进出粗暴| 男男肉H边做边尿失禁H| 性生活2在线观看| 美国xxxx69视频| 持续侵犯高傲女教师| 自拍偷在线精品自拍偷写真图片 | 日本伦理电影免费观看高清看完| 国产????拗女VA8卸8| 日本欧美一区二区三区不卡视频 | 动漫精品3dmmd虫交| 女人被男人插视频| 精品国产污污免费15| 韩国色情三级理伦电影| 男生女生搞基软件| 操网址| 男人亚洲天堂| 《性妲己》电影在线观看| 国产四级特级A片| 香港电影三级在线完整版| 黄色一级性片| chinesehdxxx吃奶水| 国产粉嫩嫩00在线正在播放| 年轻的小姨子在线播放| 国产免费无码婬AA片在线蜜色| m3u7成人性视频免费观看| 国产伦子系列沙发午| 国产乱淫a∨片免费视频|