>php教程 >php手册 >微信三、歌曲点播

微信三、歌曲点播

WBOY
WBOY원래의
2016-06-07 11:42:481282검색

歌曲点播
微信点歌其实已有很多博客写过,不过重复超超轮子就当锻炼锻炼身体嘛。先上效果图

微信三、歌曲点播

回复2.2@谢谢你的爱,它先会去找这首歌,然后返回回来,如果找的不是你想点的歌曲,则需要中上歌手名称,如2.2@谢谢你的爱谢霆锋

微信三、歌曲点播

代码部分如下

1、统一回复调用方法//这里只对文本消息进行处理<br> private function reply($data){<br>     if('text' == $data['MsgType']){<br>         $text=$data["Content"];<br>         if($text=="?"){<br>             return $this->get_main_datas();<br>         }<br>         $_menu_text=strpos($text,"@")===false?$text:(string)doubleval($text);//当需要查询时,指令为1.1@xxx使用进行doubleval转换<br>         if(array_key_exists($_menu_text, $this->all_info)){//存在于菜单中,当输入,1 2 3 时<br>             return $this->get_replay_datas($_menu_text,$text,$data["FromUserName"]);<br>         }<br>         return $this->hello();<br>     } elseif('event' == $data['MsgType'] && 'subscribe' == $data['Event']){<br>         //订阅写入数据表<br>         return $this->hello();<br>         //$reply = array('欢迎您关注桂林小魔方童装公众助手! 打开我们的网站:http://aidemofang.com 可以了解最新的款式和价格.', 'text');<br>     } else {<br>         exit;<br>     }<br> }<br>      <br>     //取得回复的信息<br>     private function get_replay_datas($_menu_text,$text,$fromUser){<br>         $menu_text=strlen($_menu_text)==1?$_menu_text-1:$_menu_text;<br>         $method = $this->get_method($menu_text);<br>         $param=null;<br>         if(strpos($text,"@")!==false){<br>             $arr = preg_split("/@/", $text);<br>             $param=$arr[1];<br>         }<br>         return $this->$method($param,$fromUser);<br>     } 2、点歌实现//歌曲点播<br>     public function get_song($song_title,$fromUser){<br>         //$song_title="春天里";<br>   <br>         $m_param=array(<br>             "op"    =>"7",<br>             "mode"  =>"1",<br>             "count" =>"1",<br>             "title" =>$song_title<br>         );<br>         $song_datas=http("http://box.zhangmen.baidu.com/x",$m_param);  <br>         $song_utf8=utf8($song_datas,"gbk");<br>   <br>         preg_match_all('/\<name>(.*?)\/s', $song_utf8, $matchs); <br>         if(count($matchs)>1){<br>             $song_name=$matchs[1][0];<br>         }<br>         if(empty($song_name)){<br>             return array("未找到这首歌,检查一下网络或咱们换一首吧.","text");<br>         }<br>   <br>         $param=array(<br>             "op"    =>"12",<br>             "count" =>"1",<br>             "title" =>trim("$song_name")<br>         );<br>         //查找作者的这首歌<br>         $datas=http("http://box.zhangmen.baidu.com/x",$param);<br>   <br>         $xml = new DOMDocument(); <br>         $xml->loadXML($datas);<br>   <br>         $lst=$xml->getElementsByTagName('encode');<br>   <br>         //普通质量地址<br>         $item=$lst->item(0);<br>         $pre=$item->nodeValue;<br>         $suffix=$item->nextSibling->nodeValue;<br>         $MusicURL=str_replace(strrchr($pre, "/"),"",$pre)."/".str_replace(strrchr($suffix, "&"),"",$suffix);<br>   <br>   <br>         //高质量地址<br>         $item=$lst->item(0);<br>         $pre=$item->nodeValue;<br>         $suffix=$item->nextSibling->nodeValue;<br>         $HQMusicUrl=str_replace(strrchr($pre, "/"),"",$pre)."/".str_replace(strrchr($suffix, "&"),"",$suffix);<br>   <br>   <br>         $datas=array();<br>         $datas[]=str_replace('$', "", $song_name);//音乐标题<br>         $datas[]="来自互联网";//音乐描述<br>         $datas[]="$MusicURL";//音乐链接<br>         $datas[]="$HQMusicUrl";//高质量音乐链接,WIFI环境优先使用该链接播放音乐<br>   <br>         $this->sendLyric(str_replace('$$', "-", $song_name),$fromUser);<br>         return array($datas,"music");<br>   <br>     }<br>   <br>     private function sendLyric($song_name,$fromUser){<br>         $param=array(<br>             "key"   => "free",<br>             "appid" =>   "0",<br>             "msg"   =>   "歌词".$song_name<br>         );<br>         $datas=http("http://api.ajaxsns.com/api.php",$param);<br>         $json=json_decode($datas);<br>         if($json->result==0){<br>             $content=str_replace("{br}","\n",$json->content);<br>             $content.="\n\n小助手:回复 @ 进入主界面";<br>             import('@.ORG.ThinkWechat');<br>             $weixin = new ThinkWechat ();<br>             $result=$weixin->sendMsg($content, $fromUser, "text" );//发送歌词<br>   <br>             Log::write(" init data ->".$fromUser." ,content =$content");<br>             Log::write("result -> ".print_r($result,true));<br>         }<br>           <br>     }</name>\>微信三、歌曲点播

微信三、歌曲点播

休闲豆http://www.xiuxiandou.com

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.