安装引导 --

This commit is contained in:
pushuo 2022-08-19 22:01:38 +08:00
parent d42cd187dc
commit 17d0e28aec
13 changed files with 517 additions and 296 deletions

View File

@ -1,204 +1,229 @@
@extends('installer::layouts.master') @extends('installer::layouts.master')
@section('template_title') @section('template_title')
{{ trans('installer::installer_messages.environment.wizard.templateTitle') }} {{ trans('installer::installer_messages.environment.wizard.templateTitle') }}
@endsection @endsection
@section('title') @section('title')
<i class="fa fa-magic fa-fw" aria-hidden="true"></i> <i class="fa fa-magic fa-fw" aria-hidden="true"></i>
{!! trans('installer::installer_messages.environment.wizard.title') !!} {!! trans('installer::installer_messages.environment.wizard.title') !!}
@endsection @endsection
@section('container') @section('content')
<form method="post" action="{{ route('installer.environment.save') }}" class="tabs-wrap"> <form method="post" action="{{ route('installer.environment.save') }}" class="tabs-wrap">
<input type="hidden" name="_token" value="{{ csrf_token() }}"> <input type="hidden" name="_token" value="{{ csrf_token() }}">
<div class="form-group {{ $errors->has('app_url') ? ' has-error ' : '' }}"> <div class="form-group {{ $errors->has('app_url') ? ' has-error ' : '' }}">
<label for="app_url"> <label for="app_url">
{{ trans('installer::installer_messages.environment.wizard.form.app_url_label') }} {{ trans('installer::installer_messages.environment.wizard.form.app_url_label') }}
</label> </label>
<input type="url" name="app_url" id="app_url" value="http://localhost" placeholder="{{ trans('installer::installer_messages.environment.wizard.form.app_url_placeholder') }}" /> <input type="url" name="app_url" id="app_url" value="http://localhost"
@if ($errors->has('app_url')) placeholder="{{ trans('installer::installer_messages.environment.wizard.form.app_url_placeholder') }}" />
<span class="error-block"> @if ($errors->has('app_url'))
<i class="fa fa-fw fa-exclamation-triangle" aria-hidden="true"></i> <span class="error-block">
{{ $errors->first('app_url') }} <i class="fa fa-fw fa-exclamation-triangle" aria-hidden="true"></i>
</span> {{ $errors->first('app_url') }}
@endif </span>
</div> @endif
</div>
<div class="form-group {{ $errors->has('database_connection') ? ' has-error ' : '' }}"> <div class="form-group {{ $errors->has('database_connection') ? ' has-error ' : '' }}">
<label for="database_connection"> <label for="database_connection">
{{ trans('installer::installer_messages.environment.wizard.form.db_connection_label') }} {{ trans('installer::installer_messages.environment.wizard.form.db_connection_label') }}
</label> </label>
<select name="database_connection" id="database_connection"> <select name="database_connection" id="database_connection">
<option value="mysql" selected>{{ trans('installer::installer_messages.environment.wizard.form.db_connection_label_mysql') }}</option> <option value="mysql" selected>
<option value="sqlite">{{ trans('installer::installer_messages.environment.wizard.form.db_connection_label_sqlite') }}</option> {{ trans('installer::installer_messages.environment.wizard.form.db_connection_label_mysql') }}</option>
<option value="pgsql">{{ trans('installer::installer_messages.environment.wizard.form.db_connection_label_pgsql') }}</option> <option value="sqlite">
<option value="sqlsrv">{{ trans('installer::installer_messages.environment.wizard.form.db_connection_label_sqlsrv') }}</option> {{ trans('installer::installer_messages.environment.wizard.form.db_connection_label_sqlite') }}</option>
</select> <option value="pgsql">
@if ($errors->has('database_connection')) {{ trans('installer::installer_messages.environment.wizard.form.db_connection_label_pgsql') }}</option>
<span class="error-block"> <option value="sqlsrv">
<i class="fa fa-fw fa-exclamation-triangle" aria-hidden="true"></i> {{ trans('installer::installer_messages.environment.wizard.form.db_connection_label_sqlsrv') }}</option>
{{ $errors->first('database_connection') }} </select>
</span> @if ($errors->has('database_connection'))
@endif <span class="error-block">
</div> <i class="fa fa-fw fa-exclamation-triangle" aria-hidden="true"></i>
{{ $errors->first('database_connection') }}
</span>
@endif
</div>
<div class="form-group {{ $errors->has('database_hostname') ? ' has-error ' : '' }}"> <div class="form-group {{ $errors->has('database_hostname') ? ' has-error ' : '' }}">
<label for="database_hostname"> <label for="database_hostname">
{{ trans('installer::installer_messages.environment.wizard.form.db_host_label') }} {{ trans('installer::installer_messages.environment.wizard.form.db_host_label') }}
</label> </label>
<input type="text" name="database_hostname" id="database_hostname" value="127.0.0.1" placeholder="{{ trans('installer::installer_messages.environment.wizard.form.db_host_placeholder') }}" /> <input type="text" name="database_hostname" id="database_hostname" value="127.0.0.1"
@if ($errors->has('database_hostname')) placeholder="{{ trans('installer::installer_messages.environment.wizard.form.db_host_placeholder') }}" />
<span class="error-block"> @if ($errors->has('database_hostname'))
<i class="fa fa-fw fa-exclamation-triangle" aria-hidden="true"></i> <span class="error-block">
{{ $errors->first('database_hostname') }} <i class="fa fa-fw fa-exclamation-triangle" aria-hidden="true"></i>
</span> {{ $errors->first('database_hostname') }}
@endif </span>
</div> @endif
</div>
<div class="form-group {{ $errors->has('database_port') ? ' has-error ' : '' }}"> <div class="form-group {{ $errors->has('database_port') ? ' has-error ' : '' }}">
<label for="database_port"> <label for="database_port">
{{ trans('installer::installer_messages.environment.wizard.form.db_port_label') }} {{ trans('installer::installer_messages.environment.wizard.form.db_port_label') }}
</label> </label>
<input type="number" name="database_port" id="database_port" value="3306" placeholder="{{ trans('installer::installer_messages.environment.wizard.form.db_port_placeholder') }}" /> <input type="number" name="database_port" id="database_port" value="3306"
@if ($errors->has('database_port')) placeholder="{{ trans('installer::installer_messages.environment.wizard.form.db_port_placeholder') }}" />
<span class="error-block"> @if ($errors->has('database_port'))
<i class="fa fa-fw fa-exclamation-triangle" aria-hidden="true"></i> <span class="error-block">
{{ $errors->first('database_port') }} <i class="fa fa-fw fa-exclamation-triangle" aria-hidden="true"></i>
</span> {{ $errors->first('database_port') }}
@endif </span>
</div> @endif
</div>
<div class="form-group {{ $errors->has('database_name') ? ' has-error ' : '' }}"> <div class="form-group {{ $errors->has('database_name') ? ' has-error ' : '' }}">
<label for="database_name"> <label for="database_name">
{{ trans('installer::installer_messages.environment.wizard.form.db_name_label') }} {{ trans('installer::installer_messages.environment.wizard.form.db_name_label') }}
</label> </label>
<input type="text" name="database_name" id="database_name" value="" placeholder="{{ trans('installer::installer_messages.environment.wizard.form.db_name_placeholder') }}" /> <input type="text" name="database_name" id="database_name" value=""
@if ($errors->has('database_name')) placeholder="{{ trans('installer::installer_messages.environment.wizard.form.db_name_placeholder') }}" />
<span class="error-block"> @if ($errors->has('database_name'))
<i class="fa fa-fw fa-exclamation-triangle" aria-hidden="true"></i> <span class="error-block">
{{ $errors->first('database_name') }} <i class="fa fa-fw fa-exclamation-triangle" aria-hidden="true"></i>
</span> {{ $errors->first('database_name') }}
@endif </span>
</div> @endif
</div>
<div class="form-group {{ $errors->has('database_username') ? ' has-error ' : '' }}"> <div class="form-group {{ $errors->has('database_username') ? ' has-error ' : '' }}">
<label for="database_username"> <label for="database_username">
{{ trans('installer::installer_messages.environment.wizard.form.db_username_label') }} {{ trans('installer::installer_messages.environment.wizard.form.db_username_label') }}
</label> </label>
<input type="text" name="database_username" id="database_username" value="" placeholder="{{ trans('installer::installer_messages.environment.wizard.form.db_username_placeholder') }}" /> <input type="text" name="database_username" id="database_username" value=""
@if ($errors->has('database_username')) placeholder="{{ trans('installer::installer_messages.environment.wizard.form.db_username_placeholder') }}" />
<span class="error-block"> @if ($errors->has('database_username'))
<i class="fa fa-fw fa-exclamation-triangle" aria-hidden="true"></i> <span class="error-block">
{{ $errors->first('database_username') }} <i class="fa fa-fw fa-exclamation-triangle" aria-hidden="true"></i>
</span> {{ $errors->first('database_username') }}
@endif </span>
</div> @endif
</div>
<div class="form-group {{ $errors->has('database_password') ? ' has-error ' : '' }}"> <div class="form-group {{ $errors->has('database_password') ? ' has-error ' : '' }}">
<label for="database_password"> <label for="database_password">
{{ trans('installer::installer_messages.environment.wizard.form.db_password_label') }} {{ trans('installer::installer_messages.environment.wizard.form.db_password_label') }}
</label> </label>
<input type="password" name="database_password" id="database_password" value="" placeholder="{{ trans('installer::installer_messages.environment.wizard.form.db_password_placeholder') }}" /> <input type="password" name="database_password" id="database_password" value=""
@if ($errors->has('database_password')) placeholder="{{ trans('installer::installer_messages.environment.wizard.form.db_password_placeholder') }}" />
<span class="error-block"> @if ($errors->has('database_password'))
<i class="fa fa-fw fa-exclamation-triangle" aria-hidden="true"></i> <span class="error-block">
{{ $errors->first('database_password') }} <i class="fa fa-fw fa-exclamation-triangle" aria-hidden="true"></i>
</span> {{ $errors->first('database_password') }}
@endif </span>
</div> @endif
</div>
<div class="form-group {{ $errors->has('mail_driver') ? ' has-error ' : '' }}"> <div class="form-group {{ $errors->has('mail_driver') ? ' has-error ' : '' }}">
<label for="mail_driver"> <label for="mail_driver">
{{ trans('installer::installer_messages.environment.wizard.form.app_tabs.mail_driver_label') }} {{ trans('installer::installer_messages.environment.wizard.form.app_tabs.mail_driver_label') }}
<sup> <sup>
<a href="https://laravel.com/docs/5.4/mail" target="_blank" title="{{ trans('installer::installer_messages.environment.wizard.form.app_tabs.more_info') }}"> <a href="https://laravel.com/docs/5.4/mail" target="_blank"
<i class="fa fa-info-circle fa-fw" aria-hidden="true"></i> title="{{ trans('installer::installer_messages.environment.wizard.form.app_tabs.more_info') }}">
<span class="sr-only">{{ trans('installer::installer_messages.environment.wizard.form.app_tabs.more_info') }}</span> <i class="fa fa-info-circle fa-fw" aria-hidden="true"></i>
</a> <span
</sup> class="sr-only">{{ trans('installer::installer_messages.environment.wizard.form.app_tabs.more_info') }}</span>
</label> </a>
<input type="text" name="mail_driver" id="mail_driver" value="smtp" placeholder="{{ trans('installer::installer_messages.environment.wizard.form.app_tabs.mail_driver_placeholder') }}" /> </sup>
@if ($errors->has('mail_driver')) </label>
<span class="error-block"> <input type="text" name="mail_driver" id="mail_driver" value="smtp"
<i class="fa fa-fw fa-exclamation-triangle" aria-hidden="true"></i> placeholder="{{ trans('installer::installer_messages.environment.wizard.form.app_tabs.mail_driver_placeholder') }}" />
{{ $errors->first('mail_driver') }} @if ($errors->has('mail_driver'))
</span> <span class="error-block">
@endif <i class="fa fa-fw fa-exclamation-triangle" aria-hidden="true"></i>
</div> {{ $errors->first('mail_driver') }}
<div class="form-group {{ $errors->has('mail_host') ? ' has-error ' : '' }}"> </span>
<label for="mail_host">{{ trans('installer::installer_messages.environment.wizard.form.app_tabs.mail_host_label') }}</label> @endif
<input type="text" name="mail_host" id="mail_host" value="smtp.mailtrap.io" placeholder="{{ trans('installer::installer_messages.environment.wizard.form.app_tabs.mail_host_placeholder') }}" /> </div>
@if ($errors->has('mail_host')) <div class="form-group {{ $errors->has('mail_host') ? ' has-error ' : '' }}">
<span class="error-block"> <label
<i class="fa fa-fw fa-exclamation-triangle" aria-hidden="true"></i> for="mail_host">{{ trans('installer::installer_messages.environment.wizard.form.app_tabs.mail_host_label') }}</label>
{{ $errors->first('mail_host') }} <input type="text" name="mail_host" id="mail_host" value="smtp.mailtrap.io"
</span> placeholder="{{ trans('installer::installer_messages.environment.wizard.form.app_tabs.mail_host_placeholder') }}" />
@endif @if ($errors->has('mail_host'))
</div> <span class="error-block">
<div class="form-group {{ $errors->has('mail_port') ? ' has-error ' : '' }}"> <i class="fa fa-fw fa-exclamation-triangle" aria-hidden="true"></i>
<label for="mail_port">{{ trans('installer::installer_messages.environment.wizard.form.app_tabs.mail_port_label') }}</label> {{ $errors->first('mail_host') }}
<input type="number" name="mail_port" id="mail_port" value="2525" placeholder="{{ trans('installer::installer_messages.environment.wizard.form.app_tabs.mail_port_placeholder') }}" /> </span>
@if ($errors->has('mail_port')) @endif
<span class="error-block"> </div>
<i class="fa fa-fw fa-exclamation-triangle" aria-hidden="true"></i> <div class="form-group {{ $errors->has('mail_port') ? ' has-error ' : '' }}">
{{ $errors->first('mail_port') }} <label
</span> for="mail_port">{{ trans('installer::installer_messages.environment.wizard.form.app_tabs.mail_port_label') }}</label>
@endif <input type="number" name="mail_port" id="mail_port" value="2525"
</div> placeholder="{{ trans('installer::installer_messages.environment.wizard.form.app_tabs.mail_port_placeholder') }}" />
<div class="form-group {{ $errors->has('mail_username') ? ' has-error ' : '' }}"> @if ($errors->has('mail_port'))
<label for="mail_username">{{ trans('installer::installer_messages.environment.wizard.form.app_tabs.mail_username_label') }}</label> <span class="error-block">
<input type="text" name="mail_username" id="mail_username" value="null" placeholder="{{ trans('installer::installer_messages.environment.wizard.form.app_tabs.mail_username_placeholder') }}" /> <i class="fa fa-fw fa-exclamation-triangle" aria-hidden="true"></i>
@if ($errors->has('mail_username')) {{ $errors->first('mail_port') }}
<span class="error-block"> </span>
<i class="fa fa-fw fa-exclamation-triangle" aria-hidden="true"></i> @endif
{{ $errors->first('mail_username') }} </div>
</span> <div class="form-group {{ $errors->has('mail_username') ? ' has-error ' : '' }}">
@endif <label
</div> for="mail_username">{{ trans('installer::installer_messages.environment.wizard.form.app_tabs.mail_username_label') }}</label>
<div class="form-group {{ $errors->has('mail_password') ? ' has-error ' : '' }}"> <input type="text" name="mail_username" id="mail_username" value="null"
<label for="mail_password">{{ trans('installer::installer_messages.environment.wizard.form.app_tabs.mail_password_label') }}</label> placeholder="{{ trans('installer::installer_messages.environment.wizard.form.app_tabs.mail_username_placeholder') }}" />
<input type="text" name="mail_password" id="mail_password" value="null" placeholder="{{ trans('installer::installer_messages.environment.wizard.form.app_tabs.mail_password_placeholder') }}" /> @if ($errors->has('mail_username'))
@if ($errors->has('mail_password')) <span class="error-block">
<span class="error-block"> <i class="fa fa-fw fa-exclamation-triangle" aria-hidden="true"></i>
<i class="fa fa-fw fa-exclamation-triangle" aria-hidden="true"></i> {{ $errors->first('mail_username') }}
{{ $errors->first('mail_password') }} </span>
</span> @endif
@endif </div>
</div> <div class="form-group {{ $errors->has('mail_password') ? ' has-error ' : '' }}">
<div class="form-group {{ $errors->has('mail_encryption') ? ' has-error ' : '' }}"> <label
<label for="mail_encryption">{{ trans('installer::installer_messages.environment.wizard.form.app_tabs.mail_encryption_label') }}</label> for="mail_password">{{ trans('installer::installer_messages.environment.wizard.form.app_tabs.mail_password_label') }}</label>
<input type="text" name="mail_encryption" id="mail_encryption" value="null" placeholder="{{ trans('installer::installer_messages.environment.wizard.form.app_tabs.mail_encryption_placeholder') }}" /> <input type="text" name="mail_password" id="mail_password" value="null"
@if ($errors->has('mail_encryption')) placeholder="{{ trans('installer::installer_messages.environment.wizard.form.app_tabs.mail_password_placeholder') }}" />
<span class="error-block"> @if ($errors->has('mail_password'))
<i class="fa fa-fw fa-exclamation-triangle" aria-hidden="true"></i> <span class="error-block">
{{ $errors->first('mail_encryption') }} <i class="fa fa-fw fa-exclamation-triangle" aria-hidden="true"></i>
</span> {{ $errors->first('mail_password') }}
@endif </span>
</div> @endif
<button class="button" type="submit"> </div>
{{ trans('installer::installer_messages.environment.wizard.form.buttons.install') }} <div class="form-group {{ $errors->has('mail_encryption') ? ' has-error ' : '' }}">
<i class="fa fa-angle-right fa-fw" aria-hidden="true"></i> <label
</button> for="mail_encryption">{{ trans('installer::installer_messages.environment.wizard.form.app_tabs.mail_encryption_label') }}</label>
</form> <input type="text" name="mail_encryption" id="mail_encryption" value="null"
placeholder="{{ trans('installer::installer_messages.environment.wizard.form.app_tabs.mail_encryption_placeholder') }}" />
@if ($errors->has('mail_encryption'))
<span class="error-block">
<i class="fa fa-fw fa-exclamation-triangle" aria-hidden="true"></i>
{{ $errors->first('mail_encryption') }}
</span>
@endif
</div>
<button class="button" type="submit">
{{ trans('installer::installer_messages.environment.wizard.form.buttons.install') }}
<i class="fa fa-angle-right fa-fw" aria-hidden="true"></i>
</button>
</form>
@endsection @endsection
@section('scripts') @section('scripts')
<script type="text/javascript"> <script type="text/javascript">
function checkEnvironment(val) { function checkEnvironment(val) {
var element=document.getElementById('environment_text_input'); var element = document.getElementById('environment_text_input');
if(val=='other') { if (val == 'other') {
element.style.display='block'; element.style.display = 'block';
} else { } else {
element.style.display='none'; element.style.display = 'none';
} }
} }
function showDatabaseSettings() {
document.getElementById('tab2').checked = true; function showDatabaseSettings() {
} document.getElementById('tab2').checked = true;
function showApplicationSettings() { }
document.getElementById('tab3').checked = true;
} function showApplicationSettings() {
</script> document.getElementById('tab3').checked = true;
}
</script>
@endsection @endsection

