>公眾號碎片使用場景:當有用戶向公眾號發布信息,推送事件的時候,會執行該鉤子
| 標題 | 名稱 | 鉤子描述 |
| --- | --- | --- |
| 微信信息 | 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菜單接口
- 錯誤碼
- 支付碎片
- 支付
- 充值
- 購買會員組
- 購買產品