AppServiceProvider.php 1.5 KB

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