微信开发之-php 微信文本消息开发

在微信开发的过程中,我们主要是调用微信api进行接口开发,最基本的开发,就是微信的消息回复功能开发。

微信的消息回复主要分为三种,文本回复,声音回复,图文回复。今天我们这章就主要介绍微信文本消息回复。

 

一、文本消息回复(应用的场景,主要是在用户关注微信公众号时,触发消息回复)

微信规定的文本回复xml结构

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[content]]></Content>
</xml>
说明:ToUserName表示接收消息方帐号,即发送请求消息的用户。填写的值是$fromUsername = $postObj->FromUserName

 

利用php封装函数,进行功能开发

function response_text($object,$content)
{
$textTpl = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>".time()."</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>%d</FuncFlag>
</xml>";
$resultStr = sprintf($textTpl, $object->FromUserName, $object->ToUserName, $content, $flag);
return $resultStr;
}
说明:sprintf函数根据格式textTpl,依次输入参数。

 


实际程序调用上述函数

实现普通文本回复:

 

public function handleText($postObj)
{
$keyword = trim($postObj->Content);

if(!empty( $keyword ))
{
$contentStr = "微信公众平台-普通文本回复功能源代码";
$resultStr = _response_text($postObj,$contentStr);
echo $resultStr;
}else{
echo "Input something...";
}
}
说明:trim 是为了去掉字符串首尾的空格

 

实现关注时回复:

public function handleEvent($object)
{
$from_MsgType = $object->Event;
if ($from_MsgType == "subscribe")
{
$contentStr = "感谢您关注【你的帐号名】"."\n"."微信号:your account";
}

$resultStr = _response_text($object, $contentStr);
return $resultStr;
}
说明:"感谢您关注【你的帐号名】"."\n"."微信号:your account"。本行代码中插入了一个换行符,我们采用'.'拼接两个字符串

更多微信开发学习,http://www.codexueyuan.com/learn/learn-detail35

posted @ 2018-03-08 09:43  旭日天煞  阅读(180)  评论(0编辑  收藏  举报