国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Rumah applet WeChat pembangunan WeChat php開發(fā)微信公眾平臺接口智能回復(fù)實例代碼

php開發(fā)微信公眾平臺接口智能回復(fù)實例代碼

Mar 20, 2017 pm 02:10 PM
php Platform awam WeChat

這篇文章主要介紹了php版微信公眾平臺接口開發(fā)之智能回復(fù)開發(fā),結(jié)合實例形式較為詳細(xì)的分析了只能回復(fù)功能的原理與通過微信接口調(diào)用具體實現(xiàn)技巧,需要的朋友可以參考下

本文實例講述了php版微信公眾平臺接口開發(fā)之智能回復(fù)功能實現(xiàn)方法。分享給大家供大家參考,具體如下:

智能回復(fù)是根據(jù)用戶輸入的條件來反饋結(jié)果用用戶了,這個小編以前有做過信整理了一些例子供各位參考,比較完整主要是介紹在開發(fā)端了。

微信自推出后,著實火了一把,而支付功能的推出,又把微信推到了一個無可比擬的高度,然后申請微信訂閱號或者服務(wù)號的人也開始比肩接踵。下面我將給大家簡單講解下微信公眾平臺開發(fā)接口。

先去 微信公眾平臺 申請賬號,然后按照提示一步步。在選擇訂閱號和服務(wù)號上,個人只能申請訂閱號,而且局限于基礎(chǔ)功能;而企業(yè)兩者都可以申請。訂閱號和服務(wù)號的區(qū)別在于:訂閱號可以每天群發(fā)一條消息,而服務(wù)號一個月才能群發(fā)一條;訂閱號需要微信認(rèn)證才能自定義菜單(企業(yè)才能認(rèn)證,認(rèn)證300元一次),而服務(wù)號則一開始就有自定義菜單,但是也可以認(rèn)證,認(rèn)證后服務(wù)號直接升級高級功能。更多差異請百度...

我申請的是訂閱號,因為是個人。只要傳一張手捧身份證的人頭照就可以了,雖然有點傻。然后等待信息登記審核(一天左右時間)。通過后直接進(jìn)入 微信公眾平臺 ,點擊功能進(jìn)入高級功能,關(guān)閉編輯模式,開啟開發(fā)模式,然后下載微信提供的demo,解壓,就一個文件:wx_sample.php,代碼如下:

<?php
/**
 * wechat php test
 */
//define your token
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
$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 (!emptyempty($postStr)){
        $postObj = simplexml_load_string($postStr, &#39;SimpleXMLElement&#39;, LIBXML_NOCDATA);
        $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(!emptyempty( $keyword ))
        {
        $msgType = "text";
         $contentStr = "Welcome to wechat world!";
         $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
         echo $resultStr;
        }else{
         echo "Input something...";
        }
    }else {
     echo "";
     exit;
    }
  }
 private function checkSignature()
 {
    $signature = $_GET["signature"];
    $timestamp = $_GET["timestamp"];
    $nonce = $_GET["nonce"];
 $token = TOKEN;
 $tmpArr = array($token, $timestamp, $nonce);
 sort($tmpArr, SORT_STRING);
 $tmpStr = implode( $tmpArr );
 $tmpStr = sha1( $tmpStr );
 if( $tmpStr == $signature ){
  return true;
 }else{
  return false;
 }
 }
}
?>

其實就是認(rèn)證,然后發(fā)送消息。將文件傳到你的服務(wù)器上,我放在根目錄下,然后修改開發(fā)模式下的url和token值。假設(shè)這里使用的url是http://www.jb51.net/wx_sample.php,token就是上面define的token,這個可以改的,只要兩邊保持一致,默認(rèn)是weixin。然后點提交,就會提示你成功了。然后掃下你申請的號碼,發(fā)個消息,你會發(fā)現(xiàn)沒反應(yīng),這個時候我們需要小調(diào)整一下,關(guān)閉接口文檔中調(diào)用認(rèn)證的方法,開啟調(diào)用處理回復(fù)信息的方法:

