激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php微信公眾平臺開發(fā)(四)回復功能開發(fā)

php微信公眾平臺開發(fā)(四)回復功能開發(fā)

2021-04-04 19:23David_Tang PHP教程

這篇文章主要介紹了php微信公眾平臺開發(fā)的第四篇,微信回復功能開發(fā),具有一定的參考價值,感興趣的小伙伴們可以參考一下

一、簡介

微信公眾平臺可以根據(jù)用戶發(fā)送的信息進行判斷,然后給出對應的回復,具有良好的交互性。下文將模擬簡單的回復功能,根據(jù)這個案例,開發(fā)者也可以基本理解微信交互的原理,進行更深層次的開發(fā)。

二、思路分析

用戶發(fā)送過來的文本信息,我們可以提取關鍵字,通過簡單的 if...elseif...else... 實現(xiàn)。

關鍵代碼如下:

php" id="highlighter_47472">
?
1
2
3
4
5
6
7
if($keyword=="你好"){
  $contentStr = "hello";
}elseif($keyword=="蘇州"){
  $contentStr = "上有天堂,下有蘇杭";
}else{
  $contentStr = "感謝您關注【卓錦蘇州】 微信號:zhuojinsz";
}

如果用戶發(fā)送"你好",則回復"hello",如果用戶發(fā)送"蘇州",則回復"上有天堂,下有蘇杭",其他信息,則回復你的歡迎詞。

三、完整代碼

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<?php
/**
 * wechat php test
 */
 
//define your token
define("TOKEN", "zhuojin");
$wechatObj = new wechatCallbackapiTest();
$wechatObj->responseMsg();
//$wechatObj->valid();
 
class wechatCallbackapiTest
{
  /*public function valid()
  {
    $echoStr = $_GET["echostr"];
 
    //valid signature , option
    if($this->checkSignature()){
      echo $echoStr;
      exit;
    }
  }*/
 
  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);
        $RX_TYPE = trim($postObj->MsgType);
 
        switch($RX_TYPE)
        {
          case "text":
            $resultStr = $this->handleText($postObj);
            break;
          case "event":
            $resultStr = $this->handleEvent($postObj);
            break;
          default:
            $resultStr = "Unknow msg type: ".$RX_TYPE;
            break;
        }
        echo $resultStr;
    }else {
      echo "";
      exit;
    }
  }
 
  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";
 
      if($keyword=="你好"){
        $contentStr = "hello";
      }elseif($keyword=="蘇州"){
        $contentStr = "上有天堂,下有蘇杭";
      }else{
        $contentStr = "感謝您關注【卓錦蘇州】 微信號:zhuojinsz";
      }
      $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
      echo $resultStr;
    }else{
      echo "Input something...";
    }
  }
 
  public function handleEvent($object)
  {
    $contentStr = "";
    switch ($object->Event)
    {
      case "subscribe":
        $contentStr = "感謝您關注【卓錦蘇州】"."\n"."微信號:zhuojinsz"."\n"."卓越錦繡,名城蘇州,我們?yōu)槟峁┨K州本地生活指南,蘇州相關信息查詢,做最好的蘇州微信平臺。"."\n"."目前平臺功能如下:"."\n"."【1】 查天氣,如輸入:蘇州天氣"."\n"."【2】 查公交,如輸入:蘇州公交178"."\n"."【3】 翻譯,如輸入:翻譯I love you"."\n"."【4】 蘇州信息查詢,如輸入:蘇州觀前街"."\n"."更多內容,敬請期待...";
        break;
      default :
        $contentStr = "Unknow Event: ".$object->Event;
        break;
    }
    $resultStr = $this->responseText($object, $contentStr);
    return $resultStr;
  }
  
  public function responseText($object, $content, $flag=0)
  {
    $textTpl = "<xml>
          <ToUserName><![CDATA[%s]]></ToUserName>
          <FromUserName><![CDATA[%s]]></FromUserName>
          <CreateTime>%s</CreateTime>
          <MsgType><![CDATA[text]]></MsgType>
          <Content><![CDATA[%s]]></Content>
          <FuncFlag>%d</FuncFlag>
          </xml>";
    $resultStr = sprintf($textTpl, $object->FromUserName, $object->ToUserName, time(), $content, $flag);
    return $resultStr;
  }
 
 
  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;
    }
  }
}
 
?>

四、測試

php微信公眾平臺開發(fā)(四)回復功能開發(fā)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产一区不卡 | 极品大长腿啪啪高潮露脸 | 欧美视频一区二区三区四区 | 中文字幕在线观看网址 | 亚洲精品在线观看网站 | 欧产日产国产精品99 | 看毛片电影 | 国产在线1区 | 免费嗨片首页中文字幕 | 91精彩在线 | 久久影院国产精品 | 成人午夜精品 | 国内精品久久久久久久久久 | 亚洲综合色视频在线观看 | 一区二区久久久久草草 | 九九热视频这里只有精品 | 黄色特级视频 | 欧美视频99 | 久久久久久久国产a∨ | 黄色片网站在线免费观看 | 1级片在线观看 | 毛片免费看电影 | 毛片一区二区三区四区 | 欧美成年人视频 | 看国产精品 | 欧美日韩在线看片 | 77成人影院 | 欧美黄色片免费看 | 亚洲日本欧美 | 中国洗澡偷拍在线播放 | 国产自在自线午夜精品视频在 | 日韩激情 | 中文字幕国产亚洲 | 一级欧美日韩 | 在线成人影视 | 啊哈不要啊 | av手机免费在线观看 | 免费国产人成网站 | 操操操日日日干干干 | 欧洲色阁中文字幕 | 日韩精品中文字幕一区二区 |