AppService.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. declare (strict_types=1);
  3. namespace app;
  4. use app\listener\wechat\OffcialAccountListener;
  5. use app\listener\wechat\OpenPlatformListener;
  6. use app\listener\wechat\RoutineListener;
  7. use app\services\system\config\SystemConfigServices;
  8. use qiniu\services\wechat\config\HttpCommonConfig;
  9. use qiniu\services\wechat\MiniProgram;
  10. use qiniu\services\wechat\OfficialAccount;
  11. use qiniu\services\wechat\OpenPlatform;
  12. use qiniu\services\SystemConfigService;
  13. use GuzzleHttp\DefaultHandler;
  14. use qiniu\utils\Json;
  15. use think\Service;
  16. use Yurun\Util\Swoole\Guzzle\SwooleHandler;
  17. /**
  18. * 应用服务类
  19. */
  20. class AppService extends Service
  21. {
  22. public $bind = [
  23. 'json' => Json::class,
  24. 'sysConfig' => SystemConfigService::class,
  25. ];
  26. public function register()
  27. {
  28. // 服务注册
  29. //http配置服务
  30. $this->app->bind(HttpCommonConfig::class, function () {
  31. return (new HttpCommonConfig())->setServe(SystemConfigServices::class);
  32. });
  33. //公众号
  34. $this->app->bind(OfficialAccount::class, function () {
  35. return (new OfficialAccount)->setPushMessageHandler(OffcialAccountListener::class);
  36. });
  37. //小程序
  38. $this->app->bind(MiniProgram::class, function () {
  39. return (new MiniProgram)->setPushMessageHandler(RoutineListener::class);
  40. });
  41. //开放平台
  42. $this->app->bind(OpenPlatform::class, function () {
  43. return (new OpenPlatform)->setPushMessageHandler(OpenPlatformListener::class);
  44. });
  45. }
  46. public function boot()
  47. {
  48. defined('DS') || define('DS', DIRECTORY_SEPARATOR);
  49. DefaultHandler::setDefaultHandler(SwooleHandler::class);
  50. }
  51. }