26b/laravel-account-status

Laravel 账户状态包

v1.0.1 2022-05-18 16:33 UTC

This package is auto-updated.

Last update: 2024-09-12 14:29:15 UTC


README

为您的用户账户配置状态。

  • 有条件地处理应用程序访问。
  • Artisan 命令用于切换指定用户的账户状态。
  • Artisan 命令用于激活 X 个账户。

入门

要求包

composer require 26b/laravel-account-status

使用内置迁移设置您的数据库。

php artisan vendor:publish --tag=account-status-migrations
php artisan migrate

迁移完成后,您可能希望将现有用户设置为 ACTIVE 状态。您可以一次设置多个用户。

php artisan account-status:activate 100

用法

要保护您的路由并重定向到账户状态页面,您可以向您的内核或单独的路由添加内置中间件。

    \TwentySixB\LaravelAccountStatus\Http\Middleware\EnsureAccountActive::class,

命令

切换 您可以像这样更改指定 ID 的用户状态。

php artisan account-status:toggle ID SUSPENDED

激活 当您有例如 QUEUED 用户时,可以通过运行命令将他们的状态更改为 ACTIVE

php artisan account-status:activate 50

工厂

您可以在工厂中添加一些状态来测试您的应用程序。

$user = User::factory()->queued()->make();
use TwentySixB\LaravelAccountStatus\AccountStatus;

...

/**
 * Indicate that the model's is in a queued state.
 *
 * @return \Illuminate\Database\Eloquent\Factories\Factory
 */
public function queued()
{
    return $this->state(
        function (array $attributes) {
            return [
                'status' => AccountStatus::QUEUED,
            ];
        }
    );
}

自定义

如果需要自定义,请发布配置文件。

php artisan vendor:publish --tag=account-status-config

要自定义“账户被阻止模板”,您可以发布视图并按需更改它们。

php artisan vendor:publish --tag=account-status-views