ConfigObserver.php 979 B

123456789101112131415161718192021222324252627282930
  1. <?php
  2. namespace App\Observers;
  3. use App\Components\Helpers;
  4. use App\Models\Config;
  5. use Artisan;
  6. use Cache;
  7. class ConfigObserver
  8. {
  9. public function updated(Config $config): void
  10. {
  11. if (in_array($config->name, ['is_AliPay', 'is_QQPay', 'is_WeChatPay', 'is_otherPay']) && Cache::tags('sysConfig')->has('is_onlinePay')) {
  12. Cache::tags('sysConfig')->put($config->name, $config->value);
  13. Helpers::cacheSysConfig('is_onlinePay'); // 如果在线支付方式出现变动,改变 在线支付 设置状态
  14. } else {
  15. Helpers::cacheSysConfig($config->name); // 更新系统参数缓存
  16. }
  17. // 域名出现变动,更新路由设定
  18. if (in_array($config->name, ['subscribe_domain', 'web_api_url', 'website_callback_url'])) {
  19. if (config('app.debug')) {
  20. Artisan::call('optimize:clear');
  21. } else {
  22. Artisan::call('optimize');
  23. }
  24. }
  25. }
  26. }