乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      回復(fù)一個圖片消息 - 傻瓜式微信開發(fā)教程17

       取經(jīng)悟能 2015-10-10

      如果想回復(fù)給用戶一個`圖片消息`,而不是圖文消息的話我們就需要使用`MediaId`字段了.

      我們在上傳素材到服務(wù)器 - 傻瓜式微信開發(fā)教程14 - 耗子原創(chuàng)介紹了上傳自己的圖片到微信服務(wù)器獲取`MediaId`的方法.
      這里我們就不重復(fù)介紹了.

      我們這是只是實現(xiàn)當用戶發(fā)送給我們圖片消息的時候返回給用戶相同消息的功能.

      當用戶發(fā)送給我我們`圖片消息`時,我們從SAE的日志中可以看到附帶的參數(shù)大概是以下的樣子:

      1. 101.226.62.77 [21-Aug-2015:09:07:30 +0800] [debug]tousername => gh_5d4275a0d53e, fromusername => okhDqsjop60PKFR86uzwY02AAHxA, createtime => 1440119249, msgtype => image, picurl => http://mmbiz./mmbiz/lV0d907m3OVHTzE6XK0TibCD8afzz5R7zYz45IvnM1gQ0Sr6xDy8tAWe6JicIUIaFKyknCtvwuApj7gWg8xEibHrQ/0, msgid => 6185265077004084317, mediaid => zCOwRBD2Lbf_Sj3SI1LxTY_VwV7_nXE275l43b8Wwf5bIfZ4eNjmhungGLLxu_mS,  yq22
      復(fù)制代碼


      關(guān)于如何使用SAE打印接收到的信息內(nèi)容可以參見帖子查看SAE的DEBUG信息 - 傻瓜式微信開發(fā)教程16 - 耗子原創(chuàng).

      我們可以看到,在收到的信息中實際上已經(jīng)存在一個用戶發(fā)送過來的圖片的`MediaId`參數(shù)了,這里我們直接使用就OK了.

      然而不幸的是,現(xiàn)在的`Wechat-php`框架沒有為我們提供發(fā)送圖片消息的功能,
      所以我們要自己實現(xiàn).

      首先我們需要在`Wechat.php`中定義一個新的消息類型,參照`TextResponse`就可以了:

      1. /**
      2. * 用于回復(fù)的圖片消息類型
      3. */
      4. class ImageResponse extends WechatResponse {

      5.     protected $mediaId;

      6.     public function __construct($toUserName, $fromUserName, $mediaId, $funcFlag = 0) {
      7.       parent::__construct($toUserName, $fromUserName, $funcFlag);

      8.       $this->mediaId = $mediaId;
      9.       $this->template = <<<XML
      10. <xml>
      11.   <ToUserName><![CDATA[%s]]></ToUserName>
      12.   <FromUserName><![CDATA[%s]]></FromUserName>
      13.   <CreateTime>%s</CreateTime>
      14.   <MsgType><![CDATA[image]]></MsgType>
      15.   <Image>
      16.     <MediaId><![CDATA[%s]]></MediaId>
      17.   </Image>
      18.   <FuncFlag>%s</FuncFlag>
      19. </xml>
      20. XML;
      21. }
      復(fù)制代碼


      然后我們參照`responseText`函數(shù)寫一個`responseImage`函數(shù)

      1. protected function responseImage($mediaId, $funcFlag = 0){
      2.   $this->sendout(new ImageResponse($this->getRequest('fromusername'), $this->getRequest('tousername'), $mediaId, $funcFlag));
      3. }
      復(fù)制代碼


      現(xiàn)在我們就為`Wechat-php`框架提供了發(fā)送圖片的功能,接下來我們就可以直接調(diào)用responseImage來發(fā)送圖片了.

      我們重寫`index.php`中接收到圖片的處理函數(shù)`onImage`

      1. protected function onImage() {
      2.   // 只是簡單地創(chuàng)建了和接收到的圖片相同的回復(fù)信息
      3.   $this->responseImage($this->getRequest('MediaId'));
      4. }
      復(fù)制代碼


      上傳代碼到我們的服務(wù)器后,向公眾號發(fā)送圖片消息,
      我們就可以看到相同的圖片回復(fù)了.


      整個工程代碼在附件中,因為用到的SAE的特殊函數(shù),所以在其他平臺運行是會報錯的.
      另外記得修改token等參數(shù)為自己的參數(shù)哈.
      游客,如果您要查看本帖隱藏內(nèi)容請回復(fù)

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多