课程中心 问答&分享 读书 注册、登录 关闭菜单
《微信公众号开发权威教程》
目录
第一章 课程介绍及环境部署 课程介绍及环境部署 第二章 开发者模式接入及消息回复 2.1 开发者模式接入 2.2 接收客户消息及openId 2.3 回复文本消息 2.4 回复图文消息 2.5 封装slog函数记录接口信息 第三章 获取接口调用凭据 3.1 基础知识 - curl 3.2 获取access token 3.3 获取微信服务器IP地址 第四章 接收事件推送 4.1 关注/取消关注事件 4.2 上报地理位置事件 第五章 菜单创建及菜单点击事件 5.1 接口形式创建自定义菜单 5.2 自定义菜单点击事件的识别 第六章 微信网页开发 6.1 微信网页授权-微信登录 6.2 微信JS-SDK介绍 6.3 微信JS-SDK部署 6.4 分享接口的实现 6.5 图片接口 6.6 音频接口 第七章 素材管理 7.1 新增临时素材 7.2 获取临时素材 7.3 新增永久素材 7.4 获取素材列表及素材总数 7.5 删除永久素材 第八章 微信盖楼游戏 8.1 盖楼游戏原理 8.2 盖楼游戏源码 第九章 天气查询 9.1 百度免费天气API介绍 9.2 微信公众号天气查询开发
5.2 自定义菜单点击事件的识别

用户点击自定义菜单后,微信会把点击事件推送给开发者(点击菜单弹出子菜单,不会产生上报)。

推送XML数据包示例:

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[FromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[CLICK]]></Event>
<EventKey><![CDATA[EVENTKEY]]></EventKey>
</xml>


根据推送的信息,我们就可以做出相应的回复动作,一个简单的例子:

客户点击我们测试公众号的第一个菜单

"type":"click",
"name":"php",
"key":"KEY01"

我们能够识别到消息类型是event,Event的值是CLICK,对应的值是:KEY01。


实例代码

<?php
//.....
$wechatObj = new weChat();
if(isset($_GET['cm'])){$wechatObj->createMenus();}
//判断消息类型为事件
if($wechatObj->msgType == 'event'){
    //关注
    if($wechatObj->postObj->Event == 'subscribe'){
	$wechatObj->reTextMsg('感谢您的关注');
    }
    //取消关注
    else if($wechatObj->postObj->Event == 'subscribe'){
	//取消关注功能代码可以写在这里
    }
    //点击第一个菜单
    else if($wechatObj->postObj->Event == 'CLICK'){
    	if($wechatObj->postObj->EventKey == 'KEY01'){
        	$wechatObj->reTextMsg('您点击了第一个菜单');
	}
    }
	
}


小提示:实例中用到的类文件在前面的章节。

CopyRight © 2011 - 2016 Hcoder.net 陕ICP备14004669号-2
客服QQ : 1265928288