diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index a6828ca3..fad237a6 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -33,10 +33,11 @@ class Kernel extends HttpKernel \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, \Illuminate\Session\Middleware\StartSession::class, // \Illuminate\Session\Middleware\AuthenticateSession::class, - \App\Http\Middleware\Language::class, + \App\Http\Middleware\SetLocaleFromSession::class, \Illuminate\View\Middleware\ShareErrorsFromSession::class, \App\Http\Middleware\VerifyCsrfToken::class, \Illuminate\Routing\Middleware\SubstituteBindings::class, + \App\Http\Middleware\ShareViewData::class, ], 'api' => [ diff --git a/app/Http/Middleware/Language.php b/app/Http/Middleware/SetLocaleFromSession.php similarity index 73% rename from app/Http/Middleware/Language.php rename to app/Http/Middleware/SetLocaleFromSession.php index dd8b6eac..88846801 100644 --- a/app/Http/Middleware/Language.php +++ b/app/Http/Middleware/SetLocaleFromSession.php @@ -4,18 +4,16 @@ namespace App\Http\Middleware; use Closure; use Illuminate\Http\Request; -use Illuminate\Http\Response; use Illuminate\Support\Facades\App; -use Illuminate\Http\RedirectResponse; -class Language +class SetLocaleFromSession { /** * Handle an incoming request. * * @param Request $request - * @param Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next - * @return Response|RedirectResponse + * @param Closure $next + * @return mixed */ public function handle(Request $request, Closure $next) { diff --git a/app/Http/Middleware/ShareViewData.php b/app/Http/Middleware/ShareViewData.php new file mode 100644 index 00000000..b1345ea1 --- /dev/null +++ b/app/Http/Middleware/ShareViewData.php @@ -0,0 +1,35 @@ + + * @created 2022-08-03 15:46:13 + * @modified 2022-08-03 15:46:13 + */ + +namespace App\Http\Middleware; + +use Closure; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\View; +use Beike\Repositories\CategoryRepo; +use Beike\Repositories\LanguageRepo; + +class ShareViewData +{ + public function handle(Request $request, Closure $next) + { + $this->loadShopShareViewData(); + return $next($request); + } + + protected function loadShopShareViewData() + { + View::share('design', request('design') == 1); + View::share('languages', LanguageRepo::enabled()); + View::share('shop_base_url', shop_route('home.index')); + View::share('categories', hook_filter('header.categories', CategoryRepo::getTwoLevelCategories())); + } +} diff --git a/beike/Shop/Providers/ShopServiceProvider.php b/beike/Shop/Providers/ShopServiceProvider.php index 56f0e5f7..a6fbbafc 100644 --- a/beike/Shop/Providers/ShopServiceProvider.php +++ b/beike/Shop/Providers/ShopServiceProvider.php @@ -44,14 +44,8 @@ class ShopServiceProvider extends ServiceProvider $this->mergeConfigFrom(__DIR__ . '/../../Config/beike.php', 'beike'); $this->registerGuard(); - $this->loadThemeViewPath(); - $this->loadComponents(); - - $this->app->booted(function () { - $this->loadShareViewData(); - }); } @@ -86,14 +80,4 @@ class ShopServiceProvider extends ServiceProvider 'sidebar' => AccountSidebar::class, ]); } - - protected function loadShareViewData() - { - View::share('design', request('design') == 1); - View::share('languages', \Beike\Repositories\LanguageRepo::enabled()); - View::share('shop_base_url', shop_route('home.index')); - - $menuCategories = CategoryRepo::getTwoLevelCategories(); - View::share('categories', Eventy::filter('header.categories', $menuCategories)); - } }