View File

@ -9,7 +9,7 @@
{{ trans('installer::installer_messages.final.title') }} {{ trans('installer::installer_messages.final.title') }}
@endsection @endsection
@section('container') @section('content')
@if(session('message')['dbOutputLog']) @if(session('message')['dbOutputLog'])
<p><strong><small>{{ trans('installer::installer_messages.final.migration') }}</small></strong></p> <p><strong><small>{{ trans('installer::installer_messages.final.migration') }}</small></strong></p>

View File

@ -1,67 +1,73 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head>
<meta charset="utf-8"> <head>
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="csrf-token" content="{{ csrf_token() }}"> <meta name="viewport" content="width=device-width, initial-scale=1">
<title>@if (trim($__env->yieldContent('template_title')))@yield('template_title') | @endif {{ trans('installer::installer_messages.title') }}</title> <meta name="csrf-token" content="{{ csrf_token() }}">
<link rel="icon" type="image/png" href="{{ asset('installer/img/favicon/favicon-16x16.png') }}" sizes="16x16"/> <title>
<link rel="icon" type="image/png" href="{{ asset('installer/img/favicon/favicon-32x32.png') }}" sizes="32x32"/> @if (trim($__env->yieldContent('template_title')))
<link rel="icon" type="image/png" href="{{ asset('installer/img/favicon/favicon-96x96.png') }}" sizes="96x96"/> @yield('template_title') |
<link href="{{ asset('installer/css/style.min.css') }}" rel="stylesheet"/> @endif {{ trans('installer::installer_messages.title') }}
@yield('style') </title>
<script> <link rel="stylesheet" type="text/css" href="{{ asset('/build/beike/shop/default/css/bootstrap.css') }}">
window.Laravel = <?php echo json_encode([ <script src="{{ asset('vendor/jquery/jquery-3.6.0.min.js') }}"></script>
'csrfToken' => csrf_token(), <script src="{{ asset('vendor/layer/3.5.1/layer.js') }}"></script>
]); ?> <link rel="shortcut icon" href="{{ asset('/image/favicon.png') }}">
</script> <script src="{{ asset('vendor/bootstrap/5.1.3/js/bootstrap.min.js') }}"></script>
</head> <link rel="stylesheet" type="text/css" href="{{ asset('/build/beike/installer/app.css') }}">
<body> @yield('style')
<div class="master"> </head>
<div class="box">
<div class="header"> <body>
<h1 class="header__title">@yield('title')</h1> <aside class="aside-wrap">
</div> <div class="logo mb-5"><img src="{{ asset('/image/logo.png') }}" class="img-fluid"></div>
<div class="main"> <div class="steps-wrap">
@if (session('message')) <ul>
<p class="alert text-center"> <li class="success">
<strong> <div class="left"><span class="index"><i class="bi bi-check-lg"></i></span>已经成功的步骤</div>
@if(is_array(session('message'))) </li>
{{ session('message')['message'] }} <li class="ing">
@else <div class="left">
{{ session('message') }} <span class="index">2</span>正在进行的步骤
@endif </div>
</strong> <span class="right"><i class="bi bi-arrow-right-short"></i></span>
</p> </li>
@endif <li><div class="left"><span class="index">3</span>等待执行的步骤</div></li>
@if(session()->has('errors')) <li><div class="left"><span class="index">4</span>等待执行的步骤</div></li>
<div class="alert alert-danger" id="error_alert"> <li><div class="left"><span class="index">5</span>等待执行的步骤</div></li>
<button type="button" class="close" id="close_alert" data-dismiss="alert" aria-hidden="true"> </ul>
<i class="fa fa-close" aria-hidden="true"></i> </div>
</button> {{-- <div class="container d-flex justify-content-between align-items-center">
<h4> </div> --}}
<i class="fa fa-fw fa-exclamation-triangle" aria-hidden="true"></i> </aside>
{{ trans('installer::installer_messages.forms.errorTitle') }}
</h4> <div class="content">
<ul> @if (session('message'))
@foreach($errors->all() as $error) <p class="alert text-center">
<li>{{ $error }}</li> <strong>
@endforeach @if (is_array(session('message')))
</ul> {{ session('message')['message'] }}
</div> @else
@endif {{ session('message') }}
@yield('container') @endif
</div> </strong>
</div> </p>
</div> @endif
@yield('scripts') @if (session()->has('errors'))
<script type="text/javascript"> <div class="alert alert-danger" id="error_alert">
var x = document.getElementById('error_alert'); <ul>
var y = document.getElementById('close_alert'); @foreach ($errors->all() as $error)
y.onclick = function() { <li>{{ $error }}</li>
x.style.display = "none"; @endforeach
}; </ul>
</script> </div>
</body> @endif
@yield('content')
</div>
@yield('scripts')
</body>
</html> </html>

View File

@ -9,7 +9,7 @@
{{ trans('installer::installer_messages.permissions.title') }} {{ trans('installer::installer_messages.permissions.title') }}
@endsection @endsection
@section('container') @section('content')
<ul class="list"> <ul class="list">
@foreach($permissions['permissions'] as $permission) @foreach($permissions['permissions'] as $permission)

View File

@ -1,50 +1,52 @@
@extends('installer::layouts.master') @extends('installer::layouts.master')
@section('template_title') @section('template_title')
{{ trans('installer::installer_messages.requirements.templateTitle') }} {{ trans('installer::installer_messages.requirements.templateTitle') }}
@endsection @endsection
@section('title') @section('title')
<i class="fa fa-list-ul fa-fw" aria-hidden="true"></i> <i class="fa fa-list-ul fa-fw" aria-hidden="true"></i>
{{ trans('installer::installer_messages.requirements.title') }} {{ trans('installer::installer_messages.requirements.title') }}
@endsection @endsection
@section('container') @section('content')
<div class="container">
@foreach($requirements['requirements'] as $type => $requirement) @foreach ($requirements['requirements'] as $type => $requirement)
<ul class="list"> <ul class="list">
<li class="list__item list__title {{ $phpSupportInfo['supported'] ? 'success' : 'error' }}"> <li class="list__item list__title {{ $phpSupportInfo['supported'] ? 'success' : 'error' }}">
<strong>{{ ucfirst($type) }}</strong> <strong>{{ ucfirst($type) }}</strong>
@if($type == 'php') @if ($type == 'php')
<strong> <strong>
<small> <small>
(version {{ $phpSupportInfo['minimum'] }} required) (version {{ $phpSupportInfo['minimum'] }} required)
</small> </small>
</strong> </strong>
<span class="float-right"> <span class="float-right">
<strong> <strong>
{{ $phpSupportInfo['current'] }} {{ $phpSupportInfo['current'] }}
</strong> </strong>
<i class="fa fa-fw fa-{{ $phpSupportInfo['supported'] ? 'check-circle-o' : 'exclamation-circle' }} row-icon" aria-hidden="true"></i> <i class="fa fa-fw fa-{{ $phpSupportInfo['supported'] ? 'check-circle-o' : 'exclamation-circle' }} row-icon"
</span> aria-hidden="true"></i>
@endif </span>
</li> @endif
@foreach($requirements['requirements'][$type] as $extention => $enabled) </li>
<li class="list__item {{ $enabled ? 'success' : 'error' }}"> @foreach ($requirements['requirements'][$type] as $extention => $enabled)
{{ $extention }} <li class="list__item {{ $enabled ? 'success' : 'error' }}">
<i class="fa fa-fw fa-{{ $enabled ? 'check-circle-o' : 'exclamation-circle' }} row-icon" aria-hidden="true"></i> {{ $extention }}
</li> <i class="fa fa-fw fa-{{ $enabled ? 'check-circle-o' : 'exclamation-circle' }} row-icon" aria-hidden="true"></i>
@endforeach </li>
</ul> @endforeach
</ul>
@endforeach @endforeach
@if ( ! isset($requirements['errors']) && $phpSupportInfo['supported'] ) @if (!isset($requirements['errors']) && $phpSupportInfo['supported'])
<div class="buttons"> <div class="buttons">
<a class="button" href="{{ route('installer.permissions') }}"> <a class="button" href="{{ route('installer.permissions') }}">
{{ trans('installer::installer_messages.requirements.next') }} {{ trans('installer::installer_messages.requirements.next') }}
<i class="fa fa-angle-right fa-fw" aria-hidden="true"></i> <i class="fa fa-angle-right fa-fw" aria-hidden="true"></i>
</a> </a>
</div> </div>
@endif @endif
</div>
@endsection @endsection

