geisi/laravel-db-session-helper

此包基于Laravel会话数据库驱动构建。使用它,您可以通过用户的登录状态查询用户。

v0.0.2 2021-08-01 17:40 UTC

This package is auto-updated.

Last update: 2024-08-29 06:07:19 UTC


README

⚠️ Laravel DB Session Helper 正在开发中 - 使用风险自担。

Laravel 数据库会话驱动辅助包

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

此包在Laravel项目中使用数据库会话驱动时增加了一些便利功能。其主要目的是能够通过用户的在线状态过滤用户。

它与Laravel Jetstream应用集成良好。

安装

您可以通过Composer安装此包

composer require geisi/laravel-db-session-helper

首先将HasDatabaseSessions trait添加到您的User模型中

//User.php
use Illuminate\Foundation\Auth\User as Authenticatable;
use Geisi\LaravelDbSessionHelper\Traits\HasDatabaseSessions

class User extends Authenticatable
{
    use HasDatabaseSessions;
    
    // ...
}

您可以使用以下命令发布配置文件

php artisan vendor:publish --provider="Geisi\LaravelDbSessionHelper\LaravelDbSessionHelperServiceProvider"

用法

//Query all online users
\App\Models\User::isOnline()->get();
//Query all offline users
\App\Models\User::isOffline()->get();
//Get user online state
var_dump($user->is_online);
// true or false
//Get user last login date
var_dump($user->last_login);
// Carbon instance

需求

要运行此包,您需要Laravel >= 8.42.x 和 PHP => 7.4 或 PHP 8.0。为了查询用户会话数据,需要数据库会话驱动。

配置

默认情况下,确定用户在线或离线的时间范围是10分钟。因此,如果用户在10分钟内没有与应用程序交互,则将被查询为离线。

您可以通过login_time_span配置值更改此时间范围。

您可以扩展或替换我们的Session模型,只需实现Geisi\LaravelDbSessionHelper\Contracts\Session接口即可。

测试

此包目前处于Beta状态。由于我们不能保证100%的稳定性和功能安全性,我们不推荐在生产环境中使用此包。请将可能的错误提交到问题中。

测试

composer test

变更日志

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

贡献

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

安全漏洞

请查看我们的安全策略了解如何报告安全漏洞。

鸣谢

许可协议

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