网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 微信公众平台DEMO(PHP)
内容
    本人在SAE环境下搭建了CI框架(其实这个小东西用不着用框架的),直接把代码写在了控制器里面
    <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    //define your token
    define("TOKEN", "109");
    class Welcome extends CI_Controller {
      public function index()
      {
        /*
        $this->load->helper('url');
        $this->load->view('welcome_message');
        */
        // use chat response
        $this->responseMsg();
      }
      // chat response
      public function responseMsg()
      {
        //get post data, May be due to the different environments
        $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
         //extract post data
        if (!empty($postStr)){
          $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
          $fromUsername = $postObj->FromUserName;
          $toUsername = $postObj->ToUserName;
          $MsgType = $postObj->MsgType;
          $time = time();
          switch($MsgType){
            case('text'):
              $keyword = trim($postObj->Content);
              $textTpl = "<xml>
                    <ToUserName><![CDATA[%s]]></ToUserName>
                    <FromUserName><![CDATA[%s]]></FromUserName>
                    <CreateTime>%s</CreateTime>
                    <MsgType><![CDATA[%s]]></MsgType>
                    <Content><![CDATA[%s]]></Content>
                    </xml>";
              switch($keyword){
                case(1):
                  // Need to optimize
                  // random read data from jokes
                  $sql = 'SELECT * FROM jokes';
                  $query = $this->db->query($sql);
                  $res = $query->result_array();
                  $num_rows = $query->num_rows();
                  $key = rand(0, $num_rows - 1); // Notice: The value of key is from 0.
                  //$contentStr = $key.'#'.$res[$key ]['content']; // debug
                  $contentStr = $res[$key ]['content']; 
                  break;
                case(2):
                  $contentStr = 'Your fromUsername is: '.$fromUsername; 
                  break;  
                case(3):
                  $newsTpl = "<xml>
                        <ToUserName><![CDATA[%s]]></ToUserName>
                        <FromUserName><![CDATA[%s]]></FromUserName>
                        <CreateTime>%s</CreateTime>
                        <MsgType><![CDATA[%s]]></MsgType>
                        <ArticleCount>2</ArticleCount>
                        <Articles>
                          <item>
                            <Title><![CDATA[%s]]></Title> 
                            <Description><![CDATA[%s]]></Description>
                            <PicUrl><![CDATA[%s]]></PicUrl>
                            <Url><![CDATA[%s]]></Url>
                          </item>
                          <item>
                            <Title><![CDATA[%s]]></Title>
                            <Description><![CDATA[%s]]></Description>
                            <PicUrl><![CDATA[%s]]></PicUrl>
                            <Url><![CDATA[%s]]></Url>
                          </item>
                        </Articles>
                        </xml> ";
                  $resultStr = sprintf($newsTpl, $fromUsername, $toUsername, $time,'news',
                    '百度','', '/uploads/202504/02/bdlogo2714.gif', 'http://www.baidu.com',
                    'Google','', '', 'http://www.google.com'); // Notice: Google's logo is not suitable.
                  echo $resultStr;
                  exit; // Notice: It's exit, not break.                
                case(4):
                  $contentStr = "该功能正在开发中,敬请期待..."; 
                  break;
                /* others */
                default:
                  $contentStr = "回复数字 选择服务\n";
                  $contentStr .= "1 笑话精选\n";
                  $contentStr .= "2 获取您的Username...\n";  
                  $contentStr .= "3 图文消息示例\n"; 
                  $contentStr .= "4 开发中...\n"; 
                  break;
              }
              $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, 'text', $contentStr);
              break;
            case('image'):
              $media_id = $postObj->MediaId;
              $imgTpl = "<xml>
                    <ToUserName><![CDATA[%s]]></ToUserName>
                    <FromUserName><![CDATA[%s]]></FromUserName>
                    <CreateTime>%s</CreateTime>
                    <MsgType><![CDATA[%s]]></MsgType>
                    <Image>
                      <MediaId><![CDATA[%s]]></MediaId>
                    </Image>
                    </xml>";
              $resultStr = sprintf($imgTpl, $fromUsername, $toUsername, $time, 'image', $media_id);
              break;
              // try get the id of the receive image and analyse
              /*
              $media_id = $postObj->MediaId;
              $textTpl = "<xml>
                    <ToUserName><![CDATA[%s]]></ToUserName>
                    <FromUserName><![CDATA[%s]]></FromUserName>
                    <CreateTime>%s</CreateTime>
                    <MsgType><![CDATA[%s]]></MsgType>
                    <Content><![CDATA[%s]]></Content>
                    </xml>";
              $length = strlen($media_id);
              $contentStr = "I have received the image message you sent, the id of this image is # $media_id #, and the length of media_id is # $length #";
              $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, 'text', $contentStr);
              break;
              */
            case('voice'):
              $textTpl = "<xml>
                    <ToUserName><![CDATA[%s]]></ToUserName>
                    <FromUserName><![CDATA[%s]]></FromUserName>
                    <CreateTime>%s</CreateTime>
                    <MsgType><![CDATA[%s]]></MsgType>
                    <Content><![CDATA[%s]]></Content>
                    </xml>"; 
              $contentStr = '你说啥?俺听不见...';
              $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, 'text', $contentStr);
              break;
            /* others */
            default:
              $resultStr = "Input something...";
              break;
          }
          echo $resultStr;
        }else {
          echo "";
          exit;
        }
      }
    }
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/22 14:01:02