From a49828e3bfd11ffd6acace64a418c6ca79238f61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=94=E5=A7=AC=E6=A1=91?= Date: Mon, 25 Jan 2021 16:22:38 -0500 Subject: [PATCH] =?UTF-8?q?Add=20=E7=AE=80=E5=8C=96=E7=9A=84=E7=BC=93?= =?UTF-8?q?=E5=AD=98=E5=8A=9F=E8=83=BD=E8=87=B3=E6=96=B0=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E6=A8=A1=E5=9D=97=EF=BC=8C=E5=87=8F=E5=B0=91?= =?UTF-8?q?=E6=9F=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Observers/ConfigObserver.php | 15 +++++---------- app/Providers/SettingServiceProvider.php | 10 +++++++--- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/app/Observers/ConfigObserver.php b/app/Observers/ConfigObserver.php index bd44f914..4aa9e621 100644 --- a/app/Observers/ConfigObserver.php +++ b/app/Observers/ConfigObserver.php @@ -2,22 +2,17 @@ namespace App\Observers; -use App\Components\Helpers; use App\Models\Config; use Artisan; -use Cache; class ConfigObserver { - public function updated(Config $config): void + public function updated(Config $config) // 更新设定 { - // 域名出现变动,更新路由设定 - if (in_array($config->name, ['subscribe_domain', 'web_api_url', 'website_callback_url'])) { - if (config('app.debug')) { - Artisan::call('optimize:clear'); - } else { - Artisan::call('optimize'); - } + if (config('app.debug')) { + Artisan::call('optimize:clear'); + } else { + Artisan::call('optimize'); } } } diff --git a/app/Providers/SettingServiceProvider.php b/app/Providers/SettingServiceProvider.php index 6f03ea79..955513e1 100644 --- a/app/Providers/SettingServiceProvider.php +++ b/app/Providers/SettingServiceProvider.php @@ -5,6 +5,7 @@ namespace App\Providers; use App\Channels\BarkChannel; use App\Channels\ServerChanChannel; use App\Models\Config; +use Cache; use Illuminate\Support\ServiceProvider; use NotificationChannels\BearyChat\BearyChatChannel; use NotificationChannels\Telegram\TelegramChannel; @@ -35,13 +36,16 @@ class SettingServiceProvider extends ServiceProvider 'ticket_replied_notification', ]); $payments = ['is_AliPay', 'is_QQPay', 'is_WeChatPay', 'is_otherPay']; - $settings = Config::all(); + if (! Cache::has('settings')) { + Cache::forever('settings', Config::whereNotNull('value')->get()); + } + $settings = Cache::get('settings'); $modified = $settings ->whereNotIn('name', $toApp->keys()->merge($notifications)) // 设置一般系统选项 ->pluck('value', 'name') ->merge($settings->whereIn('name', $notifications)->pluck('value', 'name')->map(function ($item) { - return self::setChannel(json_decode($item, true) ?? []); - })) // 设置通知相关选项 + return self::setChannel(json_decode($item, true)); // 设置通知相关选项 + })) ->merge(collect(['is_onlinePay' => $settings->whereIn('name', $payments)->pluck('value')->filter()->isNotEmpty()])) // 设置在线支付开关 ->sortKeys() ->toArray();