zoukankan      html  css  js  c++  java
  • 用laravel搭一个微信公众号后台

    我使用的是laravel5.2, 早期版本可能不适合下面的方法。

    1. 在routes.php写下接收微信服务器post请求的路径:
      Route::post('wechatmp', 'WechatController@responseMsg');
      
    2. 在App\Http\Middleware\VerifyCsrfToken里,将该请求路径去除CSRF TOKEN的保护,官网说明

      class VerifyCsrfToken extends BaseVerifier
      {
       protected $except = [
          'wechatmp', 
       ];
      }
      

      在这里补充一下,csrf Token是一种laravel自身提供的请求保卫机制。必须符合csrf token的验证,对方发来的post请求才会被接受,常用在laravel的ajax请求。当然如果我们真的要开放某个接口,就使用上面的方式,把这个接口对应的csrf token关掉。

    3. 按照你熟悉的方式,在WechatController里写responseMsg:

      1. public function responseMsg(Request $request){
         
             $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
              if (!empty($postStr)){
                 $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
                 $RX_TYPE = trim($postObj->MsgType);
              //   $this->test($RX_TYPE) ;
                 switch ($RX_TYPE)
                 {
                     case "text":
                         $resultStr = $this->receiveText($postObj);
                         break;
             case "image":
                 $resultStr = $this->receiveImage($postObj); 
               break ;
             case "voice":
                   $resultStr = $this->receiveVoice($postObj) ;
               break ;
                     case "event":
                         $resultStr = $this->receiveEvent($postObj);
                         break;
                     default:
                         $resultStr = "unknow msg type: ".$RX_TYPE;
                         break;
                 }
                 echo $resultStr;
             }else {
                 echo "";
                 exit;
             }
         }
        

      后面的微信公众平台开发者文档都有。

    4. https://blog.csdn.net/tianlebest/article/details/60667259
  • 相关阅读:
    技术债务墙:一种让技术债务可见并可协商的方法
    墙裂推荐
    shell 脚本通过Webhook 发送消息到微信群
    关于中医的一段对话 [ZZ] -- 思维训练故事
    应用深度神经网络预测学生期末成绩
    Python中的模块引用机制
    批量修改含空格的文件名「Linux」
    Markdown数学公式语法
    批处理修改IP
    FTD团队目录
  • 原文地址:https://www.cnblogs.com/lxwphp/p/15454119.html
Copyright © 2011-2022 走看看