微信微信里的励志天气预报报人生感悟

阅读本文前,请您先点击上面的蓝色字体“微感悟人生”,再点击“关注”,这样您就可以继续免费收到文章了。每天都有分享。完全是免费订阅,请放心关注。男人再牛,出门在外,帽子的颜色,随时由妻子决定。女人再美,不懂矜持,就像吃方便面时看见死苍蝇,看着都想吐朋友再好,别轻易称兄道弟,因为,药费太贵,好多人两肋都插不了刀。父母再坏,生你养你,永远开着大门等你归来,要尽孝。生活总嘲笑我们太年轻,可青春却不经易老去。人生如戏,别老想当主角,因为,潜规则里灵魂和肉体都得不到安息。耳根太轻,只能让心沉重,亲眼看到的都未必是真的,何况只是听说。感情再固,折腾多了,容易出现裂缝。天太黑,如果不睡,白天也许就是黑夜。人再傻,世界这么大,最傻还轮不到你,别放心上,下次不犯就是了。男儿无泪,那是边上有人,有时笑着、心却已经碎了。沉默寡言,并非装酷,只是把废话临口吞下。向你伸出手的不一定是真心想救你,有时只是打下招呼而已,要学会自救。女人挺胸只是为了秀她的事业线,男人挺胸,是为了维护他高傲的自尊。爱情虽美,它最伤人,别轻易转身,否则,它将伤痛一辈子。你再有钱不懂得孝顺父母,照样别人瞧不起你。这年头,有纹身的都怕热,用苹果的都没兜,带手表的爱拍腿,镶金牙的爱咧嘴。现如今,没结婚的像结婚的一样同居,结婚的像没结婚的一样分居。动物像人一样穿衣服,人像动物一样露着肉。小孩子像大人一样成熟,大人像小孩子一样幼稚。女人像男人一样爷们,男人像女人一样娘们。没钱的像有钱的一样装富,有钱的像没钱的一样装穷。情人像夫人一样四处招摇,夫人像情人一样深入简出。网上说:现在存折里不到百万的,不叫存款,叫余额。审视了一下自己,原来,自己的那点只能叫手续费,有时候连手续费都不足。慢慢明白了,戴三百块的表和三百万的表,时间是一样的;喝三十块的酒和三千块的酒,呕吐是一样的;住三十平米的房和三百平米的房,孤独是一样的。总有一天你会知道,你内心真正的快乐,是物质世界永远给予不了的…抽十块的烟和抽100块的烟都会得肺癌,坐头等舱和坐经济舱失联了一样都回不来...所以,想明白了,知足常乐...和谁在一起活着才是最重要的!谁能陪着你才是最难得的!生活已不易!且行且珍惜!图文来自网络 如有侵权请通知我们 
 文章为作者独立观点,不代表微头条立场
