amitavdevzone/foundation

Inferno 的基础包

0.0.5 2017-04-12 16:33 UTC

This package is auto-updated.

Last update: 2024-09-13 13:39:27 UTC


README

这是一个使用 AdminLTE 主题和 VueJs 组件构建的 Laravel 管理员包。这个包的基本想法是使用现成的管理员主题,专注于你想要工作的想法,并将所有样板代码留给这个包。

功能

  1. 用户登录
  2. 忘记密码(使用 Laravel 邮件发送电子邮件)
  3. Watchdog

要求

  1. Laravel Passport
  2. Spatie Laravel Permission

应用程序使用 Vue 组件来构建应用程序中的许多小部件。其中许多需要安装并设置 Laravel Passport 包,以便该包可以消费 API。有关如何安装 Laravel Passport 的更多详细信息,请参阅文档:https://laravel.net.cn/docs/5.4/passport

安装

第一步是使用 composer require 安装此包,你需要运行以下命令

composer require amitavdevzone/foundation

完成之后,你需要将 ServiceProvider 添加到配置文件夹中的 app.php 文件

Inferno\Foundation\FoundationServiceProvider::class

完成之后,你需要运行发布命令。Inferno 有很多需要发布的内容,如迁移、种子文件、主题资产、视图等。此外,我们还需要从 Spatie Laravel Permission 获取一些迁移。

php artisan vendor:publish --provider="Inferno\Foundation\FoundationServiceProvider" --force
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="migrations"

完成之后,你需要在用户模型中做一些添加,例如

用户模型添加

  1. 你需要在用户模型中添加 Presentable 特性。我们将使用来自 Laracasts 的 Presenter 包,因此此设置很重要。
  2. 你需要在用户模型中添加 Spatie Permission 包中提供的 HasRoles 特性
  3. 你需要在用户模型中添加 Laravel Passport 提供的 HasApiTokens 特性以用于 ApiTokens
  4. 你需要添加与用户关联的 profile 关系

将以下代码添加到你的应用目录中的 User 模型内

use Notifiable, PresentableTrait, HasRoles, HasApiTokens;

protected $presenter = UserPresenter::class;

protected $fillable = [
    'name', 'email', 'password', 'active'
];

public function profile()
{
    return $this->hasOne('Inferno\Foundation\Models\Profile');
}

public function token()
{
    return $this->hasMany('Inferno\Foundation\Models\\Token');
}

并确保你有额外的 $fillable 属性 'active',我们使用它来检测用户是否活跃。

你还需要添加

    Passport::routes();

到 AuthServiceProvider,根据 Passport 安装过程,并将中间件添加到中间件组的 web 部分,以便为每个 API 路由请求创建 ApiToken。

    \Laravel\Passport\Http\Middleware\CreateFreshApiToken::class,

然后,作为 Passport 安装的一部分,我们需要告诉 Laravel 我们将使用 passport 进行身份验证,因此我们需要在 config/auth.php 中将 guards => api 的驱动程序更改为 passport

然后,我们需要运行两个命令

php artisan migrate
php artisan passport:install
php artisan inferno:install

完成这些步骤后,你可以运行迁移并运行种子文件,开始使用 Inferno 应用并开始编写你的下一个大项目。