# 菜单事件
用户点击自定义菜单后,微信会把点击事件推送给开发者,点击一级菜单弹出子菜单,不会产生上报。
[TOC]
### 点击菜单拉取消息时的事件推送
```
//消息管理模块
$instance = WeChat::instance('button');
//关注用户扫描二维码事件
if ($instance->isClickEvent()) {
//获取消息内容
$message = $instance->getMessage();
//向用户回复消息
return WeChat::instance('message')->text("点击了菜单,EventKey: {$message->EventKey}");
}
```
### 点击菜单跳转链接时的事件推送
```
//消息管理模块
$instance = WeChat::instance('button');
//关注用户扫描二维码事件
if ($instance->isViewEvent()) {
//获取消息内容
$message = $instance->getMessage();
file_put_contents('hd.php',$message->EventKey);
}
```
### 扫码推事件的事件推送
```
//消息管理模块
$instance = WeChat::instance('button');
if ($instance->isScancodePush()){
//处理的代码
}
```
### 扫码推事件且弹出“消息接收中”提示框的事件推送
```
//消息管理模块
$instance = WeChat::instance('button');
if ($instance->isScancodeWaitmsg()){
//处理的代码
}
```
### 弹出系统拍照发图的事件推送
```
//消息管理模块
$instance = WeChat::instance('button');
if ($instance->isPicSysphoto()){
//处理的代码
}
```
### 弹出拍照或者相册发图的事件推送
```
//消息管理模块
$instance = WeChat::instance('button');
if ($instance->isPicPhotoOrAlbum()){
//处理的代码
}
```
### 弹出微信相册发图器的事件推送
```
//消息管理模块
$instance = WeChat::instance('button');
if ($instance->isPicWeixin()){
//处理的代码
}
```
### 弹出地理位置选择器的事件推送
```
//消息管理模块
$instance = WeChat::instance('button');
if ($instance->isLocationSelect()){
//处理的代码
}
```