hanson / speedy
一个用于快速创建网站的 Laravel 管理包
Requires (Dev)
- laravel/framework: 5.*
This package is not auto-updated.
Last update: 2024-09-14 20:09:43 UTC
README
介绍
Speedy 是一个基于 bootstrap 和 vue 构建的 Laravel 管理包,它包含侧边菜单、认证和授权控制
安装
在您的 Laravel 应用程序中,执行以下命令
composer require hanson/speedy
将服务提供者添加到 app.php
'providers' => [
// Laravel Framework Service Providers...
//...
// Package Service Providers
Hanson\Speedy\SpeedyServiceProvider::class,
// ...
// Application Service Providers
// ...
]
发布资源
php artisan vendor:publish --provider="Hanson\Speedy\SpeedyServiceProvider"
之后,您可能想要更改一些关于 Speedy 的配置
// config/speedy.php
return [
'class' => [
'namespace' => 'App\\Models\\',
'model' => [
'role' => 'Role',
'user' => 'User',
'permission' => 'Permission',
'permission_role' => 'PermissionRole',
]
],
'table' => [
'role' => 'role',
'permission' => 'permission',
'user' => 'users',
'permission_role' => 'permission_role',
],
// ...
]
默认情况下,模型将存储在 App/Models
中,用户表是 user
,或者您可以在任何地方修改配置
'class' => [
'namespace' => 'App\\Models\\',
// 'namespace' => 'App\\', set model namespace as 'App\\'
// ...
],
'table' => [
'user' => 'users',
// 'user' => 'user',set user table name to users
]
如果您使用 user
作为表名,请记住修改用户的迁移
安装 Speedy
php artisan speedy:install
创建一个新的管理员用户
php artisan speedy:admin admin@email.com --create
或将管理员分配给现有用户
php artisan speedy:admin admin@email.com
默认启用认证
php artisan make:auth
并在 LoginController
中将 $redirectTo = '/home'
修改为 $redirectTo = /admin
启动内置开发服务器,使用 php artisan serve
,访问 http://localhost:8000/admin。
菜单和权限
Speedy 侧边菜单是一个非常方便的组件,您只需修改 Speedy 配置并运行一个命令来重新创建菜单。
Speedy 权限很简单,它不能处理复杂的情况。每个单独的菜单都有一个权限来控制它。这意味着任何可以看到这个菜单的人都可以访问其中的所有内容。
# speedy.php
'menus' => [
'user' => [
'display' => 'User',
'url' => '/admin/user'
],
'role' => [
'display' => 'Role',
'url' => '/admin/role'
],
'about' => [
'display' => 'About HanSon',
'sub' => [
'github' => [
'display' => 'HanSon\'s Github',
'url' => 'https://github.com/hanson',
'target' => '_blank'
],
'blog' => [
'display' => 'HanSon\'s Blog',
'url' => 'http://hanc.cc'
]
]
],
]
修改菜单后,运行 php artisan speedy:menu
重新创建菜单和权限。
角色
每个用户都有一个角色。Speedy 默认用户 admin
作为角色并拥有所有权限,即使您修改了菜单并运行了重新创建菜单的命令。
中间件
Speedy 提供了一个名为 speedy.auth
的中间件,在 Hanson\Speedy\Http\Middleware\SpeedyAdminMiddleware
中,每个管理员路由都必须添加它以保持应用程序安全。
Hanson\Speedy\Http\Controllers\BaseController
将自动添加中间件。
protected $permissionName;
public function __construct()
{
$this->middleware('speedy.auth:' . $this->permissionName);
}
您可以将您的管理员控制器扩展为 Hanson\Speedy\Http\Controllers\BaseController
并将 $permissionName
设置为菜单键。
验证
Speedy 将验证规则分离到 config/validator
中,在控制器中,您可以使用方法 $validator = $this->mustValidate('{model}.{method}');
来验证数据。错误将显示为您在 resources/lang/en/attributre
中定义的那样。
视图
blade 文件将发布到 resources/views/vendor/speedy
,您可能需要修改 resources/views/vendor/speedy/layouts/app.blade.php
中的资源链接