ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 消息接收器 Receiver **目录 (Table of Contents)** [TOC] ## 类基本信息 **类简要描述:** >[info] 消息接收器用于接收微信公众号客户端发送给服务器的消息或触发的事件,并将消息转换为特定类型消息的格式 **类名字空间:** - endor/wechat/message **类成员变量说明:** |成员变量|类型|访问修饰|说明 |:---- |:---|:----- |----- | |$_eventArr| string数组 | protected | 微信监听事件标识数组 | **事件常量描述:** | 常量标识 | 对应微信事件字符串 | 描述 | | --- | --- |--- | | TEXT| 无 | 除事件外的所有消息 | | EVENT_SCAN | scan | | | EVENT_LOCATION | LOCATION | | | EVENT_SUBSCRIBE | subscribe | | | EVENT_UNSUBSCRIBE | unsubscribe | | | EVENT_CLICK | click| | | EVENT_ENTER | ENTER | | | EVENT_TEMPLATE_SENDJOBFINISH| TEMPLATESENDJOBFINISH| | **类继承关系:** Reciever -> WechatCommon ## 类成员函数/方法 ### __construct($configure) + 参数列表: |参数名|类型|必填项|说明 |:---- |:---|:----- |----- | |$configure| object (WechatConfig) | 是 | 微信配置参数对象 | + 返回值: `无` + 函数说明: `构造函数` ### addEventListener($eventName,$eventCallback) + 参数列表: |参数名|类型|必填项|说明 |:---- |:---|:----- |----- | |$eventName| string | 是 | 需要关注(监听)的微信消息事件 | |$eventCallback| closure | 是 | 闭包,用于处理对应的微信事件 | + 返回值: `无` + 函数说明: `添加关注的消息,当消息到达时,会调用执行eventCallback中的内容` ### removeEventListener($eventName) + 参数列表: |参数名|类型|必填项|说明 |:---- |:---|:----- |----- | |$eventName| string | 是 | 需要取消关注(监听)的微信消息事件 | + 返回值: `无` + 函数说明: `从监听数组中把 $eventName 相应事件移除` ### receiver() + 参数列表: `无` + 返回值: `无` + 函数说明: `开始接收消息` >[danger]特别注意:: receiver函数必须在所有需要关注的事件都被设置之后才能调用,否则在receiver之后在注册任何事件都是无效的。 ## 消息示例程序 ```PHP $receiverHandler = new Receiver(); $receiverHandler->addEventListener(Receiver::EVENT_SUBSCRIBE, function($msg) { // 关注公众号时触发 $focus = "欢迎关注我们的公众号"; $textMessage = new TextMessage(msg->getPlateForm(),$msg->getUser(),time(),null,$foucsMsg); $textMessage->response(); } ); $receiverHandler->receiver(); // 在receiver调用后,在执行任何addEventListener都将不会生效 ```