//$wechatObj->valid();
$wechatObj->responseMsg();

這個時候你再發(fā)個消息,你就會收到:Welcome to wechat world!

是不是在關(guān)注了有些訂閱號或者服務(wù)號之后,馬上會收到一條消息。什么回復(fù)1,怎樣怎樣;回復(fù)2,怎樣怎樣之類的。

那這個怎么實現(xiàn)呢?直接上代碼:

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);
      $fromUsername = $postObj->FromUserName;
      $toUsername = $postObj->ToUserName;
      $keyword = trim($postObj->Content);
      $time = time();
      $MsgType = $postObj->MsgType; //add
      $textTpl = "
        
        
        %s
        
        
        0
        ";
      if($MsgType != 'event') {
        if(!empty( $keyword ))
        {
          $msgType = "text";
          $contentStr = "Welcome to wechat world!";
        }else{
          echo "Input something...";
        }
      } else {
        $msgType = "text";
        $contentStr = "感謝您關(guān)注AndyYang個人博客微信小助手。\r\n".
          "回復(fù)【1】返回兩篇最新文章\r\n".
          "回復(fù)【2】返回兩篇人氣文章\r\n".
          "回復(fù)【3】返回兩篇熱評文章\r\n".
          "回復(fù)【4】返回兩篇最新技術(shù)文章\r\n".
          "回復(fù)【5】返回兩篇最新寫作文章\r\n".
          "回復(fù)其他返回搜索關(guān)鍵字的兩篇文章\r\n".
          "更多精彩內(nèi)容,盡在:www.jb51.net。親們,請多多支持哦,謝謝~";
        ;
      }
      $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
      echo $resultStr;
    }else {
      echo "";
      exit;
    }
  }
  private function checkSignature()
  {
    $signature = $_GET["signature"];
    $timestamp = $_GET["timestamp"];
    $nonce = $_GET["nonce"];
    $token = TOKEN;
    $tmpArr = array($token, $timestamp, $nonce);
    sort($tmpArr, SORT_STRING); //這個在新的sdk中添加了第二個參數(shù)(compare items as strings)
    $tmpStr = implode( $tmpArr );
    $tmpStr = sha1( $tmpStr );
    if( $tmpStr == $signature ){
      return true;
    }else{
      return false;
    }
  }
}

當(dāng)然這里只是簡單的實現(xiàn)下,在微信公眾平臺提供的sdk上做簡單的修改,實際上msgtype類型很多,就算消息類型為event的,它里面也有subscribe、LOCATION等,而如果細(xì)化的話,就用Event為subscribe來處理初次關(guān)注的事件,代碼如下:

