• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

微信公众平台开发入门--PHP,实现自动_php

php 搞代码 3年前 (2018-06-21) 86次浏览 已收录 0个评论

一页代码实现微信基本回复和点击事件功能,部署上去sae或者bae,妥妥的基本免费的服务器

不懂代码都基本每个人都可以做自己的微信公众号了

 valid(); }else{                     //回复消息     $wechatObj->responseMsg(); }  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 "text":                 $resultStr = $this->receiveText($postObj);                 break;             case "image":                 $resultStr = $this->receiveImage($postObj);                 break;             case "location":                 $resultStr = $this->receiveLocation($postObj);                 break;             case "voice":                 $resultStr = $this->receiveVoice($postObj);                 break;             case "video":                 $resultStr = $this->receiveVideo($postObj);                 break;             case "link":                 $resultStr = $this->receiveLink($postObj);                 break;             case "event":                 $resultStr = $this->receiveEvent($postObj);                 break;             default:                 $resultStr = "unknow msg type: ".$RX_TYPE;                 break;         }         echo $resultStr;     }else {         echo "";         exit;     }  }          //接收文本消息     private function receiveText($object)     {         $keyword = trim($object->Content);         $url = "http://api100.duapp.com/movie/?appkey=DIY_miaomiao&name=".$keyword;         $output = file_get_contents($url,$keyword);         $contentStr = json_decode($output, true);         if (is_array($contentStr)){             $resultStr = $this->transmitNews($object, $contentStr);         }else{             $resultStr = $this->transmitText($object, $contentStr);         }         return $resultStr;     }           //接收事件,关注等     private function receiveEvent($object)     {         $contentStr = "";         switch ($object->Event)         {             case "subscribe":                 $contentStr = "你关注了我";    //关注后回复内容                 break;             case "unsubscribe":                 $contentStr = "";                 break;             case "CLICK":                 $contentStr =  $this->receiveClick($object);    //点击事件                 break;             default:                 $contentStr = "receive a new event: ".$object->Event;                 break;         }                  return $contentStr;     }          //接收图片     private function receiveImage($object)     {         $contentStr = "你发送的是图片,地址为:".$object->PicUrl;         $resultStr = $this->transmitText($object, $contentStr);         return $resultStr;     }               //接收语音     private function receiveVoice($object)     {         $contentStr = "你发送的是语音,媒体ID为:".$object->MediaId;         $resultStr = $this->transmitText($object, $contentStr);         return $resultStr;     }          //接收视频     private function receiveVideo($object)     {         $contentStr = "你发送的是视频,媒体ID为:".$object->MediaId;         $resultStr = $this->transmitText($object, $contentStr);         return $resultStr;     }          //位置消息     private function receiveLocation($object)     {         $contentStr = "你发送的是位置,纬度为:".$object->Location_X.";经度为:".$object->Location_Y.";缩放级别为:".$object->Scale.";位置为:".$object->Label;         $resultStr = $this->transmitText($object, $contentStr);         return $resultStr;     }          //链接消息     private function receiveLink($object)     {         $contentStr = "你发送的是链接,标题为:".$object->Title.";内容为:".$object->Description.";链接地址为:".$object->Url;         $resultStr = $this->transmitText($object, $contentStr);         return $resultStr;     }             

//点击菜单消息 private function receiveClick($object) { switch ($object->EventKey) { case "1": $contentStr = "猫咪酱个性DIY服装, 我们专业定制个性【班服,情侣装,亲子装等,有长短T恤,卫衣,长短裤】 来图印制即可,给你温馨可爱的TA, 有事可直接留言微信"; break; case "2": $contentStr = "你点击了菜单: ".$object->EventKey; break; case "3": $contentStr = "是傻逼"; break; default: $contentStr = "你点击了菜单: ".$object->EventKey; break; } //两种回复 if (is_array($contentStr)){ $resultStr = $this->transmitNews($object, $contentStr); }else{ $resultStr = $this->transmitText($object, $contentStr); } return $resultStr; } //回复文本消息 private function transmitText($object, $content) { $textTpl = " %s "; $resultStr = sprintf($textTpl, $object->FromUserName, $object->ToUserName, time(), $content); return $resultStr; }

//回复图文 private function transmitNews($object, $arr_item) { if(!is_array($arr_item)) return;

$itemTpl = " "; $item_str = ""; foreach ($arr_item as $item) $item_str .= sprintf($itemTpl, $item['Title'], $item['Description'], $item['PicUrl'], $item['Url']);

$newsTpl = " %s %s $item_str ";

$resultStr = sprintf($newsTpl, $object->FromUserName, $object->ToUserName, time(), count($arr_item)); return $resultStr; } //音乐消息 private function transmitMusic($object, $musicArray, $flag = 0) { $itemTpl = " ";

$item_str = sprintf($itemTpl, $musicArray['Title'], $musicArray['Description'], $musicArray['MusicUrl'], $musicArray['HQMusicUrl']);

$textTpl = " %s $item_str %d ";

$resultStr = sprintf($textTpl, $object->FromUserName, $object->ToUserName, time(), $flag); return $resultStr; } } ?>

欢迎大家阅读《微信公众平台开发入门--php,实现自动_php》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址