PHP微信定制开发-服务器被动回复消息之图文消息

接着上次分享的服务器被动回复文本消息,这次分享的是图文消息(也叫文章消息),文本消息虽然可以处理大部分的业务需求,但美中不足的是消息过于死板不够活泼生动,为了丰富消息的内容和展现微信提供了图文消息供我们使用,这次分享的图文消息围绕必应的每日一图接口进行

一 bing的图片信息获取接口

这里我们只需要url属性即可,下面的工具类用于提取url

<?php
namespace  util;

include_once __DIR__.DIRECTORY_SEPARATOR."RequestUtil.php";

class EveryDayImageUtil{
    function getTodayImage(){
        
        $reqUtil=new RequestUtil();
        $res=$reqUtil->http_request("http://cn.bing.com/HPImageArchive.aspx?idx=0&n=1");
        $xml=simplexml_load_string($res);
        $children=$xml->children()->children();
        foreach ($children as $key => $value ) {
            if("url"==$key){
                return "http://www.bing.com".$value;
            }
            
        }
    }
  
}

?>

二  流程和事件推送处理

我们知道被动回复消息需要先请求微信服务器,这里为了简便把获取图文消息设计成一个有事件推送性质的自定义菜单,点击菜单使用事件推送回复图文消息给用户

if($postObj->Event=="CLICK"){
       if("today_picture"==$postObj->EventKey){
          $imageUtil=new \util\EveryDayImageUtil();
                        
          $defaultMsgType="news";
          $item1=array("title"=>"今日图片","description"=>"bing精选片","picurl"=>$imageUtil->getTodayImage(),"url"=>"http://cn.bing.com/");
          $article=array($item1);
          $result=$msgUtil->articleMessageToXml($fromUsername, $toUsername, $article);
                        
          $resultStr=$result;
                       
       }
 }else{
       $typeResult="事件推送消息";
 }

一起欣赏下效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值