<?php
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
$wechatObj->weixin_run();
class wechatCallbackapiTest {
  private $fromUsername;
  private $toUsername;
  private $times;
  private $keyword;
  private $MsgType;
  public function responseMsg() {
 $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
 if (!emptyempty($postStr)) {
      $postObj = simplexml_load_string($postStr, &#39;SimpleXMLElement&#39;, LIBXML_NOCDATA);
      $this->fromUsername = $postObj->FromUserName;
      $this->toUsername  = $postObj->ToUserName;
      $this->keyword   = trim($postObj->Content);
      $this->time     = time();
      $this->MsgType   = $postObj->MsgType;
    } else {
     echo "Pay attention to <a href=&#39;http://{$_SERVER[&#39;HTTP_HOST&#39;]}&#39;>http://{$_SERVER[&#39;HTTP_HOST&#39;]}</a>,thanks!";
     exit;
    }
  }
  public function weixin_run() {
    $this->responseMsg();
    if($this->MsgType != &#39;event&#39;) { //attention
      $data = $this->getData();
     $this->fun_xml("news", $data, count($data));
    } else {
      $data = $this->getWelData();
     $this->fun_xml("text", $data, 1);
    }
  }
 //type: text 文本類型, news 圖文類型
 //text,array(內(nèi)容),array(ID)
 //news,array(array(標(biāo)題,介紹,圖片,超鏈接),...小于10條),條數(shù)
 private function fun_xml($type, $value_arr, $count) {
   $con="<xml>
   <ToUserName><![CDATA[{$this->fromUsername}]]></ToUserName>
   <FromUserName><![CDATA[{$this->toUsername}]]></FromUserName>
   <CreateTime>{$this->times}</CreateTime>
   <MsgType><![CDATA[{$type}]]></MsgType>";
    switch($type) {
     case "text" :
   $con.="<Content><![CDATA[$value_arr]]></Content>";
     break;
   case "news" :
   $con.="<ArticleCount>{$count}</ArticleCount>
    <Articles>";
   foreach($value_arr as $key => $v) {
      $con.="<item>
       <Title><![CDATA[{$v[0]}]]></Title>
       <Description><![CDATA[{$v[1]}]]></Description>
       <PicUrl><![CDATA[{$v[2]}]]></PicUrl>
       <Url><![CDATA[{$v[3]}]]></Url>
       </item>";
   }
   $con.="</Articles>";
     break;
   }
   echo $con."</xml>";
 }
  private function getData() {
    //數(shù)據(jù)庫通過關(guān)鍵字查詢文章
    //。。。。。。。。。。。。
    //。。。。。。。。。。。。
    //返回文章結(jié)果的數(shù)組
    return $data;
  }
  private function getWelData() {
    $data = "感謝您關(guān)注AndyYang個人博客微信小助手。\r\n".
          "回復(fù)【1】返回兩篇最新文章\r\n".
          "回復(fù)【2】返回兩篇人氣文章\r\n".
          "回復(fù)【3】返回兩篇熱評文章\r\n".
          "回復(fù)【4】返回兩篇最新技術(shù)文章\r\n".
          "回復(fù)【5】返回兩篇最新寫作文章\r\n".
          "回復(fù)其他返回搜索關(guān)鍵字的兩篇文章\r\n".
          "更多精彩內(nèi)容,盡在:<a href=&#39;http://www.jb51.net/&#39;>www.jb51.net</a>。親們,請多多支持哦,謝謝~";
        ;
    return $data;
  }
}

老實說很想弄個服務(wù)號玩玩,自定義菜單是沒什么技術(shù)含量的,但是后面的微信支付之類,服務(wù)號僅有的服務(wù),還是挺值得去嘗試下的.

Atas ialah kandungan terperinci php開發(fā)微信公眾平臺接口智能回復(fù)實例代碼. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1502
276
PHP memanggil AI Pembantu Suara Pintar PHP Pembinaan Sistem Interaksi Suara PHP PHP memanggil AI Pembantu Suara Pintar PHP Pembinaan Sistem Interaksi Suara PHP Jul 25, 2025 pm 08:45 PM

Input suara pengguna ditangkap dan dihantar ke backend PHP melalui API Mediarecorder JavaScript front-end; 2. PHP menjimatkan audio sebagai fail sementara dan memanggil STTAPI (seperti Pengiktirafan Suara Google atau Baidu) untuk mengubahnya menjadi teks; 3. PHP menghantar teks kepada perkhidmatan AI (seperti Openaigpt) untuk mendapatkan jawapan pintar; 4. PHP kemudian memanggil TTSAPI (seperti sintesis Baidu atau Google Voice) untuk menukar balasan ke fail suara; 5. PHP mengalir fail suara kembali ke bahagian depan untuk bermain, menyelesaikan interaksi. Seluruh proses dikuasai oleh PHP untuk memastikan hubungan lancar antara semua pautan.

Cara Menggunakan PHP untuk Membina Fungsi Perkongsian Sosial PHP Perkongsian Interface Integration Practice Cara Menggunakan PHP untuk Membina Fungsi Perkongsian Sosial PHP Perkongsian Interface Integration Practice Jul 25, 2025 pm 08:51 PM

Kaedah teras untuk membina fungsi perkongsian sosial dalam PHP adalah untuk menghasilkan pautan perkongsian secara dinamik yang memenuhi keperluan setiap platform. 1. Mula -mula dapatkan halaman semasa atau URL dan maklumat artikel yang ditentukan; 2. Gunakan urlencode untuk menyandikan parameter; 3. Sambutan dan menjana pautan perkongsian mengikut protokol setiap platform; 4. Pautan paparan di hujung depan untuk pengguna mengklik dan berkongsi; 5. Dinamik menghasilkan tag OG pada halaman untuk mengoptimumkan paparan kandungan perkongsian; 6. Pastikan untuk melepaskan input pengguna untuk mencegah serangan XSS. Kaedah ini tidak memerlukan pengesahan yang kompleks, mempunyai kos penyelenggaraan yang rendah, dan sesuai untuk kebanyakan keperluan perkongsian kandungan.

Cara Menggunakan PHP Digabungkan dengan AI Untuk Mencapai Ralat Pembetulan Ralat PHP Pengesanan dan Pengoptimuman Sintaks PHP Cara Menggunakan PHP Digabungkan dengan AI Untuk Mencapai Ralat Pembetulan Ralat PHP Pengesanan dan Pengoptimuman Sintaks PHP Jul 25, 2025 pm 08:57 PM

Untuk merealisasikan pembetulan ralat teks dan pengoptimuman sintaks dengan AI, anda perlu mengikuti langkah -langkah berikut: 1. Pilih model AI atau API yang sesuai, seperti Baidu, Tencent API atau perpustakaan NLP sumber terbuka; 2. Panggil API melalui curl atau Guzzle PHP dan memproses hasil pulangan; 3. Maklumat pembetulan ralat paparan dalam aplikasi dan membenarkan pengguna memilih sama ada untuk mengadopsinya; 4. Gunakan php-l dan php_codesniffer untuk pengesanan sintaks dan pengoptimuman kod; 5. Secara berterusan mengumpul maklum balas dan mengemas kini model atau peraturan untuk meningkatkan kesannya. Apabila memilih AIAPI, fokus pada menilai ketepatan, kelajuan tindak balas, harga dan sokongan untuk PHP. Pengoptimuman kod harus mengikuti spesifikasi PSR, gunakan cache yang munasabah, elakkan pertanyaan bulat, mengkaji semula kod secara berkala, dan gunakan x

PHP Membuat Sistem Komen Blog untuk Mengewangkan Kajian Komen PHP dan Strategi Anti-Brush PHP Membuat Sistem Komen Blog untuk Mengewangkan Kajian Komen PHP dan Strategi Anti-Brush Jul 25, 2025 pm 08:27 PM

1. Memaksimumkan nilai komersil sistem komen memerlukan menggabungkan pengiklanan pengiklanan asli, perkhidmatan nilai tambah pengguna (seperti memuat naik gambar, komen top-up), mempengaruhi mekanisme insentif berdasarkan kualiti komen, dan pematuhan data pengewangan data tanpa nama; 2. Strategi audit harus mengadopsi gabungan penapisan kata kunci dinamik pra-audit dan mekanisme pelaporan pengguna, ditambah dengan penarafan kualiti komen untuk mencapai pendedahan hierarki kandungan; 3. Anti-brushing memerlukan pembinaan pertahanan berbilang lapisan: Recaptchav3 Pengesahan tanpa sensor, Honeypot Honeypot Field Robot, IP dan Had Frekuensi Timestamp menghalang penyiraman, dan pengiktirafan corak kandungan menandakan komen yang mencurigakan, dan terus berurusan dengan serangan.

Cara menggunakan PHP untuk menggabungkan AI untuk menjana imej. PHP secara automatik menjana karya seni Cara menggunakan PHP untuk menggabungkan AI untuk menjana imej. PHP secara automatik menjana karya seni Jul 25, 2025 pm 07:21 PM

PHP tidak secara langsung melaksanakan pemprosesan imej AI, tetapi mengintegrasikan melalui API, kerana ia adalah baik pada pembangunan web dan bukannya tugas-tugas intensif pengkomputeran. Integrasi API boleh mencapai pembahagian profesional buruh, mengurangkan kos, dan meningkatkan kecekapan; 2. Mengintegrasikan teknologi utama termasuk menggunakan Guzzle atau Curl untuk menghantar permintaan HTTP, pengekodan data JSON dan penyahkodan, pengesahan keselamatan utama API, pemprosesan giliran yang memakan masa yang memakan masa, pengendalian ralat yang teguh dan mekanisme semula, penyimpanan imej dan paparan; 3. Cabaran umum termasuk kos API daripada kawalan, hasil generasi yang tidak terkawal, pengalaman pengguna yang lemah, risiko keselamatan dan pengurusan data yang sukar. Strategi tindak balas menetapkan kuota dan cache pengguna, menyediakan panduan propt dan pemilihan multi-gambar, pemberitahuan asynchronous dan kemajuan kemajuan, penyimpanan pembolehubah persekitaran utama dan audit kandungan, dan penyimpanan awan.

PHP menyedari pengurusan inventori komoditi dan pengewangan PHP penyegerakan inventori dan mekanisme penggera PHP menyedari pengurusan inventori komoditi dan pengewangan PHP penyegerakan inventori dan mekanisme penggera Jul 25, 2025 pm 08:30 PM

PHP memastikan pemotongan inventori atomik melalui urus niaga pangkalan data dan kunci baris forupdate untuk mengelakkan overselling serentak yang tinggi; 2. Konsistensi inventori pelbagai platform bergantung kepada pengurusan berpusat dan penyegerakan yang didorong oleh peristiwa, menggabungkan pemberitahuan API/webhook dan beratur mesej untuk memastikan penghantaran data yang boleh dipercayai; 3. Mekanisme penggera harus menetapkan inventori rendah, sifar/inventori negatif, jualan yang tidak dapat dilepaskan, kitaran penambahan dan strategi turun naik yang tidak normal dalam senario yang berbeza, dan pilih DingTalk, SMS atau orang yang bertanggungjawab e -mel mengikut urgensi, dan maklumat penggera mesti lengkap dan jelas untuk mencapai penyesuaian perniagaan dan tindak balas yang cepat.

Beyond the Lamp Stack: Peranan PHP dalam Senibina Enterprise Moden Beyond the Lamp Stack: Peranan PHP dalam Senibina Enterprise Moden Jul 27, 2025 am 04:31 AM

Phpisstillrelevantinmodernenterpriseenvironments.1.modernphp (7.xand8.x) Menawarkan Perpaduan Perlengkapan, ketegangan, jitcompilation, danmodernsyntax, makeitsuatableforlarge-scaleapplications.2.phpintegratefective

Cara Membina Persekitaran PHP Nginx dengan MACOS Untuk mengkonfigurasi gabungan perkhidmatan nginx dan php Cara Membina Persekitaran PHP Nginx dengan MACOS Untuk mengkonfigurasi gabungan perkhidmatan nginx dan php Jul 25, 2025 pm 08:24 PM

Peranan utama homebrew dalam pembinaan persekitaran MAC adalah untuk memudahkan pemasangan dan pengurusan perisian. 1. Homebrew secara automatik mengendalikan kebergantungan dan merangkumi kompilasi kompleks dan proses pemasangan ke dalam arahan mudah; 2. Menyediakan ekosistem pakej perisian bersatu untuk memastikan penyeragaman lokasi pemasangan perisian dan konfigurasi; 3. Mengintegrasikan fungsi pengurusan perkhidmatan, dan dengan mudah boleh memulakan dan menghentikan perkhidmatan melalui brewservices; 4. Menaik taraf dan penyelenggaraan perisian yang mudah, dan meningkatkan keselamatan dan fungsi sistem.

See all articles