首页 > 技术笔记 > php > 【微信易信公众平台开发】天气预报功能
2014
01-26

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

    最近也是闲着没事,所以想系统的写一个微信开发的教程,至于微信开发基础的东西不想说太多,所以只写一些实例,并且也提供一下代码,供大家参考!

    任何一个功能都需要有资源,天气预报当然需要天气资源,这次选用中国天齐网的API来进行开发!

整体思路

    首先要对用户发送过来的消息进行判断,判断消息里是否符合相应的格式,如果符合,则需要继续提取地区信息,然后再通过中国天气网(http://www.weather.com.cn)提供的开放API进行相关地区天气查询。最终对结果进行整理,并返回即可。

关键字判断与地区读取

    首先用户输入的内容需要符合“城市+天气”的格式,然后就需要从这个内容中将城市提取出来,这里使用正则表达式来进行匹配。

通过城市名字获取城市代码

    这里是将城市和城市代码存在一个数组中,城市名字作为键名,城市代码作为值,这个放在一个单独的文件weather_city_id.php中,建立一一对应的关系!

    weather_city_id.php文件下载地址http://pan.baidu.com/s/1gdl4PWJ

调用weather()函数查询天气

    这里调用的是中国国家气象局提供的天气预报API接口,接口地址:http://m.weather.com.cn/data/101070201.html
    URL中的数字指代城市的编号101070201(大连),其他城市对应关系将在下面提供。
    该接口返回信息比较全面,也是以json格式提供,格式如下:

    json里面包含了最近几日的所有天气信息。

    weather() 函数如下:

整理回复消息形式

说明:

    $data->weatherinfo->city  //获取城市名,这里为苏州

    $data->weatherinfo->date_y  //获取日期,这里为2013年7月9日

    $data->weatherinfo->fchh  //数据发布时间
    $data->weatherinfo->weather1  //实时天气
    $data->weatherinfo->temp1  //实时温度
    $data->weatherinfo->wind1  //实时风向和风速
    $data->weatherinfo->index_d  //穿衣指数
    weather2, temp2, wind2 分别代表了明天的天气,温度和风向风速,其他的以此类推。
    \n  //表示换行

测试

微信天气

完整代码:



最后编辑:
作者:射雕天龙
转载请注明:转载自射雕天龙的博客(http://blog.wangjunfeng.com)
捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!

【微信易信公众平台开发】天气预报功能》有 1 条评论

  1. 头像贴吧 说:

    新年快乐!!

留下一个回复

你的email不会被公开。