update plugin

This commit is contained in:
Edward Yang 2022-06-30 17:46:21 +08:00
parent 21a466666a
commit 69bfe9468b
2 changed files with 25 additions and 3 deletions

View File

@ -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("编辑成功");
}

View File

@ -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);
}
}