From bfa4088b7bcc77564184cce095d2fb4b41d326e9 Mon Sep 17 00:00:00 2001 From: Edward Yang Date: Fri, 30 Sep 2022 15:37:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8F=92=E4=BB=B6=E4=B8=8D?= =?UTF-8?q?=E5=8F=AF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Http/Controllers/MarketingController.php | 17 ++++++++++------- beike/Admin/Services/MarketingService.php | 7 ++++++- .../admin/views/pages/marketing/index.blade.php | 1 + 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/beike/Admin/Http/Controllers/MarketingController.php b/beike/Admin/Http/Controllers/MarketingController.php index 075b748d..ea76eb77 100644 --- a/beike/Admin/Http/Controllers/MarketingController.php +++ b/beike/Admin/Http/Controllers/MarketingController.php @@ -48,13 +48,16 @@ class MarketingController */ public function show(Request $request) { - $code = $request->code; - $plugin = MarketingService::getPlugin($code); - $data = [ - 'plugin' => $plugin, - ]; - - return view('admin::pages.marketing.show', $data); + try { + $code = $request->code; + $plugin = MarketingService::getPlugin($code); + $data = [ + 'plugin' => $plugin, + ]; + return view('admin::pages.marketing.show', $data); + } catch (\Exception $e) { + return redirect(admin_route('marketing.index'))->withErrors(['error' => $e->getMessage()]); + } } diff --git a/beike/Admin/Services/MarketingService.php b/beike/Admin/Services/MarketingService.php index 0429c5d3..6d546791 100644 --- a/beike/Admin/Services/MarketingService.php +++ b/beike/Admin/Services/MarketingService.php @@ -12,6 +12,7 @@ namespace Beike\Admin\Services; use Illuminate\Support\Facades\Http; +use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; class MarketingService { @@ -27,6 +28,10 @@ class MarketingService public static function getPlugin($code) { $url = config('beike.api_url') . '/api/plugins/' . $code; - return Http::get($url)->json(); + $plugin = Http::get($url)->json(); + if (empty($plugin)) { + throw new NotFoundHttpException('该插件不存在或已下架'); + } + return $plugin; } } diff --git a/resources/beike/admin/views/pages/marketing/index.blade.php b/resources/beike/admin/views/pages/marketing/index.blade.php index bca8e5c1..7bab558a 100644 --- a/resources/beike/admin/views/pages/marketing/index.blade.php +++ b/resources/beike/admin/views/pages/marketing/index.blade.php @@ -5,6 +5,7 @@ @section('body-class', 'page-marketing') @section('content') + @dump($errors)