hanson/speedy

一个用于快速创建网站的 Laravel 管理包

维护者

详细信息

github.com/HanSon/speedy

源代码

问题

安装: 575

依赖: 0

建议者: 0

安全: 0

星星: 145

关注者: 4

分支: 9

1.0.7 2017-12-25 02:06 UTC

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 中的资源链接