Skip to content

重要:开发规范

请您在开发前仔细逐条阅读以下开发规范,如违反以下标注为“必须项”的规则将有可能导致系统自动停用您的账号。

必须项:禁止未经允许的异常访问,例如大规模压力测试等

  • 禁止未经允许的异常访问,例如大规模压力测试等。合作方的异常访问行为,经评估会影响API正常工作或关键指标的,在通知该合作方后,华风爱科有权临时停用该合作方的接口账号。

必须项:禁止以任何形式缓存定位数据

  • 禁止以任何形式缓存定位数据。

必须项:不允许使用任何妨碍或影响华风爱科缓存数据的调用方式

  • 不允许使用任何妨碍或影响华风爱科缓存数据的调用方式。(正常的、按照说明文档进行的调用,是不会影响缓存的,但有一些特殊技术是可以阻止或者影响缓存正常运行的,比如传递特定的header信息等。)

必须项:提交的latitude和longitude必须四舍五入至3位小数

  • 使用经纬度定位时,提交的latitude和longitude必须四舍五入至3位小数,比如q=39.921,116.469是正确的,而不能使用q=39.9212,116.4691。

必须项:使用 GZIP

  • 使用GZIP可以减少传输到设备上的数据量;
  • 使用GZIP增加数据请求速度;
  • GZIP数据压缩只需在调用的HTTP请求 Header中增加"Accept-Encoding: gzip,deflate"即可启用;
  • 例如:无压缩时数据大小为17695字节;压缩后数据大小减小至2958字节;

必须项:避免所有设备在同一时间请求数据

  • 须避免所有设备在同一时间请求数据,举例而言,避免所有设备在每天12点30分同时请求刷新数据;
  • 可按照开机时间或APP启动时间计算开始时间,经过一定的周期进行刷新,这样由于每个用户的开机时间/APP启动时间不同,可避免同时刷新数据或同时产生大量请求。

必须项:优先使用Local Source数据

  • 逐日预报、实况数据中,在中国境内地区您需要按照中国的法律法规,使用中国气象局发布的预报数据。在LocalSource中,id为7的数据代表中国气象局发布的数据;

    天气现象需要使用WeatherCode中的编码对应下表获取;

    预报接口中风力需要使用WindLevelCode中的编码对应下表获取(实况接口中直接使用WindLevel字段,例如4:代表4级风,不需要使用下表进行编码转换);

    风向需要使用WindDirectionCode中的编码对应下表获取;

    json
    "LocalSource": {
      "Id": 7,
      "Name": "Huafeng",
      "WeatherCode": "01",
      "WindLevelCode": "3",
      "WindDirectionCode": "3"
    }
  • WeatherCode编码表

    Code中文名称英文名称
    00Sunny
    01多云Cloudy
    02Overcast
    03阵雨Shower
    04雷阵雨Thundershower
    05雷阵雨伴有冰雹Thundershower with hail
    06雨夹雪Sleet
    07小雨Light rain
    08中雨Moderate rain
    09大雨Heavy rain
    10暴雨Storm
    11大暴雨Heavy storm
    12特大暴雨Severe storm
    13阵雪Snow flurry
    14小雪Light snow
    15中雪Moderate snow
    16大雪Heavy snow
    17暴雪Snowstorm
    18Foggy
    19冻雨Ice rain
    20沙尘暴Dust storm
    21小到中雨Light to moderate rain
    22中到大雨Moderate to heavy rain
    23大到暴雨Heavy rain to storm
    24暴雨到大暴雨Storm to heavy storm
    25大暴雨到特大暴雨Heavy to severe storm
    26小到中雪Light to moderate snow
    27中到大雪Moderate to heavy snow
    28大到暴雪Heavy snow to snowstorm
    29浮尘Dust
    30扬沙Sand
    31强沙尘暴Sandstorm
    32浓雾Dense foggy
    33Snow
    49强浓雾Moderate foggy
    53Haze
    54中度霾Moderate haze
    55重度霾Heavy haze
    56严重霾Severe haze
    57大雾Heavy foggy
    58特强浓雾Severe foggy
    301降雨Rain
    302降雪Snow
    otherUnknown
  • WindDirectionCode编码表

    Code中文名称英文名称
    0无持续风向
    1东北风
    2东风
    3东南风
    4南风
    5西南风
    6西风
    7西北风
    8北风
    9旋转风
  • WindLevelCode编码表

    Code中文名称英文名称
    0微风
    13-4级
    24-5级
    35-6级
    46-7级
    57-8级
    68-9级
    79-10级
    810-11级
    911-12级
  • WindGustDirectionCode编码表

    CODE中文名称英文缩写角度
    0无持续风向N0
    1东北风NE45°
    2东风E90°
    3东南风SE135°
    4南风S180°
    5西南风SW225°
    6西风W270°
    7西北风NW315°
    8北风N0
    9旋转风N0

必须项:遵守华风爱科对API调用的指南和要求

  • 遵守华风爱科对API调用的指南和要求。请注意,华风爱科提供的新的指南和要求,也需及时更新满足。

必须项:对Minutecast接口的HTTP 400错误进行容错处理

  • 请特别注意:某些区域某些时次没有雷达数据时,Minutecast接口会返回HTTP 400错误,请务必对这种情况做容错处理。

建议项:利用Response Header中的数据有效期进行刷新

  • 利用Response Header中的数据有效期限进行新的数据刷新请求。

    示例:

    Response Headers
    Cache-Control: public
    Content-Encoding: gzip
    Content-Type: application/json; charset=utf-8
    Date: Wed, 29 Aug 2012 14:55:33 GMT
    Expires: Thu, 30 Aug 2012 14:56:34 GMT
    Server: Microsoft-IIS/7.5
    Server: Microsoft-IIS/7.0
    Transfer-Encoding: chunked
    Vary: Accept-Encoding
    X-AspNet-Version: 4.0.30319
    X-Powered-By: ASP.NET
  • 在这个例子中,Expires: Thu, 30 Aug 2012 14:56:34 GMT,意味着数据在此时间前均有效,建议在此时间前不再重新请求。

建议项:MinuteCast™ 缓存

  • 在中国地区的MinuteCast正在建设中,现阶段API还无法提供中国某些区域内的分钟级降水。如果当前位置不支持此服务,系统将会返回HTTP 400错误;
  • 为减少流量使用以及增长您设备的电池续航,我们建议开发时设置缓存1小时的MinuteCast™ HTTP 400反馈以避免后续重复请求与返回HTTP 400错误;

注意项:夏令时间将导致时区函数变化

  • 如果您使用了定位API接口返回结果中的GMTOffset来计算当地时间,请务必检查NextOffsetChange,即下一次的Offset变化时间,这样您可预知Offset将在何时变化,并能够在变化后及时的获取最新的Offset来准确的显示当地时间。