创建自定义菜单
使用$hcWeChat->createMenu($menu);可以创建公众号自定义菜单。
创建 createMenu.php 并执行即可完成自定义菜单的创建工作,代码如下:
<?php /* * hcWeChat 自定义菜单创建演示代码 */ include '../hcWeChat/hcWeChat.php'; $hcWeChat = new hcWeChat(); $menu = ' { "button": [ { "type":"click", "name":"php编程", "key":"KEY01" }, { "name":"html", "sub_button": [ { "type":"view", "name":"网易", "url":"http://www.163.com/" }, { "type":"view", "name":"腾讯", "url":"http://www.qq.com/" } ] }, { "name":"更多", "sub_button": [ { "type":"view", "name":"我的", "url":"http://wx.hcoder.net/demo/my.php" }, { "type":"view", "name":"支付", "url":"http://wx.hcoder.net/demo/pay.php" } ] } ] }'; $hcWeChat->createMenu($menu);
识别菜单点击
用户点击自定义菜单后微信会向开发者服务器发送消息,识别次消息即可监测用户对自定义菜单的点击,代码片段:
else if($hcWeChat->msgType == 'event'){ switch($hcWeChat->event){ //关注 case 'subscribe': //获取用户信息 $user = $hcWeChat->getUser($hcWeChat->openId); $hcWeChat->reTextMsg($user['nickname'].'您好,感谢关注 ^_^'); break; //取消关注 case 'unsubscribe': file_put_contents('unsub.txt', $hcWeChat->openId.'取消关注'); break; //自定义菜单点击事件 case 'CLICK': if($hcWeChat->msg->EventKey == 'KEY01'){ $hcWeChat->reTextMsg('您点击了第一个菜单!'); } break; } }
获取自定义菜单数据
<?php /* * hcWeChat 获取自定义菜单数据演示代码 */ include '../hcWeChat/hcWeChat.php'; $hcWeChat = new hcWeChat(); $hcWeChat->getMenu();