AppServiceProvider.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace App\Providers;
  3. use App\Models\Config;
  4. use App\Models\Node;
  5. use App\Models\Order;
  6. use App\Models\User;
  7. use App\Models\UserGroup;
  8. use App\Observers\ConfigObserver;
  9. use App\Observers\NodeObserver;
  10. use App\Observers\OrderObserver;
  11. use App\Observers\UserGroupObserver;
  12. use App\Observers\UserObserver;
  13. use DB;
  14. use File;
  15. use Illuminate\Pagination\Paginator;
  16. use Illuminate\Support\ServiceProvider;
  17. use Schema;
  18. use URL;
  19. class AppServiceProvider extends ServiceProvider
  20. {
  21. /**
  22. * Register any application services.
  23. */
  24. public function register(): void
  25. {
  26. if ($this->app->isLocal() && \config('app.debug')) {
  27. $this->app->register(\Laravel\Telescope\TelescopeServiceProvider::class);
  28. $this->app->register(TelescopeServiceProvider::class);
  29. $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
  30. }
  31. if (File::exists(base_path().'/.env') && Schema::hasTable('config') && DB::table('config')->exists()) {
  32. $this->app->register(SettingServiceProvider::class);
  33. }
  34. }
  35. /**
  36. * Bootstrap any application services.
  37. */
  38. public function boot(): void
  39. {
  40. Paginator::useBootstrap();
  41. // 检测是否强制跳转https
  42. if (config('session.secure')) {
  43. URL::forceScheme('https');
  44. }
  45. Config::observe(ConfigObserver::class);
  46. Node::observe(NodeObserver::class);
  47. Order::observe(OrderObserver::class);
  48. UserGroup::observe(UserGroupObserver::class);
  49. User::observe(UserObserver::class);
  50. }
  51. }