View File

@ -8,7 +8,7 @@
{{ trans('installer::installer_messages.welcome.title') }} {{ trans('installer::installer_messages.welcome.title') }}
@endsection @endsection
@section('container') @section('content')
<p class="text-center"> <p class="text-center">
{{ trans('installer::installer_messages.welcome.message') }} {{ trans('installer::installer_messages.welcome.message') }}
</p> </p>

74
beike/Installer/assets/scss/_steps.scss vendored Normal file
View File

@ -0,0 +1,74 @@
@charset "UTF-8";
.aside-wrap {
.logo {
img {
max-width: 180px;
}
}
.steps-wrap {
ul {
padding-left: 0;
list-style: none;
li {
margin-bottom: 30px;
font-size: 16px;
color: #333;
display: flex;
align-items: center;
justify-content: space-between;
.left {
display: flex;
align-items: center;
}
.right {
i {
font-size: 24px;
line-height: 1;
}
}
span.index {
width: 40px;
height: 40px;
border: 2px solid #ddd;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin-right: 18px;
color: #666;
}
&.success {
color: #999;
span.index {
background-color: #5dca86;
border-color: #5dca86;
color: #fff;
i {
font-size: 24px;
}
}
}
&.ing {
color: $primary;
span.index {
border-color: $primary;
color: $primary;
i {
font-size: 24px;
}
}
}
}
}
}
}

