>公众号碎片使用场景:当有用户向公众号发布信息,推送事件的时候,会执行该钩子
| 标题 | 名称 | 钩子描述 |
| --- | --- | --- |
| 微信信息 | wechat_call_back| 当有会员在公众号中发送信息时,点击菜单,扫描带参数二维码,关注取消公众号,获取位置等时|
| 微信推送 | wechat\_call\_back | 当有会员在公众号中发送信息时,点击菜单,扫描带参数二维码,关注取消公众号,获取位置等时 |
| 微信关注| wechat\_subscribe | 微信被关注的时候(用户没有关注)触发 |
| 微信关注| wechat\_SCAN | 微信被关注的时候(用户已经关注公众号,继续扫描关注)触发 |
| 微信取消关注| wechat\_unsubscribe| 微信被取消关注时候触发 |
| 微信上报地理位置| wechat\_LOCATION| 微信上报地理位置时候触发(用户同意上报地理位置后,每次进入公众号会话时,都会在进入时上报地理位置,或在进入会话后每5秒上报一次地理位置) |
| 微信点击菜单| wechat\_click| 微信点击菜单触发 |
| 文本信息| wechat\_text| 当用户发送文本信息触发 |
| 图片信息| wechat\_image| 当用户发送图片信息触发 |
| 语音信息| wechat\_voice| 当用户发送语音信息触发 |
| 视频信息| wechat\_video| 当用户发送视频信息触发 |
| 小视频信息| wechat\_shortvideo| 当用户发送小视频信息触发 |
| 位置信息| wechat\_location| 当用户发送位置信息触发 |
| 连接信息| wechat\_link| 当用户发送连接信息触发 |
| 微信发送信息| wechat\_msg| 当有用户发送 文本消息,图片消息 ,语音消息,视频消息,小视频消息,地理位置消息, 链接消息的时候触|
```
function functionName($type,$data,$wechat)
```
>[info]$type 微信发送的数据类型 text,image,location,link,event,voice,shortvideo
$data 微信用户发来的数据
$wechat 微信对象,如果想给微信发送一个信息 ,格式如下
>[danger]注意:$wechat 微信对象可以在任何地方通过 $wechat = getWechat(); 来获取,(必须安装了微信模块,并且配置了公众号,否则getWechat() 返回为false),所以在使用对象时,一定要判断对象是否为真,详细用法请 [点击](986189)
```
$openid = $data['FromUserName'];
//文本信息
$dataM = ['touser'=>$openid,'msgtype'=>'text','text'=>['content'=>'我的测试客服信息']];
$wechat->sendCustomMessage($dataM);
//图片信息
$dataM = ['touser'=>$openid,'msgtype'=>'image','image'=>['media_id'=>MEDIA_ID];
$wechat->sendCustomMessage($dataM);
//语音信息
$dataM = ['touser'=>$openid,'msgtype'=>'voice','voice'=>['media_id'=>MEDIA_ID];
$wechat->sendCustomMessage($dataM);
//视频信息
$dataM = ['touser'=>$openid,'msgtype'=>'video','video'=>['media_id'=>MEDIA_ID];
$wechat->sendCustomMessage($dataM);
//音乐信息
$dataM = ['touser'=>$openid,'msgtype'=>'music','music'=>[
"title"=>"音乐标题",
"description"=>"音乐描述",
"musicurl"=>"http://open.cowcms.com/1.mp3",
"hqmusicurl"=>"http://open.cowcms.com/2.mp3", //高品质连接
"thumb_media_id"=>"THUMB_MEDIA_ID" //缩略图id
];
$wechat->sendCustomMessage($dataM);
//发送图文消息(点击跳转到外链) 图文消息条数限制在1条以内,注意,如果图文数超过1,则将会返回错误码45008。
$dataM2 = ['touser'=>$openid,'msgtype'=>'news','news'=>
[
"articles"=> [
[
"title"=>"奶牛系统开启第一版",
"description"=>"测试奶牛系统信息,查看是否正常",
"url"=>"http://open.cowcms.com",
"picurl"=>"http://open.cowcms.com/upload/admin/1/1533887730_866835404.jpg"
]
]
]
];
$wechat->sendCustomMessage($dataM);
//发送图文消息(点击跳转到图文消息页面) 图文消息条数限制在1条以内,注意,如果图文数超过1,则将会返回错误码45008。
$dataM = ['touser'=>$openid,'msgtype'=>'mpnews','mpnews'=>['media_id'=>MEDIA_ID];
$wechat->sendCustomMessage($dataM);
```
其它详细使用 请 [点击此处](https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140547)
>text **文本信息**,$data为数组 array('ToUserName'=>'.....') 格式如下
| 参数 | 描述 |
| --- | --- |
| ToUserName | 开发者微信号(一个OpenID) |
| FromUserName | 发送方帐号(一个OpenID) |
| CreateTime | 消息创建时间 (整型) |
| MsgType | 消息类型text |
| Content | 文本消息内容 |
| MsgId | 消息id,64位整型 |
>image **图片消息**,$data为数组 array('ToUserName'=>'.....') 格式如下
| 参数 | 描述 |
| --- | --- |
| ToUserName | 开发者微信号(一个OpenID) |
| FromUserName | 发送方帐号(一个OpenID) |
| CreateTime | 消息创建时间 (整型) |
| MsgType | 消息类型,图片为image |
| PicUrl | 图片链接(由系统生成)一般为一个 http://....格式的一个图片链接地址 |
| MediaId | 图片消息媒体id,可以调用获取临时素材接口拉取数据。 |
| MsgId | 消息id,64位整型 |
>location **地理位置消息**,$data为数组 array('ToUserName'=>'.....') 格式如下
| 参数 | 描述 |
| --- | --- |
| ToUserName | 开发者微信号 |
| FromUserName | 发送方帐号(一个OpenID) |
| CreateTime | 消息创建时间 (整型) |
| MsgType | 消息类型,地理位置为location |
| Location\_X | 地理位置维度 |
| Location\_Y | 地理位置经度 |
| Scale | 地图缩放大小 ,1-20 |
| Label | 地理位置信息 ,如太原邦迅科技|
| MsgId | 消息id,64位整型 |
>link **链接消息**,$data为数组 array('ToUserName'=>'.....') 格式如下
| 参数 | 描述 |
| --- | --- |
| ToUserName | 接收方微信号 |
| FromUserName | 发送方微信号,若为普通用户,则是一个OpenID |
| CreateTime | 消息创建时间 |
| MsgType | 消息类型,链接为link |
| Title | 消息标题 |
| Description | 消息描述 |
| Url | 消息链接 |
| MsgId | 消息id,64位整型 |
>voice **语音消息**,$data为数组 array('ToUserName'=>'.....') 格式如下
| 参数 | 描述 |
| --- | --- |
| ToUserName | 开发者微信号 |
| FromUserName | 发送方帐号(一个OpenID) |
| CreateTime | 消息创建时间 (整型) |
| MsgType | 语音为voice |
| MediaId | 语音消息媒体id,可以调用获取临时素材接口拉取数据。 |
| Format | 语音格式,如amr,speex等 |
| MsgID | 消息id,64位整型 |
>video **视频消息**,$data为数组 array('ToUserName'=>'.....') 格式如下
| 参数 | 描述 |
| --- | --- |
| ToUserName | 开发者微信号 |
| FromUserName | 发送方帐号(一个OpenID) |
| CreateTime | 消息创建时间 (整型) |
| MsgType | 视频为video |
| MediaId | 视频消息媒体id,可以调用获取临时素材接口拉取数据。 |
| ThumbMediaId | 视频消息缩略图的媒体id,可以调用多媒体文件下载接口拉取数据。 |
| MsgId | 消息id,64位整型 |
>video **小视频消息**,$data为数组 array('ToUserName'=>'.....') 格式如下
| 参数 | 描述 |
| --- | --- |
| ToUserName | 开发者微信号 |
| FromUserName | 发送方帐号(一个OpenID) |
| CreateTime | 消息创建时间 (整型) |
| MsgType | 小视频为shortvideo |
| MediaId | 视频消息媒体id,可以调用获取临时素材接口拉取数据。 |
| ThumbMediaId | 视频消息缩略图的媒体id,可以调用获取临时素材接口拉取数据。 |
| MsgId | 消息id,64位整型 |
>event **事件推送**,事件推送分为6种情况,$data为数组 array('ToUserName'=>'.....') 格式如下
* [x] 关注/取消关注事件
| 参数 | 描述 |
| --- | --- |
| ToUserName | 开发者微信号 |
| FromUserName | 发送方帐号(一个OpenID) |
| CreateTime | 消息创建时间 (整型) |
| MsgType | 消息类型,event |
| Event | 事件类型,subscribe(关注)、unsubscribe(取消关注) |
* [x] 扫描带参数二维码事件 (用户未关注时,进行关注后的事件推送)
| 参数 | 描述 |
| --- | --- |
| ToUserName | 开发者微信号 |
| FromUserName | 发送方帐号(一个OpenID) |
| CreateTime | 消息创建时间 (整型) |
| MsgType | 消息类型,event |
| Event | 事件类型,subscribe |
| EventKey | 事件KEY值,qrscene\_为前缀,后面为二维码的参数值 |
| Ticket | 二维码的ticket,可用来换取二维码图片 |
* [x] 扫描带参数二维码事件 (用户已关注时的事件推送)
| 参数 | 描述 |
| --- | --- |
| ToUserName | 开发者微信号 |
| FromUserName | 发送方帐号(一个OpenID) |
| CreateTime | 消息创建时间 (整型) |
| MsgType | 消息类型,event |
| Event | 事件类型,SCAN |
| EventKey | 事件KEY值,是一个32位无符号整数,即创建二维码时的二维码scene\_id |
| Ticket | 二维码的ticket,可用来换取二维码图片 |
* [x] 上报地理位置事件
| 参数 | 描述 |
| --- | --- |
| ToUserName | 开发者微信号 |
| FromUserName | 发送方帐号(一个OpenID) |
| CreateTime | 消息创建时间 (整型) |
| MsgType | 消息类型,event |
| Event | 事件类型,LOCATION |
| Latitude | 地理位置纬度 |
| Longitude | 地理位置经度 |
| Precision | 地理位置精度 |
* [x] 自定义菜单事件 (点击菜单拉取消息时的事件推送)
| 参数 | 描述 |
| --- | --- |
| ToUserName | 开发者微信号 |
| FromUserName | 发送方帐号(一个OpenID) |
| CreateTime | 消息创建时间 (整型) |
| MsgType | 消息类型,event |
| Event | 事件类型,CLICK |
| EventKey | 事件KEY值,与自定义菜单接口中KEY值对应 |
* [x] 自定义菜单事件 (点击菜单跳转链接时的事件推送)
| 参数 | 描述 |
| --- | --- |
| ToUserName | 开发者微信号 |
| FromUserName | 发送方帐号(一个OpenID) |
| CreateTime | 消息创建时间 (整型) |
| MsgType | 消息类型,event |
| Event | 事件类型,VIEW |
| EventKey | 事件KEY值,设置的跳转URL |
- 序言
- 基础
- 源码包
- 核心包
- 完整包
- 系统模块
- 安装模块
- 后台模块
- 插件模块
- 插件开发
- 开发基础
- 权限开发
- 菜单开发
- 开发调试
- 碎片开发
- 碎片钩子预设表
- 插件说明
- 字段插件
- 插件介绍
- 字段使用
- 单行文本
- 多行文本
- 选项-下拉
- 选项-复选
- 选项-单选
- 选项-滑块
- 颜色选择器
- 星级评分
- 日期时间
- 文件上传
- 编辑器
- API接口
- 微信插件
- 微信配置
- 公众号配置
- 支付配置
- 微信支付使用
- API类库
- 红包发放
- 付款到零钱
- 碎片
- 公众号碎片
- 红包碎片
- 付款到零钱碎片
- API微信接口
- 支付宝插件
- 支付宝配置
- 支付宝支付使用
- api接口
- api接口后端开发
- api接口前端使用
- API参数接口
- 会员插件
- 登录使用
- 会员碎片
- API会员接口
- API注册接口
- 积分插件
- 积分设置
- 积分碎片
- API积分接口
- API提现接口
- API兑换接口
- API充值接口
- 订单
- 订单碎片
- API订单接口
- 商城
- 商城钩子
- API商城接口
- API商城会员接口
- 签到
- 签到设置
- 签到碎片
- API签到接口
- 上传
- 上传设置
- 上传JS接口
- 推广插件
- 海报设置
- API海报接口
- 文章插件
- 文章设置
- 文章钩子
- API文章接口
- API文章会员接口
- 管理员
- 管理员碎片
- 站内信
- API站内信接口
- 杂项
- 菜单
- 菜单设置
- API菜单接口
- 错误码
- 支付碎片
- 支付
- 充值
- 购买会员组
- 购买产品