rodsaseg/laravel-saseg

Laravel CMS助手安装器

安装: 64

依赖项: 0

建议者: 0

安全性: 0

星标: 1

关注者: 1

分支: 1

开放问题: 0

语言:SCSS

类型:package

1.0.2 2021-08-11 03:54 UTC

This package is auto-updated.

Last update: 2024-09-27 07:23:09 UTC


README

Total Downloads Latest Stable Version License

关于

您希望您的客户能够像安装WordPress或其他任何CMS一样安装Laravel项目吗?这个Laravel包允许不使用Composer、SSH等工具的用户,只需按照设置向导操作,就能安装您的应用程序。当前的功能包括:

  • 检查服务器要求。
  • 检查文件夹权限。
  • 设置数据库信息的能力。
    • .env文本编辑器
    • .env表单向导
  • 迁移数据库。
  • 填充表。

要求

安装

  1. 在终端中从您的项目根目录运行以下命令
    composer require rodsaseg/laravel-saseg
  1. 注册包
  • Laravel 5.5及以上版本使用包自动发现功能,无需编辑config/app.php文件。
  1. 通过在项目根目录运行以下命令发布包视图、配置文件、资产和语言文件
	#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"
  1. 清除您的配置缓存。此包需要访问权限配置。通常,在开发环境中进行配置缓存是不良实践。如果您已经在本地缓存了配置,请使用以下任一命令清除配置缓存
	php artisan optimize:clear
	# or
	php artisan config:clear
  1. 运行迁移
	php artisan migrate
	composer dump-autoload
  1. 运行种子

更新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
  1. 依赖项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中的leftPathrightPath

    /**
     * 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('/');
	}
}

准备您的模型

为了启用此包的功能,必须将HasRolesHasMediaTrait特征添加到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