安装优化

This commit is contained in:
TL 2023-04-11 18:58:12 +08:00
parent 98e962a6fd
commit 5f9eeb74d8
9 changed files with 33 additions and 50 deletions

View File

@ -53,7 +53,6 @@ class Kernel extends HttpKernel
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\CheckInstalled::class,
],
'web' => [

View File

@ -1,27 +0,0 @@
<?php
/**
* CheckInstalled.php
*
* @copyright 2023 beikeshop.com - All Rights Reserved
* @link https://beikeshop.com
* @author TL <mengwb@guangda.work>
* @created 2023-04-07 15:46:13
* @modified 2023-04-07 15:46:13
*/
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
class CheckInstalled
{
public function handle(Request $request, Closure $next)
{
if (installed()) {
exit('Already installed');
}
return $next($request);
}
}

View File

@ -0,0 +1,17 @@
<?php
namespace Beike\Installer\Controllers;
use Illuminate\Routing\Controller;
class BaseController extends Controller
{
protected function checkInstalled()
{
if (installed()) {
exit('Already installed');
}
}
}

View File

@ -5,11 +5,10 @@ namespace Beike\Installer\Controllers;
use Beike\Admin\Repositories\AdminUserRepo;
use Beike\Installer\Helpers\DatabaseManager;
use Illuminate\Http\RedirectResponse;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
class DatabaseController extends Controller
class DatabaseController extends BaseController
{
/**
* @var DatabaseManager
@ -31,6 +30,7 @@ class DatabaseController extends Controller
*/
public function index()
{
$this->checkInstalled();
DB::statement('SET FOREIGN_KEY_CHECKS = 0');
$rows = DB::select('SHOW TABLES');
$database = config('database.connections.mysql.database');

View File

@ -5,12 +5,11 @@ namespace Beike\Installer\Controllers;
use Beike\Installer\Helpers\EnvironmentManager;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Illuminate\Routing\Redirector;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Validator;
class EnvironmentController extends Controller
class EnvironmentController extends BaseController
{
/**
* @var EnvironmentManager
@ -32,6 +31,7 @@ class EnvironmentController extends Controller
*/
public function index()
{
$this->checkInstalled();
$steps = 4;
return view('installer::environment-wizard', compact('steps'));
@ -46,6 +46,7 @@ class EnvironmentController extends Controller
*/
public function saveWizard(Request $request, Redirector $redirect): RedirectResponse
{
$this->checkInstalled();
$rules = config('installer.environment.form.rules');
$messages = [
'environment_custom.required_if' => trans('installer::installer_messages.environment.name_required'),
@ -78,6 +79,7 @@ class EnvironmentController extends Controller
*/
public function validateDatabase(Request $request): array
{
$this->checkInstalled();
$rules = config('installer.environment.form.rules');
$messages = [
'environment_custom.required_if' => trans('installer::installer_messages.environment.name_required'),
@ -108,6 +110,7 @@ class EnvironmentController extends Controller
*/
private function checkDatabaseConnection(Request $request): bool|array
{
$this->checkInstalled();
$connection = $request->input('database_connection');
$settings = config("database.connections.$connection");

View File

@ -5,9 +5,8 @@ namespace Beike\Installer\Controllers;
use Beike\Installer\Helpers\EnvironmentManager;
use Beike\Installer\Helpers\FinalInstallManager;
use Beike\Installer\Helpers\InstalledFileManager;
use Illuminate\Routing\Controller;
class FinalController extends Controller
class FinalController extends BaseController
{
/**
* Update installed file and display finished view.
@ -19,6 +18,8 @@ class FinalController extends Controller
*/
public function index(InstalledFileManager $fileManager, FinalInstallManager $finalInstall, EnvironmentManager $environment)
{
$this->checkInstalled();
$finalMessages = $finalInstall->runFinal();
$finalStatusMessage = $fileManager->update();
$finalEnvFile = $environment->getEnvContent();

View File

@ -3,9 +3,8 @@
namespace Beike\Installer\Controllers;
use Beike\Installer\Helpers\PermissionsChecker;
use Illuminate\Routing\Controller;
class PermissionsController extends Controller
class PermissionsController extends BaseController
{
/**
* @var PermissionsChecker
@ -17,9 +16,6 @@ class PermissionsController extends Controller
*/
public function __construct(PermissionsChecker $checker)
{
if (installed()) {
exit('Already installed');
}
$this->permissions = $checker;
}
@ -30,6 +26,7 @@ class PermissionsController extends Controller
*/
public function index()
{
$this->checkInstalled();
$permissions = $this->permissions->check(
config('installer.permissions')
);

View File

@ -3,9 +3,8 @@
namespace Beike\Installer\Controllers;
use Beike\Installer\Helpers\RequirementsChecker;
use Illuminate\Routing\Controller;
class RequirementsController extends Controller
class RequirementsController extends BaseController
{
/**
* @var RequirementsChecker
@ -17,9 +16,6 @@ class RequirementsController extends Controller
*/
public function __construct(RequirementsChecker $checker)
{
if (installed()) {
exit('Already installed');
}
$this->requirements = $checker;
}
@ -30,6 +26,7 @@ class RequirementsController extends Controller
*/
public function index()
{
$this->checkInstalled();
$phpSupportInfo = $this->requirements->checkPHPversion(
config('installer.core.minPhpVersion')
);

View File

@ -11,10 +11,9 @@
namespace Beike\Installer\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Redirect;
class WelcomeController extends Controller
class WelcomeController extends BaseController
{
private $languages = [
'zh_cn' => '简体中文',
@ -23,10 +22,7 @@ class WelcomeController extends Controller
public function index()
{
if (installed()) {
exit('Already installed');
}
$this->checkInstalled();
$data['languages'] = $this->languages;
$data['locale'] = $_COOKIE['locale'] ?? 'zh_cn';
$data['steps'] = 1;