1
0
Fork 0
medical-record-server/app/Admin/Controllers/SettingController.php

74 lines
2.3 KiB
PHP

<?php
namespace App\Admin\Controllers;
use Illuminate\Http\Request;
use Slowlyo\OwlAdmin\Controllers\AdminController;
use Slowlyo\OwlAdmin\Renderers\Tab;
use Slowlyo\OwlAdmin\Renderers\Tabs;
use Slowlyo\OwlAdmin\Admin;
use Slowlyo\OwlAdmin\Models\Extension;
class SettingController extends AdminController
{
public function settings()
{
return $this->response()->success([
'nav' => Admin::getNav(),
'assets' => Admin::getAssets(),
'app_name' => Admin::config('admin.name'),
'locale' => config('app.locale'),
'layout' => Admin::config('admin.layout'),
'logo' => url(Admin::config('admin.logo')),
'web_icp' => Admin::setting()->get('web_icp'),
'login_captcha' => Admin::config('admin.auth.login_captcha'),
'show_development_tools' => Admin::config('admin.show_development_tools'),
'system_theme_setting' => Admin::setting()->get('system_theme_setting'),
'enabled_extensions' => Extension::query()->where('is_enabled', 1)->pluck('name')?->toArray(),
]);
}
public function index()
{
$page = $this->basePage()->body([
$this->form(),
]);
return $this->response()->success($page);
}
public function form()
{
return $this->baseForm()
->redirect('')
->title('')
->onEvent('')
->api($this->getStorePath())
->data(settings()->all())
->body(Tabs::make()->tabs([
Tab::make()->title(__('setting.web'))->body([
amisMake()->TextControl()->name('web_title')->label(__('setting.web_title')),
amisMake()->ImageControl()
->receiver($this->uploadImagePath().'?full-url=1')
->autoUpload(true)
->name('web_logo')
->label(__('setting.web_logo')),
]),
]));
}
public function store(Request $request)
{
$data = $request->except(['items']);
// 将 null 变为 ""
foreach ($data as $key => $value) {
if (is_null($value)) {
$data[$key] = '';
}
}
return settings()->adminSetMany($data);
}
}