美文网首页
回复图文消息

回复图文消息

作者: 海藻web开发 | 来源:发表于2017-06-19 17:31 被阅读0次

原理介绍
接收到客户消息后就可以回复可以客户一个图文消息,实现方法:接收到消息数据后返回给微信服务器一个xml文本即可。Xml格式:

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[news]]></MsgType>
<ArticleCount>2</ArticleCount>
<Articles>
<item>
<Title><![CDATA[title1]]></Title> 
<Description><![CDATA[description1]]></Description>
<PicUrl><![CDATA[picurl]]></PicUrl>
<Url><![CDATA[url]]></Url>
</item>
<item>
<Title><![CDATA[title]]></Title>
<Description><![CDATA[description]]></Description>
<PicUrl><![CDATA[picurl]]></PicUrl>
<Url><![CDATA[url]]></Url>
</item>
</Articles>
</xml>

参数详情

1462332075915698.jpg

函数封装

/* 回复图文消息
 * $msgArray格式
 * $msgArray = array(
 *  array('项目标题', '描述', '图片地址', '点击项目打开的Url'),
 *  array('项目标题', '描述', '图片地址', '点击项目打开的Url'),
 *      有几个项目就设置几个数组元素
 * );
 */
public function reItemMsgs($msgArray){
    $xml = '<xml><ToUserName><![CDATA['.$this->openId.']]></ToUserName><FromUserName><![CDATA['.$this->ourOpenId.']]></FromUserName><CreateTime>'.time().'</CreateTime><MsgType><![CDATA[news]]></MsgType><ArticleCount>'.count($msgArray).'</ArticleCount><Articles>';
    foreach($msgArray as $val){
    $xml .= '<item><Title><![CDATA['.$val[0].']]></Title><Description><![CDATA['.$val[1].']]></Description><PicUrl><![CDATA['.$val[2].']]></PicUrl><Url><![CDATA['.$val[3].']]></Url></item>';
    }
    $xml .= '</Articles></xml>';
    echo $xml;
}

完整演示代码

<?php
/**
  * wechat php test
  */

//define your token
define("TOKEN", "wxtext2017");

class weChat{
    public $postObj;      //接收到的xml对象
    public $openId;       //客户的openId
    public $ourOpenId;    //我方公众号的openId
    //构造函数用于接收消息
    public function __construct(){
        if(!empty($GLOBALS["HTTP_RAW_POST_DATA"])){
            $postStr=$GLOBALS["HTTP_RAW_POST_DATA"];
                    //将xml转换成对象
                    libxml_disable_entity_loader(true);
                    $this->postObj      = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
                    $this->openId       = $this->postObj->FromUserName;
                    $this->ourOpenId    = $this->postObj->ToUserName;
                    $this->msgType      = $this->postObj->MsgType;
                }
    }
    public function reItemMsgs($msgArray){
        $xml = '<xml><ToUserName><![CDATA['.$this->openId.']]></ToUserName><FromUserName><![CDATA['.$this->ourOpenId.']]></FromUserName><CreateTime>'.time().'</CreateTime><MsgType><![CDATA[news]]></MsgType><ArticleCount>'.count($msgArray).'</ArticleCount><Articles>';
                foreach($msgArray as $val){
                    $xml .= '<item><Title><![CDATA['.$val[0].']]></Title><Description><![CDATA['.$val[1].']]></Description><PicUrl><![CDATA['.$val[2].']]></PicUrl><Url><![CDATA['.$val[3].']]></Url></item>';
                }
                $xml .= '</Articles></xml>';
                echo $xml;
    }
}
$wechatObj = new weChat();
//回复文本消息
$msgArray = array(
    array('我是标题一', '我是描述一', 'http://51qiaoxifu.com/head.jpg', 'http://51qiaoxifu.com'),
    array('我是标题二', '我是描述二', 'http://51qiaoxifu.com/img.jpg', 'http://51qiaoxifu.com')
);
$wechatObj->reItemMsgs($msgArray);
?>

相关文章

  • 回复图文消息

    原理介绍接收到客户消息后就可以回复可以客户一个图文消息,实现方法:接收到消息数据后返回给微信服务器一个xml文本即...

  • 微信开发总结

    微信关注公众号回复图文消息 在微信公众号管理后台中,用户关注后可以回复文字 / 图片 / 语音 / 视频消息,不支...

  • 回复关键词的无限扩展机制

    引言 在微信公众号的开发中,自动回复关键词主要可回复的内容为文本消息、图文消息(目前仅支持一个链接)。为了让关键词...

  • 回复消息

    老公去拉萨的第十天,终于找了件事吵了一架…… 从高中到小学,就是想日子过得悠闲点,可现在咋感觉这日子是越活...

  • 消息回复

    等你的消息 就像去期待一场南方的初雪 姗姗来迟,煎熬漫长 你回我消息 就像孩子口袋里的糖纸 皱巴巴一句,已然让我贪...

  • 小程序自定义关键词客服系统演示

    管理中心视频演示: 主要功能图文演示: 一、PC管理系统 二、小程序中的消息回复

  • 图文消息

    https://www.cnblogs.com/jerehedu/p/6612214.html

  • 公众号自动回复文本字数限制300个字符,如何扩充?

    使用微Sir图文助手,配置文本回复,可以达到最多2048个字符。具体如下表 公众号回复一条文本消息,长度限制: 项...

  • 微信通关记录

    回复消息接口发送客服消息(文本、图片、语音、视频、音乐、图文菜单操作(查询、创建、删除二维码(创建临时、永久二维码...

  • 唐诗、成语、歇后语、故事

    公众号可以设定用户发送关键词之后回复的内容,内容可以是文本,也可以是图文消息或文章链接。对于文章链接消息,目前限制...

网友评论

      本文标题:回复图文消息

      本文链接:https://www.haomeiwen.com/subject/umfnqxtx.html