亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频

服務端

我們在入門小教程一節(jié)中以服務端為例講解了一個基本的消息的處理,這里就不再講服務器驗證的流程了,請直接參考前面的入門實例即可。

服務端的作用,在整個微信開發(fā)中主要是負責 接收用戶發(fā)送過來的消息,還有 用戶觸發(fā)的一系列事件

首先我們得理清 消息與事件的回復邏輯,當你收到用戶消息后(消息由微信服務器推送到你的服務器),在你對消息進行一些處理后,不管是選擇回復一個消息還是什么不都回給用戶,你也應該給微信服務器一個 “答復”,如果是選擇回復一條消息,就直接返回一個消息 xml 就好,如果選擇不做任何回復,你也得回復一個 空字符串 或者 字符串 SUCCESS(不然用戶就會看到 該公眾號暫時無法提供服務)。

基本使用

SDK 中使用 $officialAccount->server->push(callable $callback) 來設置消息處理器:

<?php

$server = $officialAccount->server;

/** 注冊消息事件回調(diào) */
$server->push(function (\EasySwoole\WeChat\Kernel\Contracts\MessageInterface $message) {
    // $message->getType(); // 消息類型:消息類型:event、text ......
    return new \EasySwoole\WeChat\Kernel\Messages\Text("您好!歡迎使用 EasySwoole WeChat!");
});

這里我們使用 push 傳入了一個 閉包(Closure),該閉包接收一個參數(shù) $message 為消息對象(類型為實現(xiàn)了 \EasySwoole\WeChat\Kernel\Contracts\MessageInterface 接口的實例對象),你可以在全局消息處理器中對消息類型進行篩選:

<?php

$server = $officialAccount->server;

$server->push(function (\EasySwoole\WeChat\Kernel\Contracts\MessageInterface $message) {
    switch ($message->getType()) {
        case 'event':
            $text = '收到事件消息';
            break;
        case 'text':
            $text = '收到文字消息';
            break;
        case 'image':
            $text = '收到圖片消息';
            break;
        case 'voice':
            $text = '收到語音消息';
            break;
        case 'video':
            $text = '收到視頻消息';
            break;
        case 'location':
            $text = '收到坐標消息';
            break;
        case 'link':
            $text = '收到鏈接消息';
            break;
        case 'file':
            $text = '收到文件消息';
            break;
        // ... 其它消息
        default:
            $text = '收到其它消息';
            break;
    }

    // ...

    return new \EasySwoole\WeChat\Kernel\Messages\Text($text);
});

當然,因為這里 push 接收一個 callable 的參數(shù),所以你不一定要傳入一個 Closure 閉包,你可以選擇傳入一個函數(shù)名,一個 [$class, $method] 或者 Foo::bar 這樣的類型。

注冊多個消息處理器

有時候你可能需要對消息記日志,或者一系列的自定義操作,你可以注冊多個 handler

<?php

$server = $officialAccount->server;

$server->push(MessageLogHandler::class);
$server->push(MessageReplyHandler::class);
$server->push(OtherHandler::class);
$server->push(...);

注意:

  • 最后一個非空返回值將作為最終應答給用戶的消息內(nèi)容,如果中間某一個 handler 返回值 false, 則將終止整個調(diào)用鏈,不會調(diào)用后續(xù)的 handlers
  • 傳入的自定義 Handler 類需要實現(xiàn) \EasySwoole\WeChat\Kernel\Contracts\EventHandlerInterface 接口。

注冊指定消息類型的消息處理器

我們想對特定類型的消息應用不同的處理器,可以在第二個參數(shù)傳入類型篩選:

注意,第二個參數(shù)必須是 \EasySwoole\WeChat\Kernel\Messages\Message 類的常量。

<?php

use EasySwoole\WeChat\Kernel\Messages\Message;

$server = $officialAccount->server;

$server->push(ImageMessageHandler::class, Message::IMAGE); // 圖片消息
$server->push(TextMessageHandler::class, Message::TEXT); // 文本消息

// 同時處理多種類型的處理器
// 當消息為 三種中任意一種都可觸發(fā)
$server->push(MediaMessageHandler::class, [Message::VOICE, Message::VIDEO, Message::SHORT_VIDEO]);

請求消息的屬性

當你接收到用戶發(fā)來的消息時,可能會提取消息中的相關屬性,參考:

請求消息基本屬性 (以下所有消息都有的基本屬性):

  • ToUserName 接收方帳號(該公眾號 ID
  • FromUserName 發(fā)送方帳號(OpenID, 代表用戶的唯一標識)
  • CreateTime 消息創(chuàng)建時間(時間戳)
  • MsgId 消息 ID64 位整型)

文本:

  • MsgType text
  • Content 文本消息內(nèi)容

