From 69bfe9468bb530bff3e7db243f04da03fa610e2f Mon Sep 17 00:00:00 2001 From: Edward Yang Date: Thu, 30 Jun 2022 17:46:21 +0800 Subject: [PATCH] update plugin --- .../Admin/Http/Controllers/PluginController.php | 12 +++++++++--- beike/Repositories/SettingRepo.php | 16 ++++++++++++++++ 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/beike/Admin/Http/Controllers/PluginController.php b/beike/Admin/Http/Controllers/PluginController.php index 7cc2fa51..a7294184 100644 --- a/beike/Admin/Http/Controllers/PluginController.php +++ b/beike/Admin/Http/Controllers/PluginController.php @@ -12,6 +12,7 @@ namespace Beike\Admin\Http\Controllers; use Beike\Plugin\Manager; +use Beike\Repositories\SettingRepo; use Illuminate\Http\Request; class PluginController extends Controller @@ -33,8 +34,8 @@ class PluginController extends Controller */ public function edit(Request $request, $code) { - $data['plugin'] = (new Manager)->getPlugin($code); - return view('admin::pages.plugins.form', $data); + $data['plugin'] = (new Manager)->getPlugin($code); + return view('admin::pages.plugins.form', $data); } @@ -46,7 +47,12 @@ class PluginController extends Controller public function update(Request $request, $code) { $plugin = (new Manager)->getPlugin($code); - dd($plugin); + if (empty($plugin)) { + throw new \Exception("无效的插件"); + } + $fields = $request->all(); + SettingRepo::update('plugin', $code, $fields); + return json_success("编辑成功"); } diff --git a/beike/Repositories/SettingRepo.php b/beike/Repositories/SettingRepo.php index 4d68a6b6..8d045146 100644 --- a/beike/Repositories/SettingRepo.php +++ b/beike/Repositories/SettingRepo.php @@ -38,4 +38,20 @@ class SettingRepo ->get() ->keyBy('name'); } + + public static function update($type, $code, $fields) + { + Setting::query()->where('type', $type)->where('space', $code)->delete(); + $rows = []; + foreach ($fields as $name => $value) { + $rows[] = [ + 'type' => $type, + 'space' => $code, + 'name' => $name, + 'value' => (string)$value, + 'json' => 0 + ]; + } + Setting::query()->insert($rows); + } }