AppServiceProvider.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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\Support\ServiceProvider;
  16. use Schema;
  17. use URL;
  18. class AppServiceProvider extends ServiceProvider
  19. {
  20. /**
  21. * Register any application services.
  22. *
  23. * @return void
  24. */
  25. public function register()
  26. {
  27. if ($this->app->isLocal() && \config('app.debug')) {
  28. $this->app->register(\Laravel\Telescope\TelescopeServiceProvider::class);
  29. $this->app->register(TelescopeServiceProvider::class);
  30. $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
  31. }
  32. if (File::exists(base_path().'/.env') && Schema::hasTable('config') && DB::table('config')->exists()) {
  33. $this->app->register(SettingServiceProvider::class);
  34. }
  35. }
  36. /**
  37. * Bootstrap any application services.
  38. *
  39. * @return void
  40. */
  41. public function boot()
  42. {
  43. Schema::defaultStringLength(191);
  44. // 检测是否强制跳转https
  45. if (env('REDIRECT_HTTPS', false)) {
  46. URL::forceScheme('https');
  47. }
  48. Config::observe(ConfigObserver::class);
  49. Node::observe(NodeObserver::class);
  50. Order::observe(OrderObserver::class);
  51. UserGroup::observe(UserGroupObserver::class);
  52. User::observe(UserObserver::class);
  53. }
  54. }