【微信公众平台开发】封装获取天气预报功能
来源:互联网 发布:mac装win10虚拟机 编辑:程序博客网 时间:2024/05/16 01:35
微信公众平台小功能多点,可以增加用户的粘性,不会感觉你微信没内容,就把你给取消关注了。所以得折腾各种有的没的东西。
个人封装天气预报功能代码如下(说明下:网上有很多此类代码,但是要自己理解,就得实际折腾)
<?phpheader('Content-Type:text/html;charset=utf-8');class WeChatMsgType{private $toUserName;private $fromUserName;private $xmlModle;private $createTime;public function SetUserInfo($toUserName,$fromUserName) //设置用户信息{$this->toUserName = $toUserName;$this->fromUserName = $fromUserName;$this->createTime = time();} public function WeatherMsg($cityName)//天气预报信息{$url = "http://api.map.baidu.com/telematics/v3/weather?location=".$cityName."&output=json&ak=11ffd27d38deda622f51c9d314d46b17";$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$output = curl_exec($ch); curl_close($ch);$result = json_decode($output, true);if ($result["error"] != 0){return $result["status"];}$curHour = (int)date('H',time());$weather = $result["results"][0];$ImageTexts = array();$ImageTexts[0] = self::SetImageTextInfo($weather['currentCity'].'天气预报',"", "", "");//$aa=var_export(urldecode(urlencode($weather)),true);//file_put_contents("debug.txt", date("Y-m-d H:i:s",time()).$aa.PHP_EOL,FILE_APPEND);for($i=0; $i<count($weather['weather_data']); $i++){$ImageTexts[$i+1] = self::SetImageTextInfo($weather["weather_data"][$i]["date"]."\n". $weather["weather_data"][$i]["weather"]." ". $weather["weather_data"][$i]["wind"]." ". $weather["weather_data"][$i]["temperature"],"", (($curHour >= 6) && ($curHour < 18))?$weather["weather_data"][$i]["dayPictureUrl"]:$weather["weather_data"][$i]["nightPictureUrl"], "");}return self::ImageTextMsg($ImageTexts);}public function SetImageTextInfo($sTitle, $sDescription, $sPicUrl, $Url) {$item = "<item><Title><![CDATA[%s]]></Title> <Description><![CDATA[%s]]></Description><PicUrl><![CDATA[%s]]></PicUrl><Url><![CDATA[%s]]></Url></item>";$ret=sprintf($item, $sTitle, $sDescription, $sPicUrl,$Url);return $ret;}public function ImageTextMsg($ImageTexts){$this->xmlModle = "<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[news]]></MsgType><ArticleCount>%d</ArticleCount><Articles>";foreach ($ImageTexts as $item){$this->xmlModle = $this->xmlModle.$item;}$this->xmlModle = $this->xmlModle."</Articles></xml>" ;$ret=sprintf($this->xmlModle, $this->fromUserName, $this->toUserName, $this->createTime,count($ImageTexts));return $ret;}}?>
调用用法:
$weChatMsgType = new WeChatMsgType();$weChatMsgType->SetUserInfo($this->toUserName, $this->fromUserName);
$resultStr=$weChatMsgType->WeatherMsg("北京");
注:上面ak同百度周边搜索篇说明一样,不懂看前面
0 0
- 【微信公众平台开发】封装获取天气预报功能
- 微信公众平台开发(五) 天气预报功能开发
- 微信公众平台开发(五) 天气预报功能开发
- 微信公众平台开发(五) 天气预报功能开发
- 微信公众平台开发(五) 天气预报功能开发
- 微信公众平台开发(五) 天气预报功能开发
- 微信公众平台开发(五) 天气预报功能开发
- 微信公众平台开发(五) 天气预报功能开发
- 微信公众平台开发(五) 天气预报功能开发
- 微信公众平台开发(五) 天气预报功能开发
- 微信公众平台实现天气预报功能
- 微信公众平台开发(82) 天气预报
- 微信公众平台开发(82) 天气预报
- 微信公众平台百度天气预报开发
- 微信公众平台开发4:天气预报
- 微信公众号平台天气预报开发
- 微信公众平台开发----天气预报
- 微信公众平台开发(PHP)(五) 天气预报功能开发
- 怎么能开发么做与弹删除又
- 基于Lumisoft.NET组件的POP3邮件接收和删除操作
- filebench介绍
- nginx反向代理配置及优化
- 风语者录音系统(sonicall)更改录音文件命名
- 【微信公众平台开发】封装获取天气预报功能
- 茄皆锹盐诠爸救倥纫凡耗拼卣善纫
- 茄妇战栏蓟醋沂怀翰降贡让翰勾地
- 揽亮式擦父教盖铣课父捅菲崩创耘
- 狗匮扒姑净突浅慌净钟依讨毯冻躺
- 这才是is么做注射删除倌
- 夏令营组织后当一端戏以诖
- 推荐13款JavaScript图形和图表绘制工具
- 盘位wi么?水平及帐蛋