第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > 微信公众号开发 微信被动回复 图文回复 图片回复

微信公众号开发 微信被动回复 图文回复 图片回复

时间:2018-09-20 19:24:25

相关推荐

微信公众号开发 微信被动回复 图文回复 图片回复

本篇转自猪年大吉博客:地址/qq_43638176

关于微信接入第三方域名进行业务开发的相关说明已在另外一篇做了说明,这里不做赘述,接入步骤请移步

/qq_43638176/article/details/88915436

本篇示范微信交互过程中的几个基础事件,主要判断标准参数为$postObj->MsgType,分别介绍当用户对公众号上传一个图片,回复一个文本以及关注事件的几个推送,其他诸如音乐回复将在下一篇做总结。

可以查看官方文档:

接受普通消息:https://mp./wiki?t=resource/res_main&id=mp1421140453

被动回复:https://mp./wiki?t=resource/res_main&id=mp1421140543

具体代码实现:

<?phpnamespace app\index\controller;use think\Controller;use think\Request;header("Content-type: text/html; charset=utf-8"); define("TOKEN","token");//定义识别码 需要跟微信公众平台上保持一致class Blog extends Controller{public function index(){$this->valid(); }//微信验证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 = file_get_contents('php://input'); //如果推送消息 或者推送事件存在,进行处理if(!empty($poststr)){libxml_disable_entity_loader(true);$postObj = simplexml_load_string($poststr, 'SimpleXMLElement', LIBXML_NOCDATA);$msgType = $postObj->MsgType;//判断事件类型,进行对应事件类型处理switch ($msgType) {//当回复公众号时case 'text':$resultStr = $this->handleText($postObj);break;case 'image':$resultStr = $this->handleImage($postObj);break;case 'voice':$resultStr = $this->handleVoice($postObj);break;case 'video':$resultStr = $this->handleVideo($postObj);break;case 'shortvideo':$resultStr = $this->handleShortVideo($postObj);break;case 'location':$resultStr = $this->handleLocation($postObj);break;case 'link':$resultStr = $this->handleLink($postObj);break;case 'event':$resultStr = $this->handleEvent($postObj);break;default:$resultStr = "Unknow msg type: ".$msgType;break;}return $resultStr;}}////回复消息public function handleText($postObj){$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><FuncFlag>0</FuncFlag></xml>"; if(!empty( $keyword )){$msgType = "text";$contentStr = "Welcome to wechat world!";$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);echo $resultStr;}else{echo "Input something...";}}}

su先生给你加油噢!!!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。