基本信息
源码名称:微信应用开发之文本影子回复
源码大小:2.81KB
文件格式:.php
开发语言:PHP
更新时间:2020-06-05
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
微信应用开发接口文件,验证callback请求 签名是否正确
实例文件附有注释
class wechatCallbackapiTest { public function valid() { $echoStr = $_GET["echostr"]; if($this->checkSignature()){ echo $echoStr; exit; } } private function checkSignature() { $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token = TOKEN; $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if( $tmpStr == $signature ){ return true; }else{ return false; } } public function responseMsg() { $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; if (!empty($postStr)){ $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $RX_TYPE = trim($postObj->MsgType); //用户发送的消息类型判断 switch ($RX_TYPE) { case "event": //文本消息 $result = $this->receiveEvent($postObj); break; case "text": //文本消息 $result = $this->receiveText($postObj); break; default: $result = "unknow msg type: ".$RX_TYPE; break; } echo $result; //返回处理的结果 }else { echo " "; exit; } } //接收文本消息 private function receiveEvent($object) { $Event = $object->Event; if($Event =="subscribe"){ $content = "欢迎关注"; }else{ $content = "你点击了菜单"; } $result = $this->transmitText($object, $content); return $result; } private function receiveText($object) { // $content = "你发送的是文本,内容为:".$object->Content; $content = "2020"; $result = $this->transmitText($object, $content); return $result; } //回复文本消息 private function transmitText($object, $content) { $textTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[%s]]></Content> </xml>"; $result = sprintf($textTpl, $object->FromUserName, $object->ToUserName, time(), $content); return $result; } }