微信开发学习记录:返回的图文消息看不到图


    问题描述:使用调试工具 http://debug.fangbei.org/ 进行调试,返回的图文消息xml格式正确,但是在手机端始终仅显示文字,不显示图片。

    尝试修改程序,使返回的Url为PicUrl中定义的图片地址,这样点击该条文章,则打开页面中直接显示该图片。如此操作后,返回后再次发送“lc”或者“rc”请求图文即可在返回的图文消息中显示图片了。

    感觉较大可能是网速慢导致图文内容中图片不显示,通过以上操作将图片进行了缓存,才可以在图文中显示图片。仅是猜测。




<?php
//装载模板文件
include_once("wx_tpl.php");

//获取微信发送数据
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

  //返回回复数据
if (!empty($postStr)){
          
    	//解析数据
          $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
    	//发送消息方ID
          $fromUsername = $postObj->FromUserName;
    	//接收消息方ID
          $toUsername = $postObj->ToUserName;
   		//消息类型
          $form_MsgType = $postObj->MsgType;
          
    	  //事件消息
          if($form_MsgType=="text")
          {
            //获取用户发送的文字内容
            $form_Content = trim($postObj->Content);
            //
            if(!empty($form_Content))
            {
                // 输入“菜谱”
                if ($form_Content=="菜谱")
                {
                    $return_str = "请输入字母浏览对应菜品aaa\n";
                    $return_arr = array("lc.冷菜\n","rc.热菜\n");
                    $return_str .= implode("", $return_arr);
                    $msgType = "text";
                    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, time(), $msgType, $return_str);
                    echo $resultStr;
                    exit;
                }
                // 输入“lc”,回复冷菜内容
                elseif ($form_Content=="lc"){
                    $resultStr = "
<xml>
    <ToUserName><![CDATA[".$fromUsername."]]></ToUserName>
    <FromUserName><![CDATA[".$toUsername."]]></FromUserName>
    <CreateTime>".time()."</CreateTime>
    <MsgType><![CDATA[news]]></MsgType>
    <ArticleCount><![CDATA[2]]></ArticleCount>
    <Articles>";

                    $return_str = $resultStr;
                    $return_arr = array(
                        array("老虎菜",
                            "http://www.1hwj.net/wei/lhc.jpg",
                            "http://www.1hwj.net/wei/lhc.jpg"),
                        array("什锦泡菜",
                            "http://www.1hwj.net/wei/sjpc.jpg",
                            "http://www.1hwj.net/wei/sjpc.jpg")
                    );

                    foreach ($return_arr as $value)
                    {
                        $return_str .= "
    <item>
        <Title><![CDATA[".$value[0]."]]></Title>
        <Description><![CDATA[]]></Description>
        <PicUrl><![CDATA[".$value[1]."]]></PicUrl>
        <Url><![CDATA[".$value[2]."]]></Url>
    </item>";
                     }
                    $return_str .= "
    </Articles>
    <FuncFlag>0</FuncFlag>
</xml>";
                    echo $return_str;
                    exit;
                }
                elseif ($form_Content=="rc"){
                    $resultStr = "
<xml>
    <ToUserName><![CDATA[".$fromUsername."]]></ToUserName>
    <FromUserName><![CDATA[".$toUsername."]]></FromUserName>
    <CreateTime>".time()."</CreateTime>
    <MsgType><![CDATA[news]]></MsgType>
    <ArticleCount><![CDATA[2]]></ArticleCount>
    <Articles>";

                    $return_str = $resultStr;
                    $return_arr = array(
                        array("辣子鸡",
                            "http://www.1hwj.net/wei/lzj.jpg",
                            "http://www.1hwj.net/wei/lzj.jpg"),
                        array("酸菜鱼",
                            "http://www.1hwj.net/wei/szy.jpg",
                            "http://www.1hwj.net/wei/szy.jpg")
                    );

                    foreach ($return_arr as $value)
                    {
                        $return_str .= "
    <item>
        <Title><![CDATA[".$value[0]."]]></Title>
        <Description><![CDATA[]]></Description>
        <PicUrl><![CDATA[".$value[1]."]]></PicUrl>
        <Url><![CDATA[".$value[2]."]]></Url>
    </item>";
                    }
                    $return_str .= "
    </Articles>
    <FuncFlag>0</FuncFlag>
</xml>";

                    echo $return_str;
                    exit;
                }
                else {
                    $return_str = "请输入字母浏览对应菜品bbb\n";
                    $return_arr = array("lc.冷菜\n","cc.川菜\n");
                    $return_str .= implode("", $return_arr);
                    $msgType = "text";
                    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, time(), $msgType, $return_str);
                    echo $resultStr;
                    exit;
                }


                    // 若非空,直接回复
              $msgType = "text";  
              $resultStr = sprintf($textTpl, $fromUsername, $toUsername, time(), $msgType, "请输入菜谱儿子进行点菜\n\n");
              echo $resultStr;
              exit;
			}
          }
          elseif($form_MsgType=="event")// 接收到事件
          {
            //获取事件类型
            $form_Event = $postObj->Event;
            //订阅事件
            if($form_Event=="subscribe") // 接收到的事件为:关注
            {
              //回复欢迎文字消息
              $msgType = "text";
              $contentStr = "感谢您关注老狼的微信测试![愉快]\n\n[玫瑰]\n\n请随便输入几个文本试试。";
              $resultStr = sprintf($textTpl, $fromUsername, $toUsername, time(), $msgType, $contentStr);
              echo $resultStr;
              exit;
            }
          
          }
          
  }
  else 
  {
          echo "";
          exit;
  }

?>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值