圖片:

  • MsgType image
  • MediaId 圖片消息媒體 id,可以調(diào)用多媒體文件下載接口拉取數(shù)據(jù)。
  • PicUrl 圖片鏈接

語音:

  • MsgType voice
  • MediaId 語音消息媒體 id,可以調(diào)用多媒體文件下載接口拉取數(shù)據(jù)。
  • Format 語音格式,如 amrspeex
  • Recognition * 開通語音識別后才有

請注意,開通語音識別后,用戶每次發(fā)送語音給公眾號時,微信會在推送的語音消息 XML 數(shù)據(jù)包中,增加一個 Recongnition 字段

視頻:

  • MsgType video
  • MediaId 視頻消息媒體 id,可以調(diào)用多媒體文件下載接口拉取數(shù)據(jù)。
  • ThumbMediaId 視頻消息縮略圖的媒體 id,可以調(diào)用多媒體文件下載接口拉取數(shù)據(jù)。

小視頻:

  • MsgType shortvideo
  • MediaId 視頻消息媒體 id,可以調(diào)用多媒體文件下載接口拉取數(shù)據(jù)。
  • ThumbMediaId 視頻消息縮略圖的媒體 id,可以調(diào)用多媒體文件下載接口拉取數(shù)據(jù)。

事件:

  • MsgType event
  • Event 事件類型 (如:subscribe (訂閱)、unsubscribe (取消訂閱) ..., CLICK 等)

掃描帶參數(shù)二維碼事件:

  • EventKey 事件 KEY 值,比如:qrscene_123123qrscene_ 為前綴,后面為二維碼的參數(shù)值
  • Ticket 二維碼的 ticket,可用來換取二維碼圖片

上報地理位置事件:

  • Latitude 23.137466 地理位置緯度
  • Longitude 113.352425 地理位置經(jīng)度
  • Precision 119.385040 地理位置精度

自定義菜單事件:

  • EventKey 事件 KEY 值,與自定義菜單接口中 KEY 值對應,如:CUSTOM_KEY_001www.qq.com

地理位置:

  • MsgType location
  • Location_X 地理位置緯度
  • Location_Y 地理位置經(jīng)度
  • Scale 地圖縮放大小
  • Label 地理位置信息

鏈接:

  • MsgType link
  • Title 消息標題
  • Description 消息描述
  • Url 消息鏈接

文件:

  • MsgType file
  • Title 文件名
  • Description 文件描述,可能為 null
  • FileKey 文件 KEY
  • FileMd5 文件 MD5
  • FileTotalLen 文件大小,單位字節(jié)

回復消息

回復的消息可以為 null,此時 SDK 會返回給微信一個 "SUCCESS",你也可以回復一個普通字符串,比如:歡迎關注 EasySwoole WeChat.,此時 SDK 會對它進行一個封裝,產(chǎn)生一個 \EasySwoole\WeChat\Kernel\Messages\Text 類型的消息并在最后的 $officialAccount->server->serve(); 時生成對應的消息 XML 格式。

如果你想返回一個自己手動拼的原生 XML 格式消息,請返回一個 \EasySwoole\WeChat\Kernel\Messages\Raw 實例即可。

消息轉(zhuǎn)發(fā)給客服系統(tǒng)

參見:多客服消息轉(zhuǎn)發(fā)

關于消息的使用,請參考 消息 章節(jié)。

亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频
  • <kbd id="eqi2k"><code id="eqi2k"></code></kbd><cite id="eqi2k"><tbody id="eqi2k"></tbody></cite>
    欧美日本一区| 久久久久久久久一区| 妖精视频成人观看www| 国产高清在线精品一区二区三区| 综合久久国产| 国产精品毛片一区视频| 国产三区二区一区久久| 久久精品一区二区国产| 在线 亚洲欧美在线综合一区| 日韩欧美精品一区二区| 91传媒在线免费观看| 一本久道久久综合狠狠爱| 国产精品女主播一区二区三区| 欧美a级片网站| 国产视频在线观看一区| 风间由美久久久| 久久久成人网| 欧美在线一二三区| 欧美成人蜜桃| 久久手机视频| 亚洲激情二区| 国产精品视区| 免费av一区二区三区| 国模精品一区二区三区| 精品成人免费| 日韩视频在线观看国产| 亚洲欧洲日韩综合二区| 精品伦精品一区二区三区视频| 国产日韩欧美精品| 欧美体内she精视频在线观看| 午夜在线一区| 久久综合伊人| 精品91免费| 伊人精品成人久久综合软件| 国产超碰91| 精品69视频一区二区三区Q| 国产精品三区在线| 99国产成+人+综合+亚洲欧美| 欧美日韩亚洲综合一区二区三区激情在线| 亚洲天堂黄色| 日韩精品大片| 亚洲天堂偷拍| 欧美日韩视频在线一区二区观看视频| 日韩一级精品| 欧美在线免费| 久久99精品国产99久久| 日韩欧美视频第二区| 销魂美女一区二区三区视频在线| 伊人av成人| 国产色综合网| 欧美黄色一区| 国产日韩欧美二区| 欧美淫片网站| 日本一区二区三不卡| 久久久久久自在自线| 亚洲成人中文| 国内自拍视频一区二区三区| 四虎永久国产精品| 麻豆视频成人| 国产一区二区三区四区hd| 久久青青草综合| 午夜一级在线看亚洲| 在线观看日韩av电影| 欧美日本三区| 欧美大片专区| 欧美淫片网站| 欧美日韩大片一区二区三区| 一本色道久久综合亚洲二区三区| 欧美一级二级三级| 欧美日韩在线观看一区二区三区| 国产日韩三区| 欧美美乳视频网站在线观看| 快播亚洲色图| 麻豆91蜜桃| 欧美日韩国产高清视频| 欧美一区二区三区精美影视| 欧美国产一二三区| 欧美日韩精品免费观看视一区二区| 久久精彩视频| 日韩国产伦理| 国产精品mm| 亚洲每日更新| 久久久精品网| 国内一区二区在线视频观看| 狠狠色综合欧美激情| 国产专区一区二区| 欧美污视频久久久| 亚洲免费久久| 国产精品大全| 久久精品国产99精品国产亚洲性色| 精品乱码一区二区三区| 欧美日韩在线精品| 中文字幕色一区二区| 激情欧美一区二区三区| 99综合视频| 成人综合av网| 欧美大陆一区二区| 欧美精品成人| 国产伦精品一区二区三区视频孕妇 | 98国产高清一区| 精品动漫av| 性欧美xxxx大乳国产app| 国产成人看片| 亚洲 国产 日韩 综合一区| 动漫精品视频| 久久综合一区二区三区| 亚洲一区在线直播| 一本色道久久| 国产亚洲欧美一区二区三区| 日韩精品伦理第一区| 在线观看福利一区| 不卡视频一区二区| 亚洲欧美日韩精品久久久| 亚洲激情在线| 久久99精品久久久久久三级| 欧美精品aa| 国产精品我不卡| 欧美日韩喷水| 国产精品视频500部| 亚洲欧美综合| 国产精品久久久久久久久久久久冷 | 久久偷窥视频| 亚洲性图久久| 久久精品五月婷婷| 在线日韩电影| 日韩精品一线二线三线| 国产视频久久| 这里只有精品66| 噜噜噜躁狠狠躁狠狠精品视频 | 日韩图片一区| 日韩成人在线资源| 免费久久久一本精品久久区 | 日本成人黄色| 国产精品亚洲不卡a| 日韩精品最新在线观看| 一区二区三区高清视频在线观看| 欧美一级片免费观看| 91传媒视频免费| 亚洲日本欧美| 一级日韩一区在线观看| 国产成人精品福利一区二区三区| 欧美天堂亚洲电影院在线观看| 国产精品久久久久久久小唯西川 | 一本色道久久综合亚洲精品婷婷| 久久久久欧美| 欧美日韩中文| 欧美精品成人一区二区在线观看| 欧美一级久久| 日韩亚洲不卡在线| 欧美日韩高清免费| 亚洲高清在线观看一区| 国偷自产av一区二区三区小尤奈| 国产精品入口66mio| 国产精品第十页| 亚洲图片在线观看| 欧美日韩一区在线视频| 国产一区二区在线网站| 久久久精品动漫| 国产农村妇女毛片精品久久莱园子| 亚洲欧洲三级| 婷婷亚洲婷婷综合色香五月| 久久精品女人的天堂av| 国产精品区一区| 成人18视频| 99在线热播| 国产精品二区在线| 成人免费看片网址| 免费亚洲一区二区| 久久亚洲欧洲| 国产精品日本一区二区| 亚洲精品一区二区三区蜜桃久| 综合操久久久| 国产一区二区三区自拍| 狠狠入ady亚洲精品经典电影| 欧美大片一区| 亚洲精品日本| 欧美一级一区| 国产精品免费看一区二区三区| 国产精品久久久久久久久婷婷 | 亚洲人成人77777线观看| 日韩欧美激情一区二区| 天天好比中文综合网| 亚洲一区二区三区四区中文| 欧美成人tv| 亚洲午夜精品久久| 国产精品日韩一区二区| 噜噜噜久久亚洲精品国产品小说| 美女精品在线观看| 国产一区二区三区高清| 欧美日韩喷水| 国产精品va| 久久久99爱| 免费精品视频一区二区三区| 亚洲精品欧美精品| 激情国产一区| av色综合网| 新呦u视频一区二区| 红桃视频亚洲| 91丨九色丨国产| 色狠狠久久av五月综合|