25
beike/Installer/assets/scss/app.scss vendored Normal file
View File

@ -0,0 +1,25 @@
@charset "UTF-8";
$primary: #fd560f;
body {
background-color: #f6f7f8;
display: flex;
height: 100vh;
// flex-direction: column;
> .aside-wrap {
width: 30%;
background-color: #fff;
padding: 40px 20px 40px 40px;
// flex: 1;
}
> .content {
width: 70%;
padding: 40px;
// flex: 1;
}
}
@import "steps";

View File

@ -2536,6 +2536,19 @@ axios.defaults.baseURL = base;
} }
}); });
/***/ }),
/***/ "./beike/installer/assets/scss/app.scss":
/*!**********************************************!*\
!*** ./beike/installer/assets/scss/app.scss ***!
\**********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
// extracted by mini-css-extract-plugin
/***/ }), /***/ }),
/***/ "./resources/beike/admin/css/design/app.scss": /***/ "./resources/beike/admin/css/design/app.scss":
@ -2937,7 +2950,8 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
/******/ "build/beike/admin/css/filemanager": 0, /******/ "build/beike/admin/css/filemanager": 0,
/******/ "build/beike/admin/css/app": 0, /******/ "build/beike/admin/css/app": 0,
/******/ "build/beike/admin/css/bootstrap": 0, /******/ "build/beike/admin/css/bootstrap": 0,
/******/ "build/beike/admin/css/design": 0 /******/ "build/beike/admin/css/design": 0,
/******/ "build/beike/installer/app": 0
/******/ }; /******/ };
/******/ /******/
/******/ // no chunk on demand loading /******/ // no chunk on demand loading
@ -2987,13 +3001,14 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
/******/ // startup /******/ // startup
/******/ // Load entry module and return exports /******/ // Load entry module and return exports
/******/ // This entry module depends on other loaded chunks and execution need to be delayed /******/ // This entry module depends on other loaded chunks and execution need to be delayed
/******/ __webpack_require__.O(undefined, ["build/beike/shop/default/css/app","build/beike/shop/default/css/bootstrap","build/beike/admin/css/filemanager","build/beike/admin/css/app","build/beike/admin/css/bootstrap","build/beike/admin/css/design"], () => (__webpack_require__("./resources/beike/admin/js/app.js"))) /******/ __webpack_require__.O(undefined, ["build/beike/shop/default/css/app","build/beike/shop/default/css/bootstrap","build/beike/admin/css/filemanager","build/beike/admin/css/app","build/beike/admin/css/bootstrap","build/beike/admin/css/design","build/beike/installer/app"], () => (__webpack_require__("./resources/beike/admin/js/app.js")))
/******/ __webpack_require__.O(undefined, ["build/beike/shop/default/css/app","build/beike/shop/default/css/bootstrap","build/beike/admin/css/filemanager","build/beike/admin/css/app","build/beike/admin/css/bootstrap","build/beike/admin/css/design"], () => (__webpack_require__("./resources/beike/admin/css/bootstrap/bootstrap.scss"))) /******/ __webpack_require__.O(undefined, ["build/beike/shop/default/css/app","build/beike/shop/default/css/bootstrap","build/beike/admin/css/filemanager","build/beike/admin/css/app","build/beike/admin/css/bootstrap","build/beike/admin/css/design","build/beike/installer/app"], () => (__webpack_require__("./resources/beike/admin/css/bootstrap/bootstrap.scss")))
/******/ __webpack_require__.O(undefined, ["build/beike/shop/default/css/app","build/beike/shop/default/css/bootstrap","build/beike/admin/css/filemanager","build/beike/admin/css/app","build/beike/admin/css/bootstrap","build/beike/admin/css/design"], () => (__webpack_require__("./resources/beike/admin/css/app.scss"))) /******/ __webpack_require__.O(undefined, ["build/beike/shop/default/css/app","build/beike/shop/default/css/bootstrap","build/beike/admin/css/filemanager","build/beike/admin/css/app","build/beike/admin/css/bootstrap","build/beike/admin/css/design","build/beike/installer/app"], () => (__webpack_require__("./resources/beike/admin/css/app.scss")))
/******/ __webpack_require__.O(undefined, ["build/beike/shop/default/css/app","build/beike/shop/default/css/bootstrap","build/beike/admin/css/filemanager","build/beike/admin/css/app","build/beike/admin/css/bootstrap","build/beike/admin/css/design"], () => (__webpack_require__("./resources/beike/admin/css/filemanager/app.scss"))) /******/ __webpack_require__.O(undefined, ["build/beike/shop/default/css/app","build/beike/shop/default/css/bootstrap","build/beike/admin/css/filemanager","build/beike/admin/css/app","build/beike/admin/css/bootstrap","build/beike/admin/css/design","build/beike/installer/app"], () => (__webpack_require__("./resources/beike/admin/css/filemanager/app.scss")))
/******/ __webpack_require__.O(undefined, ["build/beike/shop/default/css/app","build/beike/shop/default/css/bootstrap","build/beike/admin/css/filemanager","build/beike/admin/css/app","build/beike/admin/css/bootstrap","build/beike/admin/css/design"], () => (__webpack_require__("./resources/beike/shop/default/css/bootstrap/bootstrap.scss"))) /******/ __webpack_require__.O(undefined, ["build/beike/shop/default/css/app","build/beike/shop/default/css/bootstrap","build/beike/admin/css/filemanager","build/beike/admin/css/app","build/beike/admin/css/bootstrap","build/beike/admin/css/design","build/beike/installer/app"], () => (__webpack_require__("./resources/beike/shop/default/css/bootstrap/bootstrap.scss")))
/******/ __webpack_require__.O(undefined, ["build/beike/shop/default/css/app","build/beike/shop/default/css/bootstrap","build/beike/admin/css/filemanager","build/beike/admin/css/app","build/beike/admin/css/bootstrap","build/beike/admin/css/design"], () => (__webpack_require__("./resources/beike/shop/default/css/app.scss"))) /******/ __webpack_require__.O(undefined, ["build/beike/shop/default/css/app","build/beike/shop/default/css/bootstrap","build/beike/admin/css/filemanager","build/beike/admin/css/app","build/beike/admin/css/bootstrap","build/beike/admin/css/design","build/beike/installer/app"], () => (__webpack_require__("./resources/beike/shop/default/css/app.scss")))
/******/ var __webpack_exports__ = __webpack_require__.O(undefined, ["build/beike/shop/default/css/app","build/beike/shop/default/css/bootstrap","build/beike/admin/css/filemanager","build/beike/admin/css/app","build/beike/admin/css/bootstrap","build/beike/admin/css/design"], () => (__webpack_require__("./resources/beike/admin/css/design/app.scss"))) /******/ __webpack_require__.O(undefined, ["build/beike/shop/default/css/app","build/beike/shop/default/css/bootstrap","build/beike/admin/css/filemanager","build/beike/admin/css/app","build/beike/admin/css/bootstrap","build/beike/admin/css/design","build/beike/installer/app"], () => (__webpack_require__("./beike/installer/assets/scss/app.scss")))
/******/ var __webpack_exports__ = __webpack_require__.O(undefined, ["build/beike/shop/default/css/app","build/beike/shop/default/css/bootstrap","build/beike/admin/css/filemanager","build/beike/admin/css/app","build/beike/admin/css/bootstrap","build/beike/admin/css/design","build/beike/installer/app"], () => (__webpack_require__("./resources/beike/admin/css/design/app.scss")))
/******/ __webpack_exports__ = __webpack_require__.O(__webpack_exports__); /******/ __webpack_exports__ = __webpack_require__.O(__webpack_exports__);
/******/ /******/
/******/ })() /******/ })()

