本文档介绍了名为“天气服务”的一款应用,旨在解决现有天气API预测时间有限和调用限制的问题。该服务包括一个天气Web服务(weather-web项目)和一个天气服务演示小程序(weather-weixin项目)。作者Da Wei Min在2018年1月6日创建了此项目,并将其托管在GitHub上。 服务的主要意义在于提供超过3天的长期天气预报,以及避免第三方API调用次数的限制和复杂的认证过程。然而,服务也存在缺陷,如依赖第三方网站,当这些网站结构改变时需要更新代码,且如果第三方服务器出现问题或采取反爬策略,服务可能会失效。此外,该服务仅供学习交流,非正式商业用途。 服务结构由查询接口、第三方接口和主要类组成。查询时,如果使用经纬度,需借助腾讯API将经纬度转换为城市名称。服务根据城市拼音查找数据,预先爬取城市与拼音的关系。为了减少频繁爬取,服务每天更新一次,查询时会对比日期,过期才重新获取数据。所有数据存储在内存中,不持久化到磁盘,以保证服务速度。 服务提供两种访问接口:按经纬度查询和按城市名称(中文或拼音)查询。返回的结果是Json格式,包含30天的天气基本情况,如日期、天气描述、温度范围和风力等信息。此外,文档还展示了基于该服务构建的小程序示例,小程序可以显示当前位置的天气并支持关键词查询。 实际部署该服务时,Web服务需要配置腾讯地图API KEY以支持经纬度查询,并根据需求申请SSL证书。小程序则需要设置appid,并在页面逻辑文件中替换baseUrl为Web服务的部署地址。 这个天气服务是一个自建的天气预报解决方案,旨在克服现有API的局限性,提供更长的预报周期,并为开发者提供了友好的查询接口和小程序示例。虽然依赖第三方数据源,但通过合理的缓存策略和内存管理,提高了服务的可用性和响应速度。对于希望开发天气应用的个人或团队,这是一个有价值的参考和起点。
- 粉丝: 28
- 资源: 307
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
评论0