Rumah php教程 php手册 教你用wechat类玩转微信公众号

教你用wechat类玩转微信公众号

Jun 07, 2016 am 11:36 AM

通过wechat类教你实现大部分常见功能,包括查天气,公交路线,机器人的自动回复等。。。记得点个赞哦!
没有公众号可以用的可以用自己的微信号申请一个测试号,功能还是挺全的<?php <br /> <br> namespace Home\Controller;<br> <br> use Think\Controller;<br> <br> <br> class IndexController extends Controller {<br> <br>     public function index() {<br>         $options = array(<br>             'token' => 'ruanqin', // 填写你设定的token<br>             'appid' => '1111111', // 填写高级调用功能的appid<br>             'appsecret' => '11111111' // 填写高级调用功能的密钥<br>         );<br> //这两个类我已放到附件,有需要可以下载<br>         Vendor('weixin.Wechat');<br>         Vendor('weixin.Snoopy');<br>         $weObj = new \Wechat($options);<br> <br>         $weObj->valid(); // 验证key<br>            //获取菜单操作:<br>        $menu = $weObj->getMenu();<br>           //设置菜单<br>        $newmenu =  array(<br>            <br>             'button' => array (<br>                   0 => array (<br>                         'name' => '扫码',<br>                         'sub_button' => array (<br>                             0 => array (<br>                               'type' => 'scancode_waitmsg',<br>                               'name' => '扫码带提示',<br>                               'key' => 'rselfmenu_0_0',<br>                         ),<br>                             1 => array (<br>                               'type' => 'scancode_push',<br>                               'name' => '扫码推事件',<br>                               'key' => 'rselfmenu_0_1',<br>                         ),<br>                     ),<br>                       ),<br>                   1 => array (<br>                     'name' => '发图',<br>                         'sub_button' => array (<br>                             0 => array (<br>                               'type' => 'pic_sysphoto',<br>                               'name' => '系统拍照发图',<br>                               'key' => 'rselfmenu_1_0',<br>                             ),<br>                             1 => array (<br>                               'type' => 'pic_photo_or_album',<br>                               'name' => '拍照或者相册发图',<br>                               'key' => 'rselfmenu_1_1',<br>                             ),<br>                              2 => array (<br>                             'type' => 'view',<br>                             'name' => 'baidu',<br>                             'url' => 'http://www.baidu.com',<br>                             'key' => 'rselfmenu_1_2',<br>                             ),<br>                     ),<br>                       ),<br>                       2 => array (<br>                         'type' => 'location_select',<br>                         'name' => '发送位置',<br>                         'key' => 'rselfmenu_2_0'<br>                       ),<br>                  <br>                     ),<br>          <br>           );<br>    $result = $weObj->createMenu($newmenu);<br> <br> //获得用户发送过来的消息的类型,有"text","music","image"等<br> $type = $weObj->getRev()->getRevType();<br> switch($type) {<br>     case \Wechat::MSGTYPE_TEXT:<br>             //获得用户发送过来的文字消息内容<br>             $content=$weObj->getRev()->getRevContent();<br>             //从消息的结尾数第二个字开始截取,截取两个字<br>             $str = mb_substr($content,-2,2,"UTF-8");<br>             //从消息的开头开始,截掉末尾的两个字,便得关键字。<br>             $str_key = mb_substr($content,0,-2,"UTF-8");<br>             //然后加以判断是否为关键字,是否为空,符合要求则调用函数查询翻译数据<br>             if($str == '翻译' && !empty($str_key)) {<br>                 $url1="http://openapi.baidu.com/public/2.0/bmt/translate?client_id=9peNkh97N6B9GGj9zBke9tGQ&q={$str_key}&from=auto&to=auto";//百度翻译地址<br>                 //实例化采集类<br>                 $spy=new \Snoopy;<br>                 //获取采集来的数据<br>                 $spy->fetch($url1);<br>                 //将结果赋给$con_json<br>                 $con_json=$spy->results;<br>                 //json解析,转换为object对象类型<br>                 $transon=json_decode($con_json);<br>                 //读取翻译内容<br>                 $con_str = $transon->trans_result[0]->dst;<br>                 //以文字的形式输出结果<br>                 $weObj->text("{$con_str}")->reply();<br>             }<br>             //判断是否为关键字,是否为空,符合要求则调用函数查询书本数据<br>             if($str=='书本' && !empty($str_key)) {                              <br>                 $url="http://222.206.65.12/opac/search_rss.php?dept=ALL&title={$str_key}&doctype=ALL&lang_code=ALL&match_flag=forward&displaypg=20&showmode=list&orderby=DESC&sort=CATA_DATE&onlylendable=no";<br>                 $spp=new \Snoopy;<br>                 $spp->fetch($url);<br>                 $fa=$spp->results;<br>                 //将采集获取的XML数据转换成object对象类型<br>                 $f=simplexml_load_string($fa);<br>                 $da1=$f->channel->item[0]->title;<br>                 $da2=$f->channel->item[1]->title;<br>                $da3=$f->channel->item[2]->title;      <br>                $weObj->text("{$da1}\n{$da2}\n{$da3}")->reply();<br>             }<br>                //判断公交路线<br>                  if($str=='公交' && !empty($str_key)){<br>                     <br>                   $strbus=explode(',',$str_key);<br>                  $ch = curl_init();<br>                 $url = "http://apis.baidu.com/apistore/bustransport/buslines?city={$strbus[0]}&busNo={$strbus[1]}";<br>                 $header = array(<br>                     'apikey: 这里的apikey自己去百度APIstore去注册,免费的!' <br>           );<br>                 // 添加apikey到header<br>                 curl_setopt($ch, CURLOPT_HTTPHEADER  , $header);<br>                 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);<br>                 // 执行HTTP请求<br>                 curl_setopt($ch , CURLOPT_URL , $url);<br>                 $res = curl_exec($ch);<br>             <br>                $b=json_decode($res);<br>                $a=$b->retData->result;<br>                $c=simplexml_load_string($a);<br>                $d=$c->lines->line[1]->stats;<br>                $rq=explode(';',$d);<br>                $ww=implode('->',$rq);<br>                $weObj->text("{$ww}")->reply();<br>                 <br>                 }<br>              //景点查询<br>      <br>                  if($str=='景点' && !empty($str_key)){<br>                     <br>                  <br>                 $ch = curl_init();<br>                      $url = "http://apis.baidu.com/apistore/attractions/spot?id={$str_key}&output=json";<br>                 $header = array(<br>                     'apikey: <b>同上</b>',<br>                 );<br>                 // 添加apikey到header<br>                 curl_setopt($ch, CURLOPT_HTTPHEADER  , $header);<br>                 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);<br>                 // 执行HTTP请求<br>                 curl_setopt($ch , CURLOPT_URL , $url);<br>                 $res = curl_exec($ch);<br>             <br>                $a=json_decode($res);<br>                $name=$a->result->name;<br>                $phone=$a->result->telephone; <br>                $abstract=$a->result->abstract; <br>                $description=$a->result->description; <br>                $price=$a->result->ticket_info->price;<br>                $open_time=$a->result->ticket_info->open_time; <br>                      $b="景点名:{$name}\n景点联系电话:{$phone}\n价格:{$price}\n开放时间:{$open_time}\n景点详情:{$abstract}{$description}";<br>                 $weObj->text("{$b}")->reply();     <br>                 <br>                 }<br>   //这里做了一个健康的资讯信息查询,程序员嘛健康还是挺重要的<br>                 if($str=='健康' && !empty($str_key)){<br>                     $url = 'http://apis.baidu.com/yi18/lore/loreclass?id=1';<br>                     $header = array(<br>                         'apikey: 。。。自己申请。。。。。',<br>                     ); <br>                     $thisres=$this->curl($url,$header);<br>                    $a=$this->curl($url,$header);<br>                    $thisres=$a->yi18;  <br>                     for ($i=0; $i                          $q=$thisres[$i]->id;<br>                         $w=$thisres[$i]->name;<br>                         $qq.='';<br>                         $qq.="序号:{$q}--标题:{$w}\n";<br>                     }<br>                      $weObj->text("{$qq}\n请选择您想了解的信息的序号,如:1标题")->reply();<br>                 <br>                 <br>                 }<br>                    if($str=='标题' && !empty($str_key)){<br>                       $ch = curl_init();<br>                        $url = "http://apis.baidu.com/yi18/lore/list?page=1&limit=10&type=id&id={$str_key}";<br>                         $header = array(<br>                             'apikey: 同上',<br>                         ); <br>                         curl_setopt($ch, CURLOPT_HTTPHEADER  , $header);<br>                         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);<br>                         // 执行HTTP请求<br>                         curl_setopt($ch , CURLOPT_URL , $url);<br>                         $res = curl_exec($ch);<br>                         $b=json_decode($res);<br>                        <br>                          $thisres2=$b->yi18; <br>                          foreach ($thisres2 as $key => $value) {<br>                                         $q=$thisres2[$key]->id;<br>                                         $w=$thisres2[$key]->title;<br>                                         $qq.='';<br>                                         $qq.="id:{$q}--信息:{$w}\n";<br>                           } <br>                                     <br>                      $weObj->text("{$qq}\n请选择您想了解的信息的id,如:18069信息")->reply();<br>                     <br>                     }<br>                     if($str=='信息' && !empty($str_key)){<br>                     <br>                     $url = "http://apis.baidu.com/yi18/lore/detail?id={$str_key}";<br>                     $header = array(<br>                         'apikey: ',<br>                     ); <br>                     $a=$this->curl($url,$header);<br>                      $thisres=$a->yi18; <br>          <br>                         $q=$thisres->message;<br>                         $w=$thisres->title;<br>                         //$qq='标题.$w.正文.$q';<br>                       <br>                         <br>                         $qq="标题:{$w}\n正文:{$q}";<br>                         $str=str_replace("<strong>","",$qq);<br>                         $ww=strip_tags($str);<br>                         $weObj->text("{$ww}")->reply();<br>                     <br>                     <br>                     }<br>                                             <br> <br>     <br>             //天气查询<br>             if($str == '天气' && !empty($str_key)) {<br>                 $url="http://api.map.baidu.com/telematics/v2/weather?location={$str_key}&ak=同上";<br>                 $sp=new \Snoopy;<br>                 $sp->fetch($url);<br>                 $l_xml=$sp->results;<br>                 $f=simplexml_load_string($l_xml);<br>                 $city=$f->currentCity;<br>                 $da1=$f->results->result[0]->date;<br>                 $da2=$f->results->result[1]->date;<br>                $da3=$f->results->result[2]->date;     <br>                 $w1=$f->results->result[0]->weather;<br>                 $w2=$f->results->result[1]->weather;<br>                $w3=$f->results->result[2]->weather;       <br>                 $p1=$f->results->result[0]->wind;<br>                 $p2=$f->results->result[1]->wind;<br>                $p3=$f->results->result[2]->wind;<br>                 $q1=$f->results->result[0]->temperature;<br>                 $q2=$f->results->result[1]->temperature;<br>                $q3=$f->results->result[2]->temperature;<br>                $k1=$f->results->result[0]->dayPictureUrl; <br>                $k2=$f->results->result[1]->dayPictureUrl;<br>                $k3=$f->results->result[2]->dayPictureUrl;    <br>                 $d1=$city.$da1.$w1.$p1.$q1;<br>                 $d2=$city.$da2.$w2.$p2.$q2;<br>                 $d3=$city.$da3.$w3.$p3.$q3;<br>                 $weObj->text("{$d1}\n{$d2}\n{$d3}")->reply();<br>             }<br> <br>             //剩下的任务就交给机器人自己去完成吧!;<br>            //这里我使用的是图灵机器人,通过我女朋友和机器人聊天实验表明还是付费的机器人比较聪明,免费的有点傻傻的,所以土豪们可以选择付费的,按条数付费的<br>             <br>             else {<br>              <br>                  $strurl="http://www.tuling123.com/openapi/api?key=自己申请个key吧&info={$content}";<br>                 $xhy=new \Snoopy;<br>                 $xhy->fetch($strurl);<br>                 $x_json=$xhy->results;<br>                 $strjson=json_decode($x_json);<br>                 //$a=var_dump($strjson);<br>                 $contentStr = $strjson->text;<br>                 //$weObj->text("{$contentStr}")->reply();<br>                 $weObj->text("{$contentStr}")->reply();<br>             }<br>             break;<br> <br>     case \Wechat::MSGTYPE_LOCATION:<br>                 //接收消息的地理位置<br>                 $arr1=$weObj->getRev()->getRevGeo();<br>                 $snoopy=new \Snoopy;<br>                 $url="http://api.map.baidu.com/telematics/v2/distance?waypoints=填你的位置的经纬度;{$arr1['x']},{$arr1['y']}&ak=同上";<br>                 $snoopy->fetch($url);<br>                 $lines_string=$snoopy->results; <br>                 $fk=simplexml_load_string($lines_string);<br>                 $juli=$fk->results->distance;<br>                 $contentstring="你和我的距离有{$juli}米远";<br>                 $weObj->text("{$contentstring}")->reply();<br>             break;<br>     //接受图片回复文字,也可以回复图片,你们自由发挥吧<br>     case \Wechat::MSGTYPE_IMAGE:<br>                 $b=" ";<br>                 $a=rand(1,3);<br>                  switch ($a)<br>                  {case 1;<br>                  $b="你傻逼啊,发这么二的图片";<br>                  break;<br>                  case 2;<br>                  $b="跟你一样丑";<br>                  break;<br>                  default;<br>                  $b="啊,我的天哪";    <br>                  }                                                                       <br>                 $weObj->text("哈哈我知道这是图片\n:{$b}")->reply();<br>                 //exit; <br>             break;<br>     //实现首次关注回复功能<br>     case \Wechat::MSGTYPE_EVENT:<br>             $msgEvent=$weObj->getRev()->getRevEvent();<br>            <br>             $weObj->text("感谢您关注阮琴专用测试版公众号\n查天气:城市+天气,如广州天气\n翻译:字词+翻译,如好翻译\n测距:发送位置\n查书:书名+书本,如php书本\n听歌:回复音乐\n查公交路线,如杭州,151公交\n健康知识:任意字+健康,如,查健康\n景点查询:景点名(请使用拼音)+景点如xihu景点\n还可选择发送图片,搞笑也会来和大家聊天哦!\n更多内容,敬请期待...")<br>                    ->reply();<br>             break;<br>     <br>     default:<br>             $weObj->text("查天气:城市+天气,如广州天气\n翻译:字词+翻译,如好翻译\n测距:发送位置\n查书:书名+书本,如php书本\n听歌:回复音乐\n还可选择发送图片,谢谢你的关注,更多内容,敬请期待...")->reply();<br>  <br> }<br>     }<br>    <br> }     </strong>

附件 weixin.zip ( 20.27 KB 下载:203 次 )

AD:真正免费,域名+虚机+企业邮箱=0元

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

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.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

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)

Terdapat khabar angin bahawa 'iPhone 16 mungkin tidak menyokong WeChat', dan perunding teknikal Apple di China berkata bahawa ia sedang berkomunikasi dengan Tencent tentang komisen kedai aplikasi Terdapat khabar angin bahawa 'iPhone 16 mungkin tidak menyokong WeChat', dan perunding teknikal Apple di China berkata bahawa ia sedang berkomunikasi dengan Tencent tentang komisen kedai aplikasi Sep 02, 2024 pm 10:45 PM

Terima kasih kepada netizen Qing Qiechensi, HH_KK, Satomi Ishihara dan Wu Yanzu dari China Selatan kerana menyerahkan petunjuk! Menurut berita pada 2 September, terdapat khabar angin baru-baru ini bahawa "iPhone 16 mungkin tidak menyokong WeChat." Sebagai tindak balas kepada ini, seorang wartawan dari Shell Finance memanggil talian panas rasmi Apple di China menjawab bahawa sama ada sistem iOS atau peranti Apple boleh teruskan menggunakan WeChat, dan WeChat Isu sama ada ia boleh terus disenaraikan dan dimuat turun di Apple App Store memerlukan komunikasi dan perbincangan antara Apple dan Tencent untuk menentukan situasi masa depan. Perisian App Store dan WeChat Perihalan Masalah Perisian Perunding teknikal App Store menegaskan bahawa pembangun mungkin perlu membayar yuran untuk meletakkan perisian pada Apple Store. Selepas mencapai bilangan muat turun tertentu, Apple perlu membayar yuran yang sepadan untuk muat turun berikutnya. Apple sedang aktif berkomunikasi dengan Tencent,

Tutorial Generasi Imej DeepSeek Tutorial Generasi Imej DeepSeek Feb 19, 2025 pm 04:15 PM

DeepSeek: Alat Generasi Imej AI yang kuat! DeepSeek sendiri bukan alat penjanaan imej, tetapi teknologi terasnya yang kuat memberikan sokongan yang mendasari untuk banyak alat lukisan AI. Ingin tahu cara menggunakan DeepSeek untuk menjana imej secara tidak langsung? Sila teruskan membaca! Menjana imej dengan alat AI berasaskan DeepSeek: Langkah-langkah berikut akan membimbing anda untuk menggunakan alat ini: Lancarkan alat lukisan AI: Cari dan buka alat lukisan AI berasaskan Deepseek (contohnya, cari "AI Simple"). Pilih Mod Lukisan: Pilih "Lukisan AI" atau fungsi yang serupa, dan pilih Jenis Imej mengikut keperluan anda, seperti "Anime Avatar", "Landskap"

Orang yang biasa dengan perkara itu menjawab bahawa 'WeChat mungkin tidak menyokong Apple iPhone 16': Khabar angin adalah khabar angin Orang yang biasa dengan perkara itu menjawab bahawa 'WeChat mungkin tidak menyokong Apple iPhone 16': Khabar angin adalah khabar angin Sep 02, 2024 pm 10:43 PM

Khabar angin WeChat menyokong iPhone 16 telah ditolak Terima kasih kepada netizen Xi Chuang Jiu Shi dan HH_KK kerana menyerahkan petunjuk! Menurut berita pada 2 September, terdapat khabar angin hari ini bahawa WeChat mungkin tidak menyokong iPhone 16. Setelah iPhone dinaik taraf kepada sistem iOS 18.2, ia tidak akan dapat menggunakan WeChat. Menurut "Berita Ekonomi Harian", diketahui daripada orang yang biasa dengan perkara itu bahawa khabar angin ini adalah khabar angin. Maklum balas Apple: Menurut Shell Finance, perunding teknikal Apple di China menjawab bahawa isu sama ada WeChat boleh terus digunakan pada sistem iOS atau peranti Apple, dan sama ada WeChat boleh terus disenaraikan dan dimuat turun di Apple App Store, perlu diselesaikan antara Apple dan Tencent Hanya melalui komunikasi dan perbincangan kita boleh menentukan situasi masa depan. Pada masa ini, Apple sedang aktif berkomunikasi dengan Tencent untuk mengesahkan sama ada Tencent akan meneruskan

Laman Web Platform Perdagangan Laman Web Gateio Cina. Laman Web Platform Perdagangan Laman Web Gateio Cina. Feb 21, 2025 pm 03:06 PM

Gate.io, sebuah platform perdagangan cryptocurrency terkemuka yang ditubuhkan pada tahun 2013, menyediakan pengguna Cina dengan laman web rasmi Cina yang lengkap. Laman web ini menyediakan pelbagai perkhidmatan, termasuk perdagangan tempat, perdagangan niaga hadapan dan pinjaman, dan menyediakan ciri khas seperti antara muka Cina, sumber yang kaya dan sokongan masyarakat.

Senarai yuran pengendalian untuk platform perdagangan okx Senarai yuran pengendalian untuk platform perdagangan okx Feb 15, 2025 pm 03:09 PM

Platform perdagangan OKX menawarkan pelbagai kadar, termasuk yuran transaksi, yuran pengeluaran dan yuran pembiayaan. Untuk urus niaga tempat, yuran urus niaga berbeza -beza mengikut jumlah urus niaga dan tahap VIP, dan mengamalkan "model pembuat pasaran", iaitu, pasaran mengenakan bayaran pengendalian yang lebih rendah untuk setiap transaksi. Di samping itu, OKX juga menawarkan pelbagai kontrak niaga hadapan, termasuk kontrak standard mata wang, kontrak USDT dan kontrak penghantaran, dan struktur yuran setiap kontrak juga berbeza.

GATEIO EXCHANGE Versi lama Gateio Exchange App Versi Lama Saluran Muat turun GATEIO EXCHANGE Versi lama Gateio Exchange App Versi Lama Saluran Muat turun Mar 04, 2025 pm 11:36 PM

Saluran muat turun aplikasi gerbang untuk versi lama, meliputi pasaran aplikasi rasmi, pihak ketiga, komuniti forum dan saluran lain.

Pintu Masuk Masuk Log Masuk Masuk. Pintu Masuk Masuk Log Masuk Masuk. Mar 04, 2025 pm 04:51 PM

Gate.io (Pintu Terbuka Sesame) adalah platform perdagangan cryptocurrency terkemuka di dunia. Tutorial ini meliputi langkah -langkah seperti pendaftaran akaun dan log masuk, pensijilan KYC, mata wang fiat dan mata wang digital, pemilihan pasangan dagangan, pesanan urus niaga/pasaran, dan pesanan dan rekod transaksi melihat, membantu anda memulakan platform GATE.IO untuk perdagangan cryptocurrency. Sama ada pemula atau veteran, anda boleh mendapat manfaat daripada tutorial ini dan mudah menguasai kemahiran perdagangan Gate.io.

Tutorial muat turun domestik Tutorial muat turun domestik Mar 21, 2025 pm 05:42 PM

Artikel ini menyediakan panduan terperinci untuk muat turun selamat aplikasi OUYI OKX di China. Oleh kerana sekatan ke kedai aplikasi domestik, pengguna dinasihatkan untuk memuat turun aplikasi melalui laman web rasmi OUYI OKX, atau menggunakan kod QR yang disediakan oleh laman web rasmi untuk mengimbas dan memuat turun. Semasa proses muat turun, pastikan anda mengesahkan alamat laman web rasmi, periksa kebenaran aplikasi, lakukan imbasan keselamatan selepas pemasangan, dan membolehkan pengesahan dua faktor. Semasa penggunaan, sila mematuhi undang -undang dan peraturan tempatan, gunakan persekitaran rangkaian yang selamat, melindungi keselamatan akaun, berhati -hati terhadap penipuan, dan melabur secara rasional. Artikel ini hanya untuk rujukan dan tidak menjadi nasihat pelaburan.

See all articles