rodsaseg / laravel-saseg
Laravel CMS助手安装器
1.0.2
2021-08-11 03:54 UTC
Requires
- php: ^7.1.3
- alexusmai/laravel-file-manager: ^2.5
- rachidlaasri/laravel-installer: ^4.1
- spatie/laravel-medialibrary: ^7.0.0
- spatie/laravel-permission: ^3.17
- yajra/laravel-datatables: ^1.5
This package is auto-updated.
Last update: 2024-09-27 07:23:09 UTC
README
关于
您希望您的客户能够像安装WordPress或其他任何CMS一样安装Laravel项目吗?这个Laravel包允许不使用Composer、SSH等工具的用户,只需按照设置向导操作,就能安装您的应用程序。当前的功能包括:
- 检查服务器要求。
- 检查文件夹权限。
- 设置数据库信息的能力。
- .env文本编辑器
- .env表单向导
- 迁移数据库。
- 填充表。
要求
安装
- 在终端中从您的项目根目录运行以下命令
composer require rodsaseg/laravel-saseg
- 注册包
- Laravel 5.5及以上版本使用包自动发现功能,无需编辑
config/app.php
文件。
- 通过在项目根目录运行以下命令发布包视图、配置文件、资产和语言文件
#default Views and Controllers
php artisan vendor:publish --tag=laravelsaseg
#Spatie Permission php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider"
#Spatie Media Library php artisan vendor:publish --provider="Spatie\MediaLibrary\MediaLibraryServiceProvider" --tag="migrations"
#DataTables
php artisan vendor:publish --tag=datatables
#Laravel Installer
php artisan vendor:publish --tag=laravelinstaller
#Laravel Migrations Laravel Saseg php artisan vendor:publish --provider="Rodsaseg\LaravelSaseg\Providers\LaravelSasegServiceProvider" --tag="migrations"
- 清除您的配置缓存。此包需要访问权限配置。通常,在开发环境中进行配置缓存是不良实践。如果您已经在本地缓存了配置,请使用以下任一命令清除配置缓存
php artisan optimize:clear
# or
php artisan config:clear
- 运行迁移
php artisan migrate
composer dump-autoload
- 运行种子
更新DatabaseSeeder.php
中的run()
函数。添加以下行
public function run()
{
$this->call(UsersTableSeeder::class);
$this->call(PermissionSeeder::class);
$this->call(RolesTableSeeder::class);
$this->call(ModelHasRolesTableSeeder::class);
$this->call(RoleHasPermissionsTableSeeder::class);
}
php artisan db:seed
php artisan cache:forget spatie.permission.cache
- 依赖项npm
将以下依赖项添加到您的项目中
"dependencies": {
"bootstrap-datepicker": "^1.9.0",
"datatables.net": "^1.10.23",
"datatables.net-bs4": "^1.10.23",
"datatables.net-buttons": "^1.6.5",
"datatables.net-buttons-bs4": "^1.6.5",
"dropzone": "^5.7.0",
"jquery-scroll-lock": "^3.1.3",
"jquery.scrollbar": "^0.2.11",
"js-cookie": "^2.2.1",
"sortablejs": "^1.13.0",
"sweetalert2": "^10.14.0",
"trumbowyg": "^2.23.0"
}
将此行添加到您的webpack.mix.js
中
mix.js('resources/js/vendor/panel/scripts/index.js', 'public/panel/assets/js/main.js');
php artisan vendor:publish --tag=fm-config
php artisan vendor:publish --tag=fm-assets --force
更新config/file-manager.php
中的leftPath
和rightPath
/** * Default path for left manager * * null - root directory */ 'leftPath' => 'media', /** * Default path for right manager * * null - root directory */ 'rightPath' => 'media',
中间件
使用以下内容更新Middleware/Authenticate.php中的重定向函数
if (! $request->expectsJson()) {
if(preg_match("/\bpanel\b/", $request->route()->getName())){
return route('panel.unauthenticated');
}else{
session()->flash('login', true);
return route('/');
}
}
准备您的模型
为了启用此包的功能,必须将HasRoles
和HasMediaTrait
特征添加到User模型中。
因此,一个典型的基本User模型将具有以下基本最小要求
use Illuminate\Foundation\Auth\User as Authenticatable;
use Spatie\Permission\Traits\HasRoles;
use Spatie\MediaLibrary\HasMedia\HasMedia;
use Spatie\MediaLibrary\HasMedia\HasMediaTrait;
class User extends Authenticatable implements HasMedia
{
use HasRoles;
use HasMediaTrait;
// ...
}
为了将媒体与模型关联,模型必须实现以下接口和特征
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Spatie\MediaLibrary\HasMedia\HasMedia;
use Spatie\MediaLibrary\HasMedia\HasMediaTrait;
class News extends Model implements HasMedia
{
use HasMediaTrait;
...
}
权限密钥
在config/app.php
中添加以下别名
'aliases' => [
...
'PermissionKey' => App\Providers\PermissionKey::class
]
在这里,您可以定义您的模型和相应的权限。
路由
以下路由将可用于适当的安装或更新
/install
/update
使用
-
安装路由说明
- 为了安装您的应用程序,请访问
/install
路由并按照说明操作。 - 一旦安装完成,空文件
installed
将被放置在/storage
目录中。如果此文件存在,则/install
路由将中止到404页面。
- 为了安装您的应用程序,请访问
-
更新路由说明
- 为了更新您的应用程序,请访问
/update
路由并按照说明操作。 /update
路由会计算/database/migrations
目录中迁移文件的数量,并将其与迁移表中的计数进行比较。如果文件计数大于,则/update
路由将渲染,否则,页面将中止到404页面。
- 为了更新您的应用程序,请访问
-
发布到您的项目的额外文件和文件夹
贡献
保持关注
变更日志
有关最近更改的更多信息,请参阅CHANGELOG。