You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
3.0 KiB
83 lines
3.0 KiB
<?php
|
|
// +----------------------------------------------------------------------
|
|
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
|
// +----------------------------------------------------------------------
|
|
// | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
|
|
// +----------------------------------------------------------------------
|
|
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
|
// +----------------------------------------------------------------------
|
|
// | Author: CRMEB Team <admin@crmeb.com>
|
|
// +----------------------------------------------------------------------
|
|
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);
|
|
});
|
|
}
|
|
|
|
}
|
|
|