后台语言切换
This commit is contained in:
parent
455de33cbb
commit
bd531e3514
|
|
@ -28,7 +28,7 @@ class Kernel extends HttpKernel
|
||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected $middlewareGroups = [
|
protected $middlewareGroups = [
|
||||||
'web' => [
|
'shop' => [
|
||||||
\App\Http\Middleware\EncryptCookies::class,
|
\App\Http\Middleware\EncryptCookies::class,
|
||||||
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
|
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
|
||||||
\Illuminate\Session\Middleware\StartSession::class,
|
\Illuminate\Session\Middleware\StartSession::class,
|
||||||
|
|
@ -39,6 +39,16 @@ class Kernel extends HttpKernel
|
||||||
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||||
\App\Http\Middleware\ShareViewData::class,
|
\App\Http\Middleware\ShareViewData::class,
|
||||||
],
|
],
|
||||||
|
'admin' => [
|
||||||
|
\App\Http\Middleware\EncryptCookies::class,
|
||||||
|
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
|
||||||
|
\Illuminate\Session\Middleware\StartSession::class,
|
||||||
|
\App\Http\Middleware\SetLocale::class,
|
||||||
|
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
|
||||||
|
\App\Http\Middleware\VerifyCsrfToken::class,
|
||||||
|
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||||
|
\App\Http\Middleware\ShareViewData::class,
|
||||||
|
],
|
||||||
|
|
||||||
'api' => [
|
'api' => [
|
||||||
// \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
|
// \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Closure;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\App;
|
||||||
|
|
||||||
|
class SetLocaleAdmin
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Handle an incoming request.
|
||||||
|
*
|
||||||
|
* @param Request $request
|
||||||
|
* @param Closure $next
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function handle(Request $request, Closure $next)
|
||||||
|
{
|
||||||
|
$sessionLocale = session('locale');
|
||||||
|
if ($sessionLocale && in_array($sessionLocale, languages()->toArray())) {
|
||||||
|
App::setLocale($sessionLocale);
|
||||||
|
} else {
|
||||||
|
$configLocale = system_setting('base.locale');
|
||||||
|
App::setLocale($configLocale);
|
||||||
|
session(['locale' => $configLocale]);
|
||||||
|
}
|
||||||
|
return $next($request);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -6,7 +6,7 @@ use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
$adminName = admin_name();
|
$adminName = admin_name();
|
||||||
Route::prefix($adminName)
|
Route::prefix($adminName)
|
||||||
->middleware(['web'])
|
->middleware(['admin'])
|
||||||
->name("{$adminName}.")
|
->name("{$adminName}.")
|
||||||
->group(function () {
|
->group(function () {
|
||||||
Route::get('brands/autocomplete', [Controllers\BrandController::class, 'autocomplete'])->name('brands.autocomplete');
|
Route::get('brands/autocomplete', [Controllers\BrandController::class, 'autocomplete'])->name('brands.autocomplete');
|
||||||
|
|
|
||||||
|
|
@ -249,16 +249,6 @@ function languages(): Collection
|
||||||
return LanguageRepo::enabled()->pluck('code');
|
return LanguageRepo::enabled()->pluck('code');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 当前语言ID
|
|
||||||
*
|
|
||||||
* @return int
|
|
||||||
*/
|
|
||||||
function current_language_id(): int
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 当前语言
|
* 当前语言
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ use Beike\Shop\Http\Controllers\Account\ForgottenController;
|
||||||
|
|
||||||
Route::prefix('/')
|
Route::prefix('/')
|
||||||
->name('shop.')
|
->name('shop.')
|
||||||
->middleware(['web'])
|
->middleware(['shop'])
|
||||||
->group(function () {
|
->group(function () {
|
||||||
Route::get('/', [HomeController::class, 'index'])->name('home.index');
|
Route::get('/', [HomeController::class, 'index'])->name('home.index');
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue