天气预报

到目前为止,我们的公众号已经可以回复用户发出的消息,但是如果仅仅如此,就没必要设为开发模式了。完全不懂编程的人也可以在微信公众平台上设置回复用户的消息。

现在我们来实现我们的公众号查询全国各个城市天气这么一个功能,像公众号输入天气+地名(天气南京)就可以查询当地的天气情况。
这里写图片描述

具体实现

1.选择API

我们使用阿里云的全国天气预报查询接口。根据API说明,调用地址:http(s)://ali-weather.showapi.com/area-to-weather,请求方式:GET,返回类型:JSON

请求参数:

名称 是否必须 描述
area 可选 地区名称。名称和id必须输入一个。如果都输入,以areaid为准。
areaid 可选 地区id
need3HourForcast 可选 是否需要每小时数据的累积数组。由于本系统是半小时刷一次实时状态,因此实时数组最大长度为48。每天0点长度初始化为0. 1为需要 0为不
needAlarm 可选 是否需要天气预警。1为需要,0为不需要。
needHourData 可选 是否需要每小时数据的累积数组。由于本系统是半小时刷一次实时状态,因此实时数组最大长度为48。每天0点长度初始化为0.
needIndex 可选 是否需要返回指数数据,比如穿衣指数、紫外线指数等。1为返回,0为不返回。
needMoreDay 可选 是否需要返回7天数据中的后4天。1为返回,0为不返回。

返回示例:

{
  "showapi_res_code": 0,
  "showapi_res_error": "",
  "showapi_res_body": {
    "f6": {
  //今天+5天后的天气预报
      "day_weather": "小雨",//白天天气
      "night_weather": "小雨",//晚上天气
      "night_weather_code": "07",//晚上的天气编码
      "index": {
  //指数对象
        "cold": {
  //感冒
          "title": "少发",
          "desc": "无明显降温,感冒机率较低。"
        },
        "clothes": {
  //穿衣指数
          "title": "舒适",
          "desc": "建议穿长袖衬衫单裤等服装。"
        },
        "uv": {
  //紫外线
          "title": "最弱",
          "desc": "辐射弱,涂擦SPF8-12防晒护肤品。"
        },
        "aqi": {
  //空气质量指数,越小越好
          "title": "良",
          "desc": "气象条件有利于空气污染物扩散。"
        },
        "wash_car": {
  //洗车
          "title": "不宜",
          "desc": "有雨,雨水和泥水会弄脏爱车。"
        },
        "travel": {
  //旅游
          "title": "较不宜",
          "desc": "有降水,推荐您在室内进行休闲运动。"
        }
      },
      "night_wind_power": "微风10m/h",//晚上风力编号
      "day_wind_power": "微风10m/h",//白天风力编号
      "day_weather_code": "07",//白天的天气编码
      "sun_begin_end": "06:28|20:17",//日出日落时间(中间用|分割)
      "day_weather_pic": "http://app1.showapi.com/weather/icon/day/07.png",//白天天气图标
      "weekday": 1,//星期几
      "night_air_temperature": "15",//晚上天气温度(摄氏度)
      "day_air_temperature": "24",//白天天气温度(摄氏度)
      "day_wind_direction": "无持续风向",//白天风向编号
      "day": "20160704",//当前天
      "night_weather_pic": "http://app1.showapi.com/weather/icon/night/07.png",//晚上天气图标
      "night_wind_direction": "无持续风向"//晚上风向编号
    },
    "f7": {
  //今天+6天后的天气预报
      "day_weather": "小雨",//白天天气
      "night_weather": "中雨",//晚上天气
      "night_weather_code": "08",//晚上的天气编码
      "index": {
  //指数对象
        "cold": {
  //感冒
          "title": "少发",
          "desc": "无明显降温,感冒机率较低。"
        },
        "clothes": {
  //穿衣指数
          "title": "较舒适",
          "desc": "建议穿薄外套或牛仔裤等服装。"
        },
        "uv": {
  //紫外线
          "title": "最弱",
          "desc": "辐射弱,涂擦SPF8-12防晒护肤品。"
        },
        "wash_car": {
  //洗车
          "title": "较不宜",
          "desc": "有降水,推荐您在室内进行休闲运动。"
        },
        "travel": {
  //旅游
          "title": "良",
          "desc": "气象条件有利于空气污染物扩散。"
        }
      },
      "night_wind_power": "微风10m/h",//晚上风力编号
      "day_wind_power": "微风10m/h",//白天风力编号
      "day_weather_code": "07",//白天的天气编码
      "sun_begin_end": "06:28|20:17",//日出日落时间(中间用|分割)
      "day_weather_pic": "http://app1.showapi.com/weather/icon/day/07.png",//白天天气图标
      "weekday": 2,//星期几
      "night_air_temperature": "15",//晚上天气温度(摄氏度)
      "day_air_temperature": "23",//白天天气温度(摄氏度)
      "day_wind_direction": "无持续风向",//白天风向编号
      "day": "20160705",//当前天
      "night_weather_pic": "http://app1.showapi.com/weather/icon/night/08.png",//晚上天气图标
      "night_wind_direction": "无持续风向"//晚上风向编号
    },
    "time": "20160629113000",//预报发布时间
    "ret_code": 0,
    "cityInfo": {
  //查询的地区基本资料
      "c6": "yunnan",//城市所在省英文名
      "c5": "丽江",//城市所在市中文名
      "c4": "lijiang",//城市所在市英文名
      "c3": "丽江",//城市中文名
      "c9": "中国",//城市所在国家中文名
      "c8": "china",//城市所在国家英文名
      "c7": "云南",//城市所在省中文名
      "c17": "+8",
      "c16": "AZ9888",//雷达站号
      "c1": "101291401",//区域id
      "c2": "lijiang",//城市英文名
      "c11": "0888",//城市区号
      "longitude": 100.222,//经度
      "c10": "2",//城市级别
      "latitude": 26.903,//纬度
      "c12": "674100",//邮编
      "c15": "2394"//海拔
    },
    "now": {
  //现在实时的天气情况
      "aqiDetail": {
  //aqi明细数据
        "co": 0.38,//一氧化碳1小时平均
        "so2": 8,//二氧化硫1小时平均
        "area": "丽江",//地区
        "o3": 42,//臭氧1小时平均
        "no2": 9,//二氧化氮1小时平均
        "area_code": "lijiang",
        "quality": "优",//空气质量指数类别,有“优、良、轻度污染、中度污染、重度污染、严重污染”6类
        "aqi": 19,//空气质量指数,越小越好
        "pm10": 18,//颗粒物(粒径小于等于10μm)1小时平均
        "pm2_5": 12,//颗粒物(粒径小于等于2.5μm)1小时平均
        "o3_8h": 37,//臭氧8小时平均
        "primary_pollutant": ""//首要污染物
      },
      "weather_code": "03",
      "wind_direction": "西北风",//风向
      "temperature_time": "16:01",//获得气温的时间
      "wind_power": "1级",//风力
      "aqi": 19,//空气质量指数&#
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值