74 lines
2.3 KiB
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);
|
|
}
|
|
}
|