amitavdevzone / foundation
Inferno 的基础包
Requires
- anlutro/l4-settings: ^0.5.0
- illuminate/support: ~5
- laracasts/flash: ^2.0
- laracasts/presenter: ^0.2.1
- laravel/passport: ^2.0
- spatie/laravel-permission: ^1.11
README
这是一个使用 AdminLTE 主题和 VueJs 组件构建的 Laravel 管理员包。这个包的基本想法是使用现成的管理员主题,专注于你想要工作的想法,并将所有样板代码留给这个包。
功能
- 用户登录
- 忘记密码(使用 Laravel 邮件发送电子邮件)
- Watchdog
要求
- Laravel Passport
- 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"
完成之后,你需要在用户模型中做一些添加,例如
用户模型添加
- 你需要在用户模型中添加 Presentable 特性。我们将使用来自 Laracasts 的 Presenter 包,因此此设置很重要。
- 你需要在用户模型中添加 Spatie Permission 包中提供的 HasRoles 特性
- 你需要在用户模型中添加 Laravel Passport 提供的 HasApiTokens 特性以用于 ApiTokens
- 你需要添加与用户关联的 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 应用并开始编写你的下一个大项目。