服務端
我們在企業微信應用開啟接收消息的功能,將設置頁面的 token
與 aeskey
配置到 agents
下對應的應用內:
<?php
$config = [
// 企業微信后臺的 企業 ID
'corpId' => 'xxxxxxxxxxxxxxxxx',
// 企業微信后臺的 secret
'corpSecret' => 'xxxxxxxxxxxxxxxxx',
// 企業微信后臺的 agentid
'agentId' => 100022,
// server config
'token' => 'xxxxxxxxx',
'aesKey' => 'xxxxxxxxxxxxxxxxxx',
//...
];
$work = \EasySwoole\WeChat\Factory::work($config);
接著配置服務端與公眾號的服務端用法一樣:
<?php
/** 注冊消息事件回調 */
$work->server->push(function (\EasySwoole\WeChat\Kernel\Contracts\MessageInterface $message) {
return new \EasySwoole\WeChat\Kernel\Messages\Text('Hello EasySwoole WeChat!');
});
/** @var \Psr\Http\Message\ServerRequestInterface $psr7Request */
$psr7Request = $this->request();
$response = $work->server->serve($psr7Request);
/**
* $response 是一個顯式實現了 PSR-7 的對象,用戶只需要處理該對象即可正確響應給微信
* 下面是一個使用 EasySwoole 的響應方法
*/
$this->response()->withStatus($response->getStatusCode());
/**
* PSR-7 的 Header 并不是單純的 k => v 結構
*/
foreach ($response->getHeaders() as $name => $values) {
$this->response()->withHeader($name, implode(", ", $values));
}
$this->response()->write($response->getBody()->__toString());
$response
是一個顯式實現了 PSR-7 的對象,用戶只需要處理該對象即可正確響應給微信
具體使用可查看 公眾號-快速開始章節