70
public/build/beike/installer/app.css vendored Normal file
View File

@ -0,0 +1,70 @@
body {
background-color: #f6f7f8;
display: flex;
height: 100vh;
}
body > .aside-wrap {
width: 30%;
background-color: #fff;
padding: 40px 20px 40px 40px;
}
body > .content {
width: 70%;
padding: 40px;
}
.aside-wrap .logo img {
max-width: 180px;
}
.aside-wrap .steps-wrap ul {
padding-left: 0;
list-style: none;
}
.aside-wrap .steps-wrap ul li {
margin-bottom: 30px;
font-size: 16px;
color: #333;
display: flex;
align-items: center;
justify-content: space-between;
}
.aside-wrap .steps-wrap ul li .left {
display: flex;
align-items: center;
}
.aside-wrap .steps-wrap ul li .right i {
font-size: 24px;
line-height: 1;
}
.aside-wrap .steps-wrap ul li span.index {
width: 40px;
height: 40px;
border: 2px solid #ddd;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin-right: 18px;
color: #666;
}
.aside-wrap .steps-wrap ul li.success {
color: #999;
}
.aside-wrap .steps-wrap ul li.success span.index {
background-color: #5dca86;
border-color: #5dca86;
color: #fff;
}
.aside-wrap .steps-wrap ul li.success span.index i {
font-size: 24px;
}
.aside-wrap .steps-wrap ul li.ing {
color: #fd560f;
}
.aside-wrap .steps-wrap ul li.ing span.index {
border-color: #fd560f;
color: #fd560f;
}
.aside-wrap .steps-wrap ul li.ing span.index i {
font-size: 24px;
}

BIN
public/image/favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

0
storage/installed-bak Normal file
View File

4
webpack.mix.js vendored
View File

@ -31,6 +31,10 @@ mix.sass('resources/beike/shop/default/css/bootstrap/bootstrap.scss', 'public/bu
mix.sass('resources/beike/shop/default/css/app.scss', 'public/build/beike/shop/default/css/app.css'); mix.sass('resources/beike/shop/default/css/app.scss', 'public/build/beike/shop/default/css/app.css');
mix.js('resources/beike/shop/default/js/app.js', 'public/build/beike/shop/default/js/app.js'); mix.js('resources/beike/shop/default/js/app.js', 'public/build/beike/shop/default/js/app.js');
// 安装引导
mix.sass('beike/installer/assets/scss/app.scss', 'public/build/beike/installer/app.css');
// design // design
mix.sass('resources/beike/admin/css/design/app.scss', 'public/build/beike/admin/css/design.css'); mix.sass('resources/beike/admin/css/design/app.scss', 'public/build/beike/admin/css/design.css');