您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. namespace app;
  3. use app\listener\wechat\OffcialAccountListener;
  4. use app\listener\wechat\OpenPlatformListener;
  5. use app\listener\wechat\WorkListener;
  6. use crmeb\services\SystemConfigService;
  7. use app\services\work\WorkConfigServices;
  8. use crmeb\services\GroupDataService;
  9. use crmeb\services\wechat\config\HttpCommonConfig;
  10. use crmeb\services\wechat\config\LogCommonConfig;
  11. use crmeb\services\wechat\config\WorkConfig;
  12. use crmeb\services\wechat\OfficialAccount;
  13. use crmeb\services\wechat\OpenPlatform;
  14. use crmeb\services\wechat\Work;
  15. use crmeb\utils\Json;
  16. use think\Service;
  17. use Yurun\Util\Swoole\Guzzle\SwooleHandler;
  18. use GuzzleHttp\DefaultHandler;
  19. /**
  20. * Class AppService
  21. * @package app
  22. */
  23. class AppService extends Service
  24. {
  25. public $bind = [
  26. 'json' => Json::class,
  27. 'sysConfig' => SystemConfigService::class,
  28. 'sysGroupData' => GroupDataService::class
  29. ];
  30. public function boot()
  31. {
  32. defined('DS') || define('DS', DIRECTORY_SEPARATOR);
  33. DefaultHandler::setDefaultHandler(SwooleHandler::class);
  34. }
  35. /**
  36. * 注册
  37. */
  38. public function register()
  39. {
  40. //http配置服务
  41. $this->app->bind(HttpCommonConfig::class, function () {
  42. return (new HttpCommonConfig())->setServe(\app\services\system\config\SystemConfigServices::class);
  43. });
  44. //公众号
  45. $this->app->bind(OfficialAccount::class, function () {
  46. return (new OfficialAccount)->setPushMessageHandler(OffcialAccountListener::class);
  47. });
  48. //开放平台
  49. $this->app->bind(OpenPlatform::class, function () {
  50. return (new OpenPlatform)->setPushMessageHandler(OpenPlatformListener::class);
  51. });
  52. //实例化企业微信配置
  53. $this->app->bind(WorkConfig::class, function () {
  54. return (new WorkConfig(new LogCommonConfig(), $this->app->make(HttpCommonConfig::class)))->setHandler(WorkConfigServices::class);
  55. });
  56. //企业微信
  57. $this->app->bind(Work::class, function () {
  58. return (new Work)->setPushMessageHandler(WorkListener::class)
  59. ->setConfigHandler(WorkConfigServices::class);
  60. });
  61. }
  62. }