的最新文章
阅读本文前,请您先点击上面的蓝色字体“微感悟人生”,再点击“关注”,这样您就可以继续免费收到文章了。每天都有阅读本文前,请您先点击上面的蓝色字体“微感悟人生”,再点击“关注”,这样您就可以继续免费收到文章了。每天都有阅读本文前,请您先点击上面的蓝色字体“微感悟人生”,再点击“关注”,这样您就可以继续免费收到文章了。每天都有阅读本文前,请您先点击上面的蓝色字体“微感悟人生”,再点击“关注”,这样您就可以继续免费收到文章了。每天都有阅读本文前,请您先点击上面的蓝色字体“微感悟人生”,再点击“关注”,这样您就可以继续免费收到文章了。每天都有gh_cc45c3fbcc75热门文章最新文章gh_cc45c3fbcc75精彩微信 - 聚微信,最好的微信公众平台导航
当前位置:生活有意思
紧急通知 元宵节过后极其罕见的天气即将来临,太震撼了,百年难遇!
元宵天气预报傍晚下人民币西北方有支票局部有金块 半夜有零星美元转欧元 请带好钢盔,备好麻袋准备发财 祝您新年提钱快乐 你将会遇到
金钱雨、幸运风,
爱情露、开心闪, 幸福云、顺利霜,
美满雷、安全雹, 伴你整一年
二〇一六百花香, 一条祝福带六香! 一香送你摇钱树, 二香送你贵人扶, 三香送你工作好, 四香送你没烦恼, 五香送你钱满箱, 六香送你康! 祝新年快乐! 2016,生活美好,一路向“钱”! 这束花叫做"有钱花",看到了的人就会有钱花!发给你最疼爱的五个好朋友,不许断在你这儿哦……这条消息还会掉东西下来送给你。想起谁就发给谁,发给五个人也包括我,如果有五个人回你,你的愿望会在明早八点以前实现,恭喜发财!请慢慢的读!用心的读!很受用!好好活,慢慢拖,一年还有一万多;不要攀,不要比,不要自己气自己;少吃盐,多吃醋,少打麻将多散步;按时睡,按时起,跑步跳舞健身体;父是天,母是地,孝尽父母要牢记;多做善事多积德,只要能吃饭,钱就不会断;不怕赚钱少,就怕走得早;福、禄、寿、财各路神仙都来保祐您;反正,微信不用钱! 你还在等什么?不许在你这儿断了哦!祝朋友们:心想事成、万事如意你是第19816个捡到这个文章的人,捡到了不要置之不理,继续往下递。你就是幸福的人!微信公众平台 微信公众平台开发 消息接口 微信天气预报&天气预报接口 中国天气网
一、数据接口
百度提供天气预报查询接口API,可以根据经纬度/城市名查询天气情况,我们可以在微信公众平台开发中调用这一接口。
http://api./telematics/v3/weather?location=北京&output=json&ak=yourak
接口参数说明
参数类型参数名称是否必须具体描述
输入城市名或经纬度,城市名称如:北京或者131,经纬度格式为lng,lat坐标如: location=116..982368;全国值为all,返回省会城市自治区,港澳台天气情况多城市天气预报中间"|"分隔,location=116..2..982368|&.
输出的数据格式,默认为xml格式,当output设置为&json&时,输出的为json格式的数据;
coord_type
请求参数坐标类型,默认为gcj02经纬度坐标。允许的值为bd09ll、bd09mc、gcj02、wgs84。bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托坐标,gcj02表示经过国测局加密的坐标。wgs84表示gps获取的坐标。
参数名称含义说明
currentCity
返回城市名
返回结果状态信息
天气预报信息
白天可返回近期3天的天气情况(今天、明天、后天)、晚上可返回近期4天的天气情况(今天、明天、后天、大后天)
results.currentCity
results.weather_data
weather_data.date
天气预报时间
weather_data.dayPictureUrl
白天的天气预报图片url
weather_data.nightPictureUrl
晚上的天气预报图片url
weather_data.weather
所有天气情况(&|&分隔符):晴|多云|阴|阵雨|雷阵雨|雷阵雨伴有冰雹|雨夹雪|小雨|中雨|大雨|暴雨|大暴雨|特大暴雨|阵雪|小雪|中雪|大雪|暴雪|雾|冻雨|沙尘暴|小雨转中雨|中雨转大雨|大雨转暴雨|暴雨转大暴雨|大暴雨转特大暴雨|小雪转中雪|中雪转大雪|大雪转暴雪|浮尘|扬沙|强沙尘暴|霾
weather_data.wind
weather_data.temperature
返回json格式的数据
"error": 0,
"status": "success",
"date": "",
"results": [
"currentCity": "北京",
"weather_data": [
"date": "周六(今天, 实时:23℃)",
"dayPictureUrl": "http://api./images/weather/day/leizhenyu.png",
"nightPictureUrl": "http://api./images/weather/night/duoyun.png",
"weather": "雷阵雨转多云",
"wind": "北风5-6级",
"temperature": "24 ~ 11℃"
"date": "周日",
"dayPictureUrl": "http://api./images/weather/day/duoyun.png",
"nightPictureUrl": "http://api./images/weather/night/qing.png",
"weather": "多云转晴",
"wind": "北风4-5级",
"temperature": "19 ~ 8℃"
"date": "周一",
"dayPictureUrl": "http://api./images/weather/day/qing.png",
"nightPictureUrl": "http://api./images/weather/night/qing.png",
"weather": "晴",
"wind": "微风",
"temperature": "21 ~ 9℃"
"date": "周二",
"dayPictureUrl": "http://api./images/weather/day/duoyun.png",
"nightPictureUrl": "http://api./images/weather/night/qing.png",
"weather": "多云转晴",
"wind": "微风",
"temperature": "21 ~ 10℃"
二、开发实现
获取百度天气json数据的代码如下:
// var_dump(getWeatherInfo("深圳"));
function getWeatherInfo($cityName)
if ($cityName == "" || (strstr($cityName, "+"))){
return "发送天气+城市,例如'天气深圳'";
$url = "http://api./telematics/v3/weather?location=".urlencode($cityName)."&output=json&ak=ECebfb544eb6aa";
$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];
$weatherArray[] = array("Title" =&$weather['currentCity']."天气预报", "Description" =&"", "PicUrl" =&"", "Url" =&"");
for ($i = 0; $i & count($weather["weather_data"]); $i++) {
$weatherArray[] = array("Title"=&
$weather["weather_data"][$i]["date"]."\n".
$weather["weather_data"][$i]["weather"]." ".
$weather["weather_data"][$i]["wind"]." ".
$weather["weather_data"][$i]["temperature"],
"Description"=&"",
"PicUrl"=&(($curHour &= 6) && ($curHour & 18))?$weather["weather_data"][$i]["dayPictureUrl"]:$weather["weather_data"][$i]["nightPictureUrl"], "Url"=&"");
return $weatherArray;
在微信中调用的方式如下:
方倍工作室
CopyRight 2013 All Rights Reserved
private function receiveText($object)
$keyword = trim($object-&Content);
include("weather2.php");
$content = getWeatherInfo($keyword);
// $result = $this-&transmitText($object, count($content));
$result = $this-&transmitNews($object, $content);
return $result;
三,效果演示
直接发送城市名称查询天气预报
四、其他方式查询
除了城市名称之外,还可以使用邮编、电话区号等方式进行查询,其实是使用转换的方式,比如010是北京的电话区号,就转去查询北京的天气。
你可以下载&&,该数据库是方倍工作室整理收集的主要城市、邮编、区号、拼音、及简拼等城市资料。
开发完成之后,效果如图如示:
使用城市名称、拼音、电话区号查询天气预报
使用邮编、地址位置、语音(声音)查询天气预报
阅读(...) 评论()前面几篇文章对微信公众平台的开通及简单使用做了简单的介绍,但都没有涉及到实际使用中的问题,例如天气查询,公交查询,快递查询等。接下来的几篇文章将对实际生活中会经常使用到的一些功能进行开发讲解,以供读者参考。
这一篇文章将对大家每天都会关心的天气查询进行开发,例如,用户发送消息 &苏州天气&,则会返回苏州实时天气状况,以及未来两天甚至未来五天的天气状况。
二、思路分析
首先要对用户发送过来的消息进行判断,判断消息里是否含有&天气&关键字,如果含有,则需要继续提取地区信息,然后再通过中国天气网()提供的开放API进行相关地区天气查询。
三、关键字判断与地区读取
用户发送过来查询天气的消息的格式是固定好的,即 &地区+天气&,所以首先截取后两个字,判断是否为 &天气& 关键字。
使用php函数 mb_substr() 截取,关于该函数的用法:
mb_substr & 获取字符串的部分
  string mb_substr ( string $str , int $start [, int $length [, string $encoding ]] )
说明:根据字符数执行一个多字节安全的 substr() 操作。 位置是从 str 的开始位置进行计数。 第一个字符的位置是 0。第二个字符的位置是 1,以此类推。
从该 string 中提取子字符串。
str 中要使用的第一个字符的位置。正数 -& 从字符串开头指定位置开始;负数 -& 从字符串结尾指定位置开始;
str 中要使用的最大字符数。正数 -& 从 start 处开始最多包括 length 个字符;负数 -& string 末尾处的 length 个字符将会被漏掉(若 start 是负数则从字符串开头算起)。
encoding 参数为字符编码。如果省略,则使用内部字符编码。
mb_substr() 函数根据 start 和 length 参数返回 str 中指定的部分。
$str = mb_substr($keyword,-2,2,"UTF-8");
从消息的结尾数第二个字符开始截取,截取两个字符,然后加以判断是否为 &天气& 关键字。
下面进行地区提取,还是使用&mb_substr() 函数。
$str_key = mb_substr($keyword,0,-2,"UTF-8");
从消息的开头开始,截掉末尾的两个字符(天气),既得地区关键字。
然后进行判断,继而调用函数查询天气数据。
if($str == '天气' && !empty($str_key))
//调用函数查询天气数据
四、调用 weather() 函数查询
我们这里调用的是中国国家气象局提供的天气预报API接口,接口地址:.cn/data/.html
URL中的数字指代城市的编号(苏州),其他城市对应关系将在下面提供。
该接口返回信息比较全面,也是以json格式提供,格式如下:
{"weatherinfo":{//基本信息;
"city":"苏州","city_en":"suzhou",
"date_y":"日","date":"","week":"星期二","fchh":"18","cityid":"",//摄氏温度
"temp1":"30℃~37℃",
"temp2":"30℃~37℃",
"temp3":"29℃~35℃",
"temp4":"27℃~33℃",
"temp5":"27℃~31℃",
"temp6":"27℃~35℃",//华氏温度;
"tempF1":"86℉~98.6℉",
"tempF2":"86℉~98.6℉",
"tempF3":"84.2℉~95℉",
"tempF4":"80.6℉~91.4℉",
"tempF5":"80.6℉~87.8℉",
"tempF6":"80.6℉~95℉",//天气描述;
"weather1":"晴转多云",
"weather2":"晴转多云",
"weather3":"晴转多云",
"weather4":"多云",
"weather5":"雷阵雨转中雨",
"weather6":"雷阵雨转多云",//天气描述图片序号
"img1":"0",
"img2":"1",
"img3":"0",
"img4":"1",
"img5":"0",
"img6":"1",
"img7":"1",
"img8":"99",
"img9":"4",
"img10":"8",
"img11":"4",
"img12":"1",//图片名称;
"img_single":"1",
"img_title1":"晴",
"img_title2":"多云",
"img_title3":"晴",
"img_title4":"多云",
"img_title5":"晴",
"img_title6":"多云",
"img_title7":"多云",
"img_title8":"多云",
"img_title9":"雷阵雨",
"img_title10":"中雨",
"img_title11":"雷阵雨",
"img_title12":"多云",
"img_title_single":"多云",//风速描述
"wind1":"西南风3-4级",
"wind2":"西南风3-4级",
"wind3":"东南风3-4级",
"wind4":"东南风3-4级转4-5级",
"wind5":"东南风4-5级转西南风3-4级",
"wind6":"西南风3-4级转4-5级",//风速级别描述
"fx1":"西南风",
"fx2":"西南风",
"fl1":"3-4级",
"fl2":"3-4级",
"fl3":"3-4级",
"fl4":"3-4级转4-5级",
"fl5":"4-5级转3-4级",
"fl6":"3-4级转4-5级",//今日穿衣指数;
"index":"炎热",
"index_d":"天气炎热,建议着短衫、短裙、短裤、薄型T恤衫等清凉夏季服装。",//48小时穿衣指数
"index48":"炎热",
"index48_d":"天气炎热,建议着短衫、短裙、短裤、薄型T恤衫等清凉夏季服装。",//紫外线及48小时紫外线
"index_uv":"中等",
"index48_uv":"中等",//洗车指数
"index_xc":"适宜",//旅游指数
"index_tr":"较不宜",//舒适指数
"index_co":"很不舒适",
"st1":"36",
"st2":"28",
"st3":"36",
"st4":"28",
"st5":"34",
"st6":"27",//晨练指数
"index_cl":"较适宜",//晾晒指数
"index_ls":"适宜",//过敏指数
"index_ag":"不易发"}}
我们可以通过解析JSON,获取相应城市的天气数据。
weather() 函数如下:
private function weather($n){
include("weather_cityId.php");
$c_name=$weather_cityId[$n];
if(!empty($c_name)){
$json=file_get_contents(".cn/data/".$c_name.".html");
return json_decode($json);
return null;
这里include 了一个城市对应关系文件 weather_cityId.php,格式如下:
$weather_cityId = array("北京"=&"","上海"=&"","苏州"=&"");
根据传入的城市名,得到城市代码,如果不为空,则调用中国天气网的API进行查询,返回json格式的数据,然后进行解析并返回数据,如果为空,则返回null值。
五、组织回复消息形式
判断返回数据是否为空,若为空,则&$contentStr = "抱歉,没有查到\"".$str_key."\"的天气信息!";
若返回数据不为空,则:
$contentStr = "【".$data-&weatherinfo-&city."天气预报】\n".$data-&weatherinfo-&date_y." ".$data-&weatherinfo-&fchh."时发布"."\n\n实时天气\n".$data-&weatherinfo-&weather1." ".$data-&weatherinfo-&temp1." ".$data-&weatherinfo-&wind1."\n\n温馨提示:".$data-&weatherinfo-&index_d."\n\n明天\n".$data-&weatherinfo-&weather2." ".$data-&weatherinfo-&temp2." ".$data-&weatherinfo-&wind2."\n\n后天\n".$data-&weatherinfo-&weather3." ".$data-&weatherinfo-&temp3." ".$data-&weatherinfo-&wind3;
$data-&weatherinfo-&city  //获取城市名,这里为苏州
$data-&weatherinfo-&date_y  //获取日期,这里为日
$data-&weatherinfo-&fchh  //数据发布时间
$data-&weatherinfo-&weather1  //实时天气
$data-&weatherinfo-&temp1  //实时温度
$data-&weatherinfo-&wind1  //实时风向和风速
$data-&weatherinfo-&index_d  //穿衣指数
weather2, temp2, wind2 分别代表了明天的天气,温度和风向风速,其他的以此类推。
\n  //表示换行
七、完整代码
* wechat php test
//define your token
define("TOKEN", "zhuojin");
$wechatObj = new wechatCallbackapiTest();
$wechatObj-&responseMsg();
//$wechatObj-&valid();
class wechatCallbackapiTest
/*public function valid()
$echoStr = $_GET["echostr"];
//valid signature , option
if($this-&checkSignature()){
echo $echoS
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);
$RX_TYPE = trim($postObj-&MsgType);
switch($RX_TYPE)
case "text":
$resultStr = $this-&handleText($postObj);
case "event":
$resultStr = $this-&handleEvent($postObj);
$resultStr = "Unknow msg type: ".$RX_TYPE;
echo $resultStr;
public function handleText($postObj)
$fromUsername = $postObj-&FromUserN
$toUsername = $postObj-&ToUserN
$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&
if(!empty( $keyword ))
$msgType = "text";
$str = mb_substr($keyword,-2,2,"UTF-8");
$str_key = mb_substr($keyword,0,-2,"UTF-8");
if($str == '天气' && !empty($str_key)){
$data = $this-&weather($str_key);
if(empty($data-&weatherinfo)){
$contentStr = "抱歉,没有查到\"".$str_key."\"的天气信息!";
$contentStr = "【".$data-&weatherinfo-&city."天气预报】\n".$data-&weatherinfo-&date_y." ".$data-&weatherinfo-&fchh."时发布"."\n\n实时天气\n".$data-&weatherinfo-&weather1." ".$data-&weatherinfo-&temp1." ".$data-&weatherinfo-&wind1."\n\n温馨提示:".$data-&weatherinfo-&index_d."\n\n明天\n".$data-&weatherinfo-&weather2." ".$data-&weatherinfo-&temp2." ".$data-&weatherinfo-&wind2."\n\n后天\n".$data-&weatherinfo-&weather3." ".$data-&weatherinfo-&temp3." ".$data-&weatherinfo-&wind3;
$contentStr = "感谢您关注【卓锦苏州】"."\n"."微信号:zhuojinsz"."\n"."卓越锦绣,名城苏州,我们为您提供苏州本地生活指南,苏州相关信息查询,做最好的苏州微信平台。"."\n"."目前平台功能如下:"."\n"."【1】 查天气,如输入:苏州天气"."\n"."【2】 查公交,如输入:苏州公交178"."\n"."【3】 翻译,如输入:翻译I love you"."\n"."【4】 苏州信息查询,如输入:苏州观前街"."\n"."更多内容,敬请期待...";
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultStr;
echo "Input something...";
public function handleEvent($object)
$contentStr = "";
switch ($object-&Event)
case "subscribe":
$contentStr = "感谢您关注【卓锦苏州】"."\n"."微信号:zhuojinsz"."\n"."卓越锦绣,名城苏州,我们为您提供苏州本地生活指南,苏州相关信息查询,做最好的苏州微信平台。"."\n"."目前平台功能如下:"."\n"."【1】 查天气,如输入:苏州天气"."\n"."【2】 查公交,如输入:苏州公交178"."\n"."【3】 翻译,如输入:翻译I love you"."\n"."【4】 苏州信息查询,如输入:苏州观前街"."\n"."更多内容,敬请期待...";
$contentStr = "Unknow Event: ".$object-&E
$resultStr = $this-&responseText($object, $contentStr);
return $resultStr;
public function responseText($object, $content, $flag=0)
$textTpl = "&xml&
&ToUserName&&![CDATA[%s]]&&/ToUserName&
&FromUserName&&![CDATA[%s]]&&/FromUserName&
&CreateTime&%s&/CreateTime&
&MsgType&&![CDATA[text]]&&/MsgType&
&Content&&![CDATA[%s]]&&/Content&
&FuncFlag&%d&/FuncFlag&
$resultStr = sprintf($textTpl, $object-&FromUserName, $object-&ToUserName, time(), $content, $flag);
return $resultStr;
private function weather($n){
include("weather_cityId.php");
$c_name=$weather_cityId[$n];
if(!empty($c_name)){
$json=file_get_contents(".cn/data/".$c_name.".html");
return json_decode($json);
return null;
private function checkSignature()
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
return true;
return false;
关于城市对应关系文件&weather_cityId.php,目前更新到了2564个城市,以后还会继续增加,请到&&官方网盘(URL:)下载吧。
请关注&卓锦苏州&微信公众帐号,卓锦苏州&基于BAE 平台开发,针对于主流的微信功能进行开发测试。
您可以关注&卓锦苏州&公众帐号进行功能测试,以及获取新的应用开发。
1. 登录微信客户端,通讯录 -& 添加朋友 -& 查找公众号 -&&zhuojinsz,查找并关注。
2. 扫描二维码:
卓锦苏州&功能列表。
David Camp
我们永远相信,分享是一种美德 |&We Believe, Great People Share Knowledge...
阅读(...) 评论()

我要回帖

更多关于 微信人生感悟 的文章

 

随机推荐