服务端

我们在企业微信应用开启接收消息的功能,将设置页面的 tokenaeskey 配置到 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 的对象,用户只需要处理该对象即可正确响应给微信

具体使用可查看 公众号-快速开始章节