首页 > 作文

微信公众平台天气预报功能开发

更新时间:2023-04-06 22:19:30 阅读: 评论:0

本来是想自己直接从中国天气网获取信息并处理,后来发现处理起来太麻烦,而且要获取所有城市的城市编码,再有就是!不支持国外天气!!(我们学校有很多毕业生在国外上学,所以我考虑还是做出支持国外天气的版本)

因此考虑直接调用别人的api,一开始选用了方倍工作室已经做好的接口(无奈也没有国外)。直到有一天返回北京天气温度是零下的时候(当时天热到不敢出门)。。。换!换!换!

后来终于发现最靠谱的接口—-百度的天气api。

废话少说,首先大家要上 百度地图api申请一个专用key(大概一分钟就搞定了,很方便)
代码如下:

//图文信息2 for 天气【这是微信的图文信息模板】  $tqtpl = "<xml><tourname><![cdata[%s]]>流星物语</tourname><fromurname><![cdata[%s]]></fromurname><createtime>%s</createtime><msgtype><![cdata[%s]]></msgtype><articlecount>5</articlecount><articles><item><t酒店管理学itle><![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><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><item><title><![cdata[%s]]></title><description><![cdata[%s]]></description><picurl><![cdata[%s]]></picur浙江科技大学l><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> ";//最后发现最多只能看到五个item= =无语。。。

php代码

if(substr_count($keyword,'天气')!=0 && $keyword!='天气')  {    $geshu = substr_count($keyword,'天气');   $t = explode("天气",$keyword);      for($i=0;$i<=$geshu;$i++)   {    if($t[$i]!='')    {    $city = $t[$i];    break;    }       }   $mykey = "【这里换成你的api key】";   $url = "/d/file/titlepic/weather   $output = file_get_contents($url);   $contentstr = json_decode($output, true);      if($contentstr['status']=='success')   {        $t[0]['title']=$contentstr['date']." ".$contentstr['results'][0]['currentcity']."天气";//$t[0]['picurl']="http://zhengwairen-try2.stor.sinaapp.com/xytq.jpg";//$t[0]['url']="http://zhengwairen-try2.stor.sinaapp.com/xytq.jpg";    //上面两行可以设成你想要的顶部图片    if(is_array($contentstr['results'][0]['index']))    {    $t[2]['title']="【pm2.5】".$contentstr['results'][0]['pm25']."\n"."【".$contentstr['results'][0]['index'][0]['title']."】"."(".$contentstr['results'][0]['index'][0]['zs'].") ".$contentstr['results'][0]['index'][0]['des'];    //下一行是洗车指数,感觉不对主题还是不要的好。。    //$t[2]['title']=$t[2]['title']."\n"."【".$contentstr['results'][0]['index'][1]['title']."】(".$contentstr['results'][0]['index'][1]['zs'].") ".$contentstr['results'][0]['index'][1]['des'];    $t[2]['title']=$t[2]['title']."\n"."【".$contentstr['results'][0]['index'][2]['title']."】(".$contentstr['results'][0]['index'][2]['zs'].") ".$contentstr['results'][0]['index'][2]['des'];    }    el    $guowai=1;    for($i=1,$aaa=0;$i<=5;$i++)    {    if($i==2 && $guowai!=1)     continue;    if($guowai==1 && $i==5)     continue;    $t[$i]['title']=$contentstr['results'][0]['weather_data'][$aaa]['date']." ".$contentstr['re悄悄sults'][0]['weather_data'][$aaa]['temper辽宁省艺术学校ature']." ".$contentstr['results'][0]['weather_data'][$aaa]['weather']." ".$contentstr['results'][0]['weather_data'][$aaa]['wind'];    $t[$i]['picurl']=$contentstr['results'][0]['weather_data'][$aaa]['daypictureurl'];    $t[$i]['url']=$contentstr['results'][0]['weather_data'][$aaa]['daypictureurl'];    $aaa++;    }        $tianqi = sprintf($tqtpl,$fromurname,$tourname,time(),"news",$t[0]['title'],$t[0]['description'],$t[0]['picurl'],$t[0]['url'], $t[1]['title'],$t[1]['description'],$t[1]['picurl'],$t[1]['url'], $t[2]['title'],$t[2]['description'],$t[2]['picurl'],$t[2]['url'], $t[3]['title'],$t[3]['description'],$t[3]['picurl'],$t[3]['url'], $t[4]['title'],$t[4]['description'],$t[4]['picurl'],$t[4]['url'],$t[5]['title'],$t[5]['description'],$t[5]['picurl'],$t[5]['url']);    echo $tianqi;   }   }

效果图如下:

将其中的$mykey变量改成自己的apikey就行了。另外有一点让我不解的是,我微信用的图文模板明明是6个item,为什么回复实际效果只有5个呢= = 求广大网友帮忙解释

最后附代码说明。用户发送“北京天气”和“天气北京”都是可以的,所以首先做了字符串处理,得到正确的城市名。利用百度地图api给的网址,发出get请求(其实就是直接访问),获取一个json类型的数据包。将数据包信息转成数组格式,对应的回复微信用户即可。国外的天气没有当天天气的具体说明,所以最后做了一点小修改。

本文发布于:2023-04-06 22:19:26,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/039ae4901ae1dd5c98626694523da61d.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:微信公众平台天气预报功能开发.doc

本文 PDF 下载地址:微信公众平台天气预报功能开发.pdf

标签:天气   国外   北京   信息
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图