mawuekom/laravel-usercare

一款包含用户管理相关众多功能的用户管理包

v3.7.1 2022-04-25 00:30 UTC

README

本包提供了一系列功能,可以帮助您在Laravel项目中实现用户管理。

安装

您可以通过composer安装此包

composer require mawuekom/laravel-usercare

用法

安装完成后,请前往config/app.php文件,将UsercareServiceProvider添加到 providers 数组中

Laravel 5.5及以上版本使用包自动发现功能,无需编辑config/app.php文件。

  • 服务提供者

'providers' => [

    ...

    Mawuekom\Usercare\UsercareServiceProvider::class,

],
  • 发布资源

php artisan vendor:publish --provider="Mawuekom\Usercare\UsercareServiceProvider"

或者您可以选择发布配置

php artisan vendor:publish --provider="Mawuekom\Usercare\UsercareServiceProvider" --tag="config"

配置

  • 您可以更改模型的连接、模型路径,并且还有一个方便的模拟功能。
  • 有许多可配置的选项,已经扩展为可以通过.env文件变量进行配置。
  • 由于这个原因,可能不需要直接编辑配置文件。
  • 查看配置文件:[usercare.php](https://github.com/mawuva/laravel-usercare/blob/main/config/usercare.php)
<?php

/*
 * You can place your custom package configuration in here.
 */
return [
    'separator' => '.',

    /*
    |--------------------------------------------------------------------------
    | USERCARE feature settings
    |--------------------------------------------------------------------------
    */

    'account_type' => [
        'enable'                    => true,
        'name'                      => 'Account Type',
        'resource_name'             => 'account_type',
        'model'                     => null,

        'table'                     => [
            'name'                  => env('USERCARE_ACCOUNT_TYPES_DATABASE_TABLE', 'account_types'),
            'primary_key'           => env('USERCARE_ACCOUNT_TYPES_DATABASE_TABLE_PRIMARY_KEY', 'id'),
        ],
    ],

    'user' => [
        'model'                     => App\Models\User::class,
        'name'                      => 'User',
        'resource_name'             => 'user',

        'table'                     => [
            'name'                      => env('USERCARE_USERS_DATABASE_TABLE', 'users'),
            'primary_key'               => env('USERCARE_USERS_DATABASE_TABLE_PRIMARY_KEY', 'id'),
            'account_type_foreign_key'  => env('USERCARE_USERS_DATABASE_TABLE_ACCOUNT_TYPE_FOREIGN_KEY', 'account_type_id'),
        ],
    ],

    'user_profile' => [
        'enable'                    => true,
        'model'                     => null,

        'table'                     => [
            'name'                      => env('USERCARE_PROFILES_DATABASE_TABLE', 'profiles'),
            'primary_key'               => env('USERCARE_PROFILES_DATABASE_TABLE_PRIMARY_KEY', 'id'),
            'user_foreign_key'          => env('USERCARE_PROFILES_DATABASE_TABLE_USER_FOREIGN_KEY', 'user_id'),
        ],
    ],

    'user_profile_picture'          => [
        'enable'                    => true,
        'model'                     => null,

        'table'                     => [
            'name'                      => env('USERCARE_PROFILE_PICTURES_DATABASE_TABLE', 'profile_pictures'),
            'primary_key'               => env('USERCARE_PROFILE_PICTURES_DATABASE_TABLE_PRIMARY_KEY', 'id'),
            'user_foreign_key'          => env('USERCARE_PROFILE_PICTURES_DATABASE_TABLE_USER_FOREIGN_KEY', 'user_id'),
        ],

        'default'                   => [
            'file_source_url'       => url('/'),
            'avatar'                => asset('/'), // asset('default-avatar.png')
            'bg_picture'            => asset('/'), // asset('default-bg-picture.png')
        ],
    ],

    'password_history' => [
        'checker'                   => false,
        'number_to_check'           => 3,
    ],

    /*
    |--------------------------------------------------------------------------
    | Bunch of features to enable or disable.
    |--------------------------------------------------------------------------
    */

    'enable' => [
        'proper_names'          => true,
        'email_optionality'     => false,
        'phone_number'          => true,
        'gender'                => true,
    ],

    /*
    |--------------------------------------------------------------------------
    | Add uuid support
    |--------------------------------------------------------------------------
    */

    'uuids' => [
        'enable' => true,
        'column' => '_id'
    ],
];

其他内容即将推出

测试

composer test

变更日志

请参阅[CHANGELOG](https://github.com/mawuva/laravel-usercare/blob/HEAD/CHANGELOG.md)以获取更多有关最近更改的信息。

贡献

请参阅[CONTRIBUTING](https://github.com/mawuva/laravel-usercare/blob/HEAD/CONTRIBUTING.md)以获取详细信息。

许可证

MIT许可证(MIT)。有关更多信息,请参阅[许可证文件](https://github.com/mawuva/laravel-usercare/blob/HEAD/LICENSE.md)。