🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# **接收消息与回复** * * * * * 消息的监听再简单不过了,你不需要像其它 SDK 一样麻烦,这将会是前所未有的简单,你可以选择监听所有类型或者指定某种类型,以及作出相应的响应,比如回复一条应答消息。 在本 SDK 中,服务端的操作,例如:服务器认证,监听事件,接收用户消息等所有微信向我们自有服务器发起请求的,都交由 Overtrue\Wechat\Server 来处理。 ## **获取服务端实例** * * * * * ~~~ use Overtrue\Wechat\Server; $appId = 'wx3cf0f39249eb0e60'; $token = 'hellotest'; $encodingAESKey = 'EJThPazwzO4k1cyXJnwQtL60zBdhWvFaHb4emv0dLVN'; // 可选 // $encodingAESKey 可以为空 $server = new Server($appId, $token, $encodingAESKey); ~~~ ## **接收消息** ~~~ $wechat->on('message', callable $callback); // 全部类型 // or $wechat->on('message', string $messageType, callable $callback); // 只监听指定类型 ~~~ ##**参数说明:** * * * * * >[warning]1. $messageType string, 指定要处理的消息类型,ex:image >2. $callback callable, 回调函数,closure 匿名函数,或者一切可调用的方法或者函数 >3. $callback 接收一个参数:$message为用户发送的消息对象,你可以访问请求消息的所有属性,比如:$message->FromUserName 得到发送消息的人的 openid,$message->MsgType 获取消息的类型如 text 或者 image 等.(消息如果不做return回复,会执行下一个符合条件的监听事件) **案例** ~~~ use Overtrue\Wechat\Server; use Overtrue\Wechat\Message; $appId = 'wx3cf0f39249eb0e60'; $secret = 'f1c242f4f28f735d4687abb469072a29'; $token = 'hellotest'; $encodingAESKey = 'EJThPazwzO4k1cyXJnwQtL60zBdhWvFaHb4emv0dLVN'; $server = new Server($appId, $token, $encodingAESKey); // 监听所有类型 $server->on('message', function($message) { return Message::make('text')->content('您好!'); }); // 监听指定类型 $server->on('message', 'image', function($message) { return Message::make('text')->content('我们已经收到您发送的图片!'); }); $result = $server->serve(); echo $result; ~~~