// +---------------------------------------------------------------------- namespace app; use app\listener\wechat\OffcialAccountListener; use app\listener\wechat\OpenPlatformListener; use app\listener\wechat\RoutineListener; use app\listener\wechat\WorkListener; use crmeb\services\SystemConfigService; use app\services\work\WorkConfigServices; use crmeb\services\GroupDataService; use crmeb\services\wechat\config\HttpCommonConfig; use crmeb\services\wechat\config\LogCommonConfig; use crmeb\services\wechat\config\WorkConfig; use crmeb\services\wechat\MiniProgram; use crmeb\services\wechat\OfficialAccount; use crmeb\services\wechat\OpenPlatform; use crmeb\services\wechat\Work; use crmeb\utils\Json; use think\Service; use Yurun\Util\Swoole\Guzzle\SwooleHandler; use GuzzleHttp\DefaultHandler; /** * Class AppService * @package app */ class AppService extends Service { public $bind = [ 'json' => Json::class, 'sysConfig' => SystemConfigService::class, 'sysGroupData' => GroupDataService::class ]; public function boot() { defined('DS') || define('DS', DIRECTORY_SEPARATOR); DefaultHandler::setDefaultHandler(SwooleHandler::class); } /** * 注册 */ public function register() { //http配置服务 $this->app->bind(HttpCommonConfig::class, function () { return (new HttpCommonConfig())->setServe(\app\services\system\config\SystemConfigServices::class); }); //公众号 $this->app->bind(OfficialAccount::class, function () { return (new OfficialAccount)->setPushMessageHandler(OffcialAccountListener::class); }); //小程序 $this->app->bind(MiniProgram::class, function () { return (new MiniProgram)->setPushMessageHandler(RoutineListener::class); }); //开放平台 $this->app->bind(OpenPlatform::class, function () { return (new OpenPlatform)->setPushMessageHandler(OpenPlatformListener::class); }); //实例化企业微信配置 $this->app->bind(WorkConfig::class, function () { return (new WorkConfig(new LogCommonConfig(), $this->app->make(HttpCommonConfig::class)))->setHandler(WorkConfigServices::class); }); //企业微信 $this->app->bind(Work::class, function () { return (new Work)->setPushMessageHandler(WorkListener::class) ->setConfigHandler(WorkConfigServices::class); }); } }