From 393b25f34e0ba9bc136c14865e595e666f18d277 Mon Sep 17 00:00:00 2001 From: Edward Yang Date: Tue, 7 Feb 2023 10:19:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=89=8D=E5=8F=B0controller?= =?UTF-8?q?=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- beike/Shop/Http/Controllers/BrandController.php | 4 ++++ beike/Shop/Http/Controllers/CartController.php | 12 ++++++++++++ beike/Shop/Http/Controllers/CategoryController.php | 4 +++- beike/Shop/Http/Controllers/CheckoutController.php | 9 +++++++-- beike/Shop/Http/Controllers/CurrencyController.php | 8 +++++--- beike/Shop/Http/Controllers/FileController.php | 8 ++++++-- beike/Shop/Http/Controllers/HomeController.php | 6 +++++- beike/Shop/Http/Controllers/LanguageController.php | 2 ++ beike/Shop/Http/Controllers/PageController.php | 2 ++ beike/Shop/Http/Controllers/ProductController.php | 2 ++ beike/Shop/Http/Controllers/ZoneController.php | 2 ++ 11 files changed, 50 insertions(+), 9 deletions(-) diff --git a/beike/Shop/Http/Controllers/BrandController.php b/beike/Shop/Http/Controllers/BrandController.php index a7838da2..949600fb 100644 --- a/beike/Shop/Http/Controllers/BrandController.php +++ b/beike/Shop/Http/Controllers/BrandController.php @@ -15,6 +15,8 @@ class BrandController extends Controller 'brands' => $brands, ]; + $data = hook_filter('brand.index.data', $data); + return view('brand/list', $data); } @@ -39,6 +41,8 @@ class BrandController extends Controller 'products_format' => ProductSimple::collection($products)->jsonSerialize(), ]; + $data = hook_filter('brand.show.data', $data); + return view('brand/info', $data); } diff --git a/beike/Shop/Http/Controllers/CartController.php b/beike/Shop/Http/Controllers/CartController.php index 2664f16e..ea43158a 100644 --- a/beike/Shop/Http/Controllers/CartController.php +++ b/beike/Shop/Http/Controllers/CartController.php @@ -19,6 +19,8 @@ class CartController extends Controller 'data' => CartService::reloadData(), ]; + $data = hook_filter('cart.index.data', $data); + return view('cart/cart', $data); } @@ -37,6 +39,8 @@ class CartController extends Controller $data = CartService::reloadData(); + $data = hook_filter('cart.select.data', $data); + return json_success(trans('common.updated_success'), $data); } @@ -64,6 +68,8 @@ class CartController extends Controller CartService::select($customer, [$cart->id]); } + $cart = hook_filter('cart.store.data', $cart); + return json_success(trans('shop/carts.added_to_cart'), $cart); } @@ -81,6 +87,8 @@ class CartController extends Controller $data = CartService::reloadData(); + $data = hook_filter('cart.update.data', $data); + return json_success(trans('common.updated_success'), $data); } @@ -97,6 +105,8 @@ class CartController extends Controller $data = CartService::reloadData(); + $data = hook_filter('cart.destroy.data', $data); + return json_success(trans('common.deleted_success'), $data); } @@ -113,6 +123,8 @@ class CartController extends Controller $data['quantity'] = $reloadData['quantity']; $data['quantity_all'] = $reloadData['quantity_all']; + $data = hook_filter('cart.mini_cart.data', $data); + return json_success(trans('common.success'), $data); } } diff --git a/beike/Shop/Http/Controllers/CategoryController.php b/beike/Shop/Http/Controllers/CategoryController.php index 6a9efc2d..763aa25c 100644 --- a/beike/Shop/Http/Controllers/CategoryController.php +++ b/beike/Shop/Http/Controllers/CategoryController.php @@ -12,7 +12,7 @@ class CategoryController extends Controller { public function index(Request $request) { - return CategoryRepo::list(); + return redirect('/'); } public function show(Request $request, Category $category) @@ -34,6 +34,8 @@ class CategoryController extends Controller 'per_pages' => CategoryRepo::getPerPages(), ]; + $data = hook_filter('category.show.data', $data); + return view('category', $data); } } diff --git a/beike/Shop/Http/Controllers/CheckoutController.php b/beike/Shop/Http/Controllers/CheckoutController.php index 10497a4b..d272051a 100644 --- a/beike/Shop/Http/Controllers/CheckoutController.php +++ b/beike/Shop/Http/Controllers/CheckoutController.php @@ -20,6 +20,7 @@ class CheckoutController extends Controller { try { $data = (new CheckoutService)->checkoutData(); + $data = hook_filter('checkout.index.data', $data); return view('checkout', $data); } catch (\Exception $e) { @@ -38,7 +39,9 @@ class CheckoutController extends Controller try { $requestData = $request->all(); - return (new CheckoutService)->update($requestData); + $data = (new CheckoutService)->update($requestData); + + return hook_filter('checkout.update.data', $data); } catch (\Exception $e) { return json_fail($e->getMessage()); } @@ -52,6 +55,8 @@ class CheckoutController extends Controller */ public function confirm() { - return (new CheckoutService)->confirm(); + $data = (new CheckoutService)->confirm(); + + return hook_filter('checkout.confirm.data', $data); } } diff --git a/beike/Shop/Http/Controllers/CurrencyController.php b/beike/Shop/Http/Controllers/CurrencyController.php index 8b2a95f7..6786a775 100644 --- a/beike/Shop/Http/Controllers/CurrencyController.php +++ b/beike/Shop/Http/Controllers/CurrencyController.php @@ -16,12 +16,14 @@ use Illuminate\Support\Facades\Session; class CurrencyController extends Controller { - public function index($lang) + public function index($currency) { - if (in_array($lang, currencies()->where('status', true)->pluck('code')->toArray())) { - Session::put('currency', $lang); + if (in_array($currency, currencies()->where('status', true)->pluck('code')->toArray())) { + Session::put('currency', $currency); } + hook_action('currency.index', $currency); + return Redirect::back(); } } diff --git a/beike/Shop/Http/Controllers/FileController.php b/beike/Shop/Http/Controllers/FileController.php index 7025ad68..04dd6fd5 100644 --- a/beike/Shop/Http/Controllers/FileController.php +++ b/beike/Shop/Http/Controllers/FileController.php @@ -13,9 +13,13 @@ class FileController extends Controller $path = $file->store($type . '/', 'upload'); - return json_success(trans('shop/file.uploaded_success'), [ + $data = [ 'url' => asset('upload/' . $path), 'value' => 'upload/' . $path, - ]); + ]; + + $data = hook_filter('file.store.data', $data); + + return json_success(trans('shop/file.uploaded_success'), $data); } } diff --git a/beike/Shop/Http/Controllers/HomeController.php b/beike/Shop/Http/Controllers/HomeController.php index cdaec727..3426fb45 100644 --- a/beike/Shop/Http/Controllers/HomeController.php +++ b/beike/Shop/Http/Controllers/HomeController.php @@ -34,6 +34,10 @@ class HomeController extends Controller } } - return view('home', ['modules' => $moduleItems]); + $data = ['modules' => $moduleItems]; + + $data = hook_filter('home.index.data', $data); + + return view('home', $data); } } diff --git a/beike/Shop/Http/Controllers/LanguageController.php b/beike/Shop/Http/Controllers/LanguageController.php index f4096967..27426c82 100644 --- a/beike/Shop/Http/Controllers/LanguageController.php +++ b/beike/Shop/Http/Controllers/LanguageController.php @@ -22,6 +22,8 @@ class LanguageController extends Controller Session::put('locale', $lang); } + hook_action('language.index', $lang); + return Redirect::back(); } } diff --git a/beike/Shop/Http/Controllers/PageController.php b/beike/Shop/Http/Controllers/PageController.php index b0665be1..c43d254c 100644 --- a/beike/Shop/Http/Controllers/PageController.php +++ b/beike/Shop/Http/Controllers/PageController.php @@ -23,6 +23,8 @@ class PageController extends Controller 'page' => (new PageDetail($page))->jsonSerialize(), ]; + $data = hook_filter('page.show.data', $data); + return view('pages/detail', $data); } } diff --git a/beike/Shop/Http/Controllers/ProductController.php b/beike/Shop/Http/Controllers/ProductController.php index 3dfb0a4f..bb74aaaa 100644 --- a/beike/Shop/Http/Controllers/ProductController.php +++ b/beike/Shop/Http/Controllers/ProductController.php @@ -52,6 +52,8 @@ class ProductController extends Controller 'items' => ProductSimple::collection($products)->jsonSerialize(), ]; + $data = hook_filter('product.search.data', $data); + return view('search', $data); } } diff --git a/beike/Shop/Http/Controllers/ZoneController.php b/beike/Shop/Http/Controllers/ZoneController.php index decd261b..8784d3f9 100644 --- a/beike/Shop/Http/Controllers/ZoneController.php +++ b/beike/Shop/Http/Controllers/ZoneController.php @@ -24,6 +24,8 @@ class ZoneController extends Controller 'zones' => ZoneRepo::listByCountry($countryId), ]; + $data = hook_filter('zone.index.data', $data); + return json_success(trans('common.success'), $data); } }