微信公众号开发者模式普通消息模式例子
发布:smiling 来源: PHP粉丝网 添加日期:2017-03-23 10:20:42 浏览: 评论:0
微信公众号开发者模式普通消息模式我们用到的比较多就是说什么然后自动回复了,下面我们就一起来看一篇关于微信公众号开发者模式普通消息模式例子了,具体的操作如下所示。
前面已经说了,怎么来开启和配置微信服务号的开者模式了,这次要讲的就是针对和用户互动的一些事件。
本次主要讲的是,用户通过微信服务号输入框,发送给服务号的消息,怎么自动回复给用户。非开者模式,只需要在微信自动回复配置上关键词即可以。开发者模式需要通过responseMsg或者自己定义的。
关于responseMsg方法,是在第一步进行开启状态的时候那个相关类里的方法。
首先看下这个方法的:
- public function responseMsg() {
- $postStr = $GLOBALS ["HTTP_RAW_POST_DATA"];
- if (! emptyempty ( $postStr )) {
- $postObj = simplexml_load_string ( $postStr, 'SimpleXMLElement', LIBXML_NOCDATA );
- $MsgType = $postObj->MsgType;
- $fromUsername = $postObj->FromUserName;
- $toUsername = $postObj->ToUserName;
- $keyword = trim ( $postObj->Content );
- $time = time ();
- $textTpl = "<xml>
- <ToUserName><![CDATA[%s]]></ToUserName>
- <FromUserName><![CDATA[%s]]></FromUserName>
- <CreateTime>%s</CreateTime>
- <MsgType><![CDATA[%s]]></MsgType>
- <Content><![CDATA[%s]]></Content>
- </xml>";
- $msgType = "text";
- $contentStr = '亲,测试成功,已经到您的信息!';
- $resultStr = sprintf ( $textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr );
- echo $resultStr;exit();
- } else {
- exit ();
- }
- }
上面的方法,基本是一个比较简单的方法了。下面说明下上面几个重要的变量值代表含义:
$postObj 用户发送过来的数据,以xml的形式
下面是解析xml的结果:
$MsgType 消息类型
$fromUsername 发消息者的openid
$toUsername 开发者微信号
$keyword 发送的内容(注意:本次例子用的是text文本形式)
$time 是自己写的,做业务需求的时候有时候需要。
$textTpl 是回复给用户的模板样式。模式样式也分为好几种
本次为普通消息类型有:text、image、voice、video等,其它模式详细查看文档,还有一种事件类型,下篇文章会详细说明。
本次例子用的是text文本回复模式,其它模式详细查看官方文档
说明下xml的参数:
ToUserName 请使用上面的fromUsername 发送给该用户
FromUserName 请使用ToUserName 消息发送者(开发者微信号)
CreateTime 时间(时间戳)
MsgType 消息类型(回复,注:本次例子text)
Content 回复的内容 可写A标签。尽量控制字数,不要太多。
该方法设置完之后,通过该微信服务号的文本框录入数据,点击发送,就会看到由服务号回复的。
亲,测试成功,已经到您的信息!
到这,已经把最简单的text完成。其它的普通回复操作也基本同样的流程,找对应的接受与回复的类型xml,然后进行操作。
提示:开发者,可以在msgType进行判断,看用户发送的消息,属于那种类型的,再进行不同的操作。
例如:
if($MsgType=='text'){}
if($MsgType=='image'){}
if($MsgType=='voice'){voice接受的参数,请参考上面的普通消息类文档,回复操作:请选择自己要回复内容的xml格式,请参考回复用户模板样式连接。}
Tags: 模式 开发者 例子
相关文章
- ·PHP设计模式之工厂模式学习笔记(2014-03-06)
- ·php glob实现目录文件遍历与寻找与模式匹配的文件路径(2014-09-16)
- ·PHP fastcgi模式运行的PHP上传文件MaxRequestLen错误解决(2014-09-20)
- ·PHP fastcgi模式大文件上传500错误(2014-09-21)
- ·php单例模式笔记(2014-10-22)
- ·php CLI(命令)模式下传入参数的3方法(2015-04-10)
- ·PHP单例模式实例浅析(2015-04-11)
- ·PHP设计模式-单例模式学习笔记(2015-12-10)
- ·PHP单例模式静态类解析和实现源代码(2016-07-27)
- ·PHP实现的链式操作示例代码(2016-07-29)
- ·PHP的中使用非缓冲模式查询数据库的方法(2018-07-26)
- ·PHP单例模式定义与使用实例详解(2018-07-31)
- ·PHP中单例模式与工厂模式详解(2018-08-02)
- ·PHP常用的三种设计模式(2018-08-02)
- ·工厂模式是什么?(2020-02-17)
- ·什么是单例模式?(2020-02-17)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)