TaskServiceProvider.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. namespace App\Module\Task\Providers;
  3. use Illuminate\Support\ServiceProvider;
  4. use App\Module\Task\Events\TaskCompletedEvent;
  5. use App\Module\Task\Events\TaskRewardClaimedEvent;
  6. use App\Module\Task\Listeners\TaskCompletedListener;
  7. use App\Module\Task\Listeners\TaskRewardClaimedListener;
  8. use App\Module\Task\Listeners\PetExpGainedListener;
  9. use App\Module\Pet\Events\PetExpGainedEvent;
  10. use App\Module\Task\Commands\TaskResetCheckCommand;
  11. use App\Module\Task\Commands\CheckTaskProgressCommand;
  12. use App\Module\Task\Commands\CleanExpiredTasksCommand;
  13. use App\Module\Task\Commands\MigrateTaskRewardsToRewardGroups;
  14. use App\Module\Task\Commands\TestTaskTempCommand;
  15. /**
  16. * 任务模块服务提供者
  17. */
  18. class TaskServiceProvider extends ServiceProvider
  19. {
  20. /**
  21. * 应用程序的事件监听器映射
  22. *
  23. * @var array
  24. */
  25. protected $listen = [
  26. TaskCompletedEvent::class => [
  27. TaskCompletedListener::class,
  28. ],
  29. TaskRewardClaimedEvent::class => [
  30. TaskRewardClaimedListener::class,
  31. ],
  32. PetExpGainedEvent::class => [
  33. PetExpGainedListener::class,
  34. ],
  35. ];
  36. /**
  37. * 要注册的命令
  38. *
  39. * @var array
  40. */
  41. protected $commands = [
  42. TaskResetCheckCommand::class,
  43. CheckTaskProgressCommand::class,
  44. CleanExpiredTasksCommand::class,
  45. \App\Module\Task\Commands\GenerateTaskConfigCommand::class,
  46. MigrateTaskRewardsToRewardGroups::class,
  47. \App\Module\Task\Commands\TestRoseHeartTaskCommand::class,
  48. TestTaskTempCommand::class,
  49. ];
  50. /**
  51. * 注册服务
  52. *
  53. * @return void
  54. */
  55. public function register(): void
  56. {
  57. // 注册服务...
  58. }
  59. /**
  60. * 引导服务
  61. *
  62. * @return void
  63. */
  64. public function boot(): void
  65. {
  66. // 注册事件监听器
  67. foreach ($this->listen as $event => $listeners) {
  68. foreach ($listeners as $listener) {
  69. $this->app['events']->listen($event, $listener);
  70. }
  71. }
  72. // 注册命令
  73. if ($this->app->runningInConsole()) {
  74. $this->commands($this->commands);
  75. }
  76. }
  77. }