拂衣天气(微天气)-技术预研

news/2024/10/11 2:28:12

前言

俗话说:磨刀不误砍柴工。

我想做一个天气类别的小程序,以此进行全栈开发能力的试炼。我想这会是一个微信小程序、是一个可以正常使用的小程序,以Java进行服务端开发,以Mapbox实现天气数据可视化。

但是我是一个后端开发工程师,我不怎么会写页面,我特别的讨厌写CSS。我也没有接触过微信小程序开发,也仅仅知道过Mapbox可以实现好看的地图。所以我需要进行一定的预研,避免后期花费更大的精力用来调整本可以避免的问题。

下面是我计划实现的功能列表:

  • 利用网络接口获取数据(昨日天气、当前天气、预报天气)
  • 实现实时天气与预报数据查看
  • 紧急情况推送
  • 利用地图(mapbox)进行数据可视化
  • 天气分享(图片分享,页面分享
  • 常用地址
  • 消息推送
  • 个人信息
  • 登录授权
  • 应用Promise进行异步网络请求
  • 使用阿里巴巴矢量图标库作为图标数据源
  • echarts图标展示
  • 接入疫情数据?

预研对象

天气数据

天气数据需要是真实的、可用的。那么可以通过网络中提供的天气API进行获取。

通过一定的检索后,我选定了两个天气平台,分别是:和风天气、心知天气。

高德天气:大平台,但是目前服务类目比较少

彩云天气:免费接口几乎没有,收费又太贵

心知天气

心知天气试用版与开发者版开发产品几乎等同,且开发者版收费也不贵。最为关键的是,支持以经纬度方式进行天气查询。

心知天气价格方案

和风天气

几乎可以免费使用其提供的所有 API,且同样支持经纬度方式进行天气查询。

价格方案

商业版与开发版的区别

小结

对比了这两者,发现至少都需要注册为开发者之后,才可以较好的使用其服务。且两者的开发者认证均需要实名。

关于天气API的选择,我最终选择了和风天气,倒不是因为它可以免费使用。其实,刚开始的时候我更倾向于使用心知天气,因为它还可以直接查昨天的天气(和风对于历史天气的查询比较麻烦)。但是和风天气首页结合了地图进行可视化,而且还提供有APP可以使用(方便参考)。再加上,我想了想,其实我并没有迫切的需要知道昨天的天气情况。

其实最重要的原因在于:我先注册了心知天气(需要审核),过了半天后再去注册了和风天气(需要审核),但是最先通过审核的是和风天气(耗时大概也就半天左右,我是在春节期间注册的)。

前端技术

我并没有想要精通前端技术,但是我需要比较体系的了解一下前端技术,方便进行小程序开发。所以我在B站找了两门前端视频学习(粗略的刷了一遍):

  • 【尚硅谷】Web前端零基础入门HTML5+CSS3基础教程丨初学者从入门到精通
  • 千锋web前端开发项目教程_1000集完全零基础入门HTML5+CSS3+JS到精通

H5+Javascript技术结构图

微信小程序

官方文档足以

Mapbox

这里存在一个遗憾,小程序原生并不支持使用如mapbox这样的第三方地图框架,初始想法是通过webview的方式使用mapbox,但是遗憾的是,webview并不对个人类型的小程序开放使用。

所以,退而求其次,选择腾讯地图(及其提供的样式)实现地图浏览。

关于小程序WebView的说明

UI

UI部分参考和风天气APP,以及WEUI

20220420232540

20220420232553

总结

  • 天气API使用和风天气(若有空余可考虑抽取一套统一的API,可组合或切换数据来源)
  • 地图使用腾讯地图(微信小程序解决方案,主要在于个性化样式的使用)
  • 基于自定义服务端实现天气代理以及小程序静默登录
  • UI参考和风天气APP实现

参考

  • 最好的6个免费天气 API 接口对比测评
  • 心知天气-价格方案
  • 和风天气-FAQ
  • H5+Javascript技术结构图
  • 腾讯位置服务-微信小程序解决方案-个性化地图样式

说明

如有冒犯,我在这里先向您道歉,还请联系我进行处理

email: thread_zhou@126.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/27419.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

跟羽夏去实现协程

跟羽夏来自己亲自去实现一个简单的协程,并让它运行起来。写在前面此系列是本人一个字一个字码出来的,包括示例和实验截图。本人非计算机专业,可能对本教程涉及的事物没有了解的足够深入,如有错误,欢迎批评指正。 如有好的建议,欢迎反馈。码字不易,如果本篇文章有帮助你的…

VScode自定义折叠代码快 region和endregion 关键字

前言全局说明VScode自定义折叠代码快 region和endregion 关键字一、说明vscode 有自带的代码折叠功能,但是因为某些内容不是标准的代码或不被识别就不能正常被折叠 比如很多的单行注释,或者被注释的代码就能不能自动折叠。 这里就要用到 region和endregion 关键字使用时 regi…

推荐系统工程架构

推荐系统简介 计算原理 我们把每个用户/视频表示成空间中的一个点。 如果两个点越接近,就认为这个用户对这个视频的喜欢程度越高,反之越低。 用户点赞这个视频就拉近两点,没点赞就拉远两点的距离。这样就组成了整体推荐系统推荐系统流程 从海量视频中召回用户感兴趣的视频,…

一键自动化博客发布工具,chrome和firfox详细配置

blog-auto-publishing-tools博客自动发布工具现在已经可以同时支持chrome和firefox了.blog-auto-publishing-tools博客自动发布工具现在已经可以同时支持chrome和firefox了。 很多小伙伴可能对于如何进行配置和启动不是很了解,今天带给大家一个详细的保姆教程,只需要跟着我的…

统一场理论公式推导和笔记——part5

三十七,运动电荷的磁场产生引力场 1,匀速直线运动电荷的磁场产生引力场 统一场论核心是变化的引力场可以产生电场,反过来,变化的电磁场也可以产生引力场。==》根据爱因斯坦的广义相对论,变化的电磁场确实可以产生引力场,尽管理论上变化电磁场会产生引力场,但由于电磁场的能…

网络流总结

琐记 这玩意是之前寒假集训时学二分图时被忽悠去学的,今天又回去复习了一下,想写篇总结。其他的后面有时间再来填坑,先咕着。。。最大流最小割定理 内容:任何一个网络的最大流量等于最小割中的边容量之和 这玩意看蓝书解释没咋懂,我自己感性理解了一下,有不对的各位指点一…

win11右键菜单怎么还原经典菜单

1、win+r打开命令界面,输入cmd,如下图,然后回车 2、输入以下代码reg add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve3、重启Windows资源管理器生效:taskkill /f /im explorer.exestart explorer.exe然后就看到…

redis实战优化二

参考: 图灵课堂 缓存穿透之布隆过滤器 对于恶意攻击,向服务器请求大量不存在的数据造成的缓存穿透,还可以用布隆过滤器先做一次过滤,对于不存在的数据布隆过滤器一般都能够过滤掉,不让请求再往后端发送。 当布隆过滤器说某个值存在时,这个值可能不存在;当它说不存在时,…