-
Notifications
You must be signed in to change notification settings - Fork 22
接收消息与回复
Stoneworld edited this page Jun 12, 2016
·
2 revisions
消息的监听再简单不过了,你可以选择监听所有类型或者指定某种类型,以及作出相应的响应,比如回复一条应答消息。
在本 SDK 中,服务端的操作,例如:服务器认证,监听事件,接收用户消息等所有微信向我们自有服务器发起请求的,都交由 Stoneworld\Wechat\Server 来处理。
<?php
use Stoneworld\Wechat\Server;
$options = array(
'token'=>'stoneworld1992', //填写应用接口的Token
'encodingaeskey'=>'o1wze3492xoUVIc9ccTLJczO3BQ5pLfiHcKwtDEdqM9',//填写加密用的EncodingAESKey
'appid'=>'wx8ac123b21f53d7a7', //填写高级调用功能的appid
'appsecret'=>'4ZDHIETJ6e0oENlEkRhYwzWPTrkLdXedKcPcRjCkgQkuHtQTJ12ZhWHESowrJqS9', //填写高级调用功能的密钥
'agentid'=>'5', //应用的id
);
$server = new Server($options);
<?php
$wechat->on('message', callable $callback); // 全部类型
// or
$wechat->on('message', string $messageType, callable $callback); // 只监听指定类型
- $messageType string, 指定要处理的消息类型,ex:image
- $callback callable, 回调函数,closure 匿名函数,或者一切可调用的方法或者函数
$callback 接收一个参数:$message 为用户发送的消息对象,你可以访问请求消息的所有属性,比如:$message->FromUserName 得到发送消息的人的 openid,$message->MsgType 获取消息的类型如 text 或者 image 等
example:
<?php
use Stoneworld\Wechat\Server;
use Stoneworld\Wechat\Message;
$options = array(
'token'=>'stoneworld1992', //填写应用接口的Token
'encodingaeskey'=>'o1wze3492xoUVIc9ccTLJczO3BQ5pLfiHcKwtDEdqM9',//填写加密用的EncodingAESKey
'appid'=>'wx8ac123b21f53d7a7', //填写高级调用功能的appid
'appsecret'=>'4ZDHIETJ6e0oENlEkRhYwzWPTrkLdXedKcPcRjCkgQkuHtQTJ12ZhWHESowrJqS9', //填写高级调用功能的密钥
'agentid'=>'5', //应用的id
);
$server = new Server($options);
// 监听所有类型
$server->on('message', function($message) {
return Message::make('text')->content('您好!');
});
// 监听指定类型
$server->on('message', 'image', function($message) {
return Message::make('text')->content('我们已经收到您发送的图片!');
});
$result = $server->server();
echo $result;