安装引导

https://guangdagit.com/beike/beikeshop/issues/209
This commit is contained in:
TL 2022-08-30 18:06:20 +08:00
parent 9677a902ea
commit 66136547c5
6 changed files with 25 additions and 17 deletions

View File

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

View File

@ -17,12 +17,12 @@ class SetLocaleInstaller
*/ */
public function handle(Request $request, Closure $next) public function handle(Request $request, Closure $next)
{ {
$sessionLocale = session('locale'); $locale = $_COOKIE['locale'] ?? 'en';
$languageDir = base_path('beike/Installer/Lang'); $languageDir = base_path('beike/Installer/Lang');
$languages = array_values(array_diff(scandir($languageDir), array('..', '.'))); $languages = array_values(array_diff(scandir($languageDir), array('..', '.')));
if ($sessionLocale && in_array($sessionLocale, $languages)) { if ($locale && in_array($locale, $languages)) {
App::setLocale($sessionLocale); App::setLocale($locale);
} else { } else {
App::setLocale('en'); App::setLocale('en');
} }

View File

@ -40,7 +40,7 @@ class WelcomeController extends Controller
public function locale($lang) public function locale($lang)
{ {
if (in_array($lang, languages()->toArray())) { if (in_array($lang, languages()->toArray())) {
Session::put('locale', $lang); setcookie('locale', $lang, 0, '/');
} }
return Redirect::back(); return Redirect::back();
} }

View File

@ -6,18 +6,23 @@ use Beike\Installer\Controllers\FinalController;
use Beike\Installer\Controllers\PermissionsController; use Beike\Installer\Controllers\PermissionsController;
use Beike\Installer\Controllers\RequirementsController; use Beike\Installer\Controllers\RequirementsController;
use Beike\Installer\Controllers\WelcomeController; use Beike\Installer\Controllers\WelcomeController;
use Illuminate\Support\Facades\Route;
Route::prefix('installer') Route::prefix('installer')
->name('installer.') ->name('installer.')
->middleware(['installer']) ->middleware(\App\Http\Middleware\SetLocaleInstaller::class)
->group(function () { ->group(function () {
Route::get('/', [WelcomeController::class, 'index'])->name('welcome'); Route::get('/', [WelcomeController::class, 'index'])->name('welcome');
Route::get('lang/{lang}', [WelcomeController::class, 'locale'])->name('lang.switch');
Route::get('requirements', [RequirementsController::class, 'index'])->name('requirements'); Route::get('requirements', [RequirementsController::class, 'index'])->name('requirements');
Route::get('permissions', [PermissionsController::class, 'index'])->name('permissions'); Route::get('permissions', [PermissionsController::class, 'index'])->name('permissions');
Route::get('environment', [EnvironmentController::class, 'index'])->name('environment'); Route::middleware(['installer'])
Route::post('environment/save', [EnvironmentController::class, 'saveWizard'])->name('environment.save'); ->group(function () {
Route::get('database', [DatabaseController::class, 'index'])->name('database'); Route::get('lang/{lang}', [WelcomeController::class, 'locale'])->name('lang.switch');
Route::get('final', [FinalController::class, 'index'])->name('final'); Route::get('environment', [EnvironmentController::class, 'index'])->name('environment');
Route::post('environment/save', [EnvironmentController::class, 'saveWizard'])->name('environment.save');
Route::get('database', [DatabaseController::class, 'index'])->name('database');
Route::get('final', [FinalController::class, 'index'])->name('final');
});
}); });

View File

@ -36,12 +36,12 @@
<select name="database_connection" class="form-select" aria-label="Default select example"> <select name="database_connection" class="form-select" aria-label="Default select example">
<option value="mysql" selected> <option value="mysql" selected>
{{ trans($entry_key . 'db_connection_label_mysql') }}</option> {{ trans($entry_key . 'db_connection_label_mysql') }}</option>
<option value="sqlite"> {{-- <option value="sqlite">--}}
{{ trans($entry_key . 'db_connection_label_sqlite') }}</option> {{-- {{ trans($entry_key . 'db_connection_label_sqlite') }}</option>--}}
<option value="pgsql"> {{-- <option value="pgsql">--}}
{{ trans($entry_key . 'db_connection_label_pgsql') }}</option> {{-- {{ trans($entry_key . 'db_connection_label_pgsql') }}</option>--}}
<option value="sqlsrv"> {{-- <option value="sqlsrv">--}}
{{ trans($entry_key . 'db_connection_label_sqlsrv') }}</option> {{-- {{ trans($entry_key . 'db_connection_label_sqlsrv') }}</option>--}}
</select> </select>
</div> </div>

View File

@ -3,6 +3,10 @@
use Illuminate\Contracts\Http\Kernel; use Illuminate\Contracts\Http\Kernel;
use Illuminate\Http\Request; use Illuminate\Http\Request;
if (version_compare(PHP_VERSION, '8.0.2', '<') == true) {
exit('PHP8.0.2+ Required');
}
define('LARAVEL_START', microtime(true)); define('LARAVEL_START', microtime(true));
/* /*