用户向微信发送一条消息后,微信将会被动回复数据库对应的文字信息。
首先我们需要新建两个数据库,rlue,text。
rlue的主要作用是存储关键字和返回的id,text则是储存管理员后台添加的表单信息。
第一步,我们需要在前台设计一个表单,后台文件写一个方法reply_text;
代码如下:
public function replyText(){
if(IS_GET){
$this->display();
}else{
$model=M('mp_reply_text');
$content=I('post.content');
// dump($content);
$arr['content']=$content;
$ret=$model->add($arr);
// dump($ret);
$m=M('mp_rule');
$mp=getCurrentMp();
$a=array(
'mpid'=>$mp['id'],
'keyword'=>I('post.keyword'),
'type'=>'text',
'reply_id'=>$ret
);
$m->add($a);
if($ret){
// $this->ajaxReturn(array('status'=>1,'msg'=>'添加成功','url'=>U('keywords',['type'=>'text'])));
$this->ajaxReturn(array('status'=>1,'msg'=>'添加成功','url'=>U('replytext')));
}else{
$this->ajaxReturn(array('status'=>0,'msg'=>'添加失败'));
}
}
}
第二步,通过调用text方法。将信息合成一个xml格式返回;
<xml> <ToUserName>< ![CDATA[toUser] ]></ToUserName> <FromUserName>< ![CDATA[fromUser] ]></FromUserName> <CreateTime>1348831860</CreateTime> <MsgType>< ![CDATA[text] ]></MsgType> <Content>< ![CDATA[this is a test] ]></Content> <MsgId>1234567890123456</MsgId> </xml>
这样,我们就可以在微信测试号进行测试了,发送关键字,将回复指定内容。