首页 > 其他分享 >拂衣天气(微天气)-序章

拂衣天气(微天气)-序章

时间:2024-05-04 13:45:26浏览次数:25  
标签:服务 拂衣 实现 程序开发 天气 序章 开发

前言

天气小程序产生于2022年年初,目的是用于验证自己是否有进入全栈开发(仅前后端)的能力。该项目从2022年1月12号正式启动,于2022年3月19日发布一阶段最终版本(1.1.9),总体耗时2个月零7天。从内容完整度以及界面友好程度来说,我给自己70分。

完成内容

  • 和风天气API接入,可实现实时天气、实时空气、24小时天气预报、7天天气预报
  • 使用echarts for wechat进行24小时天气预报展示
  • 通过腾讯位置服务提供的微信小程序解决方案实现地图个性化展示(目前使用风格:白浅)
  • 通过自建服务实现小程序静默登录
  • 通过自建服务实现关注城市的持久化管理
  • 实现天气分享功能,通过生成一张图片进行分享,可直接分享给朋友或群组
  • 默认通过定位获取所在位置的天气数据
  • 天气数据均通过服务端代理进行获取,从而避免相关key直接暴露在客户端
  • 提供通过经纬度查询所处行政区划的服务,提供行政区划查询服务,皆可获取对应行政区划中心点基于边界数据,数据坐标为4326
  • 服务通过github action自动化进行docker构建,并推送到阿里云镜像服务仓库,而后在阿里云ecs中直接拉取docker进行部署
  • 图片服务则是通过nginx实现反向代理,图片由docker容器内服务创建,通过docker文件映射功能映射到云主机,再通过nginx可实现图片的访问
  • 服务与图片均实现域名访问,且均提供ssl证书

不足

  • 未实现天气地图可视化,即基于mapbox进行地图可视化(webview需要企业认证资质)
  • 未提供坐标转换功能,因目前使用的是腾讯地图(gcj02,即从地图获取的数据均为gcj02),行政区划数据为4326(wgs84),目前是直接将4326作为gcj02进行使用(因为数据的粒度为区县,所以差异不会很大,除非在行政区边界处可能会出现行政区显示错误问题)
  • 未完整实现小程序朋友圈分享功能,因该功能需要所分享页面的数据可直接获取,且分享页面小程序登录功能已被限制,所以目前无法直接提供数据获取服务(需要进行登录态校验,考虑到被攻击的可能)
  • 未完成天气预警数据接入与提示功能
  • 未完成数据推送、个人主页、图层管理功能
  • 分享图片中未实现天气云图叠加功能,仅获取了所在位置范围的影像图与相关注记
  • 服务端代码封装度不够,且DDD的认知不足,导致实践乱七八糟

内容

我计划将拂衣天气开发的完整过程通过文章的方式记录下来,下面是我对该整体内容的编写计划:

Name Key Words Summary
序章
前期调研
模型设计
开发环境准备
行政区划数据准备
小程序静默登陆实现
小程序开发(一) 说明主页布局构建,组件拆分情况,实现地图加载以及定位
小程序开发(二) 实现上下滑动功能开发,以及左右滑动组件封装
小程序开发(三) 实时天气栏卡片、文字描述、底部7天天气预报以及Footer部分开发
小程序开发(四) 完成echarts组件封装
天气代理服务开发 提供实时天气、实时空气质量、24小时天气预报、7天天气预报代理服务开发
小程序开发(五) 完成天气部分API对接
行政区划服务开发 提供行政区划查询服务
关注城市服务开发 提供对城市的关注与取消关注能力
小程序开发(六) 完成天气图片分享功能
小程序开发(七) 完成城市选择页面开发与数据API对接
Github Action服务发布
小程序服务发布
终篇

参考

注:拂衣天气小程序的界面设计与交互设计主要参考和风天气APP。当前所述拂衣天气小程序的开发主要用于学习。

致敬和风天气!

和风天气

标签:服务,拂衣,实现,程序开发,天气,序章,开发
From: https://www.cnblogs.com/threadj/p/18172228

相关文章

  • 拂衣天气(微天气)-技术预研
    前言俗话说:磨刀不误砍柴工。我想做一个天气类别的小程序,以此进行全栈开发能力的试炼。我想这会是一个微信小程序、是一个可以正常使用的小程序,以Java进行服务端开发,以Mapbox实现天气数据可视化。但是我是一个后端开发工程师,我不怎么会写页面,我特别的讨厌写CSS。我也没有接触过......
  • 拂衣天气(微天气)-模型设计
    前言这是一个前后端分离的项目,后端使用Java进行开发,而前端通过微信小程序实现。功能结构可从上图得知,部分功能已去除:消息消息推送紧急情况推送用户个人中心模型设计用户信息(UserInfo)idLong主键oidStringOpenIDuidStringUnionIDnameString昵称pho......
  • 拂衣天气(微天气)-开发环境准备
    前言本文用于说明本次开发所使用的环境,以及环境的搭建过程。操作系统Windows10专业版其实我当时使用的操作系统的ArchLinux,开发完成后才又重装回Windows。现在又用回了[email protected]服务端服务端使用Java语言进行开发,项目构建使用Maven(Grad......
  • 拂衣天气(微天气)—行政区划数据(一)
    前言微天气程序中存在如下几个功能需要使用到行政区划数据:城市列表,需要支持城市搜索根据经纬度获区域(城市)的天气数据地图坐标拾取并获取所处区域(城市)信息,同时获取天气数据对于城市的天气数据,不使用和风天气的城市列表,而是自行维护,通过空间位置(经纬度)进行关联。对于城市位置......
  • 天气学
    天气学主要研究三方面内容:①揭示和发现大气环流、天气系统、天气过程等大气运动现象,综合归纳大气运动规律。②研究大气中不同尺度的天气系统的结构、发生、发展和移动等特征,各种天气系统之间的相互作用及大气环流和天气过程的演变等的物理机制。③研究天气预报方法。首先必须仔......
  • 数据可视化在天气方面能够为我们带来什么样的帮助?
    数据可视化在天气方面能够为我们带来极大的帮助。天气是人类生活中一个重要的因素,对于农业、交通、航空、能源等各个领域都有着重要的影响。而数据可视化技术通过将复杂的天气数据转化为直观、易懂的图表、图像或地图等形式,为我们提供了更深入、更全面的天气信息,帮助我们更好地理......
  • 大数据设计基于Hadoop全国天气可视化分析系统
    一、项目介绍  全国天气可视化分析系统主要功能模块包括系统首页、轮播图、公告消息、资源管理(天气资讯、资讯分类)系统用户(管理员、普通用户)模块管理(天气信息、降水数据),采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设......
  • csdn博客自定义模块:显示实时天气、日历、随机语录代码
    目录1.样式说明2.效果展示3.代码下载1.样式说明vip会员或者博客专家可以自定义模块代码,比如我博客的样式,有这几部分组成:灯笼祝福(我这里是龙年快乐,可以自定义更改任何字)、滚动欢迎语(我这里是欢迎访问我的博客,可以自定义更改任何欢迎语)github链接、知乎链接、邮箱发......
  • Python实战:天气应用
    1.引言天气应用是现代生活中不可或缺的一部分,它可以帮助我们实时获取天气信息,合理安排出行和活动。通过Python实现天气应用,我们可以加深对编程语言的理解,同时也能够体会到编程带来的便利。2.环境准备在开始编写天气应用之前,我们需要准备以下环境:1)Python环境:确保计......
  • 【unity实战】时间控制 昼夜交替 四季变化 天气变化效果
    最终效果文章目录最终效果日期季节控制时间昼夜交替素材如果没有天空盒,需要自己配置新增SkyboxBlendingShader.shader,控制天空盒平滑过渡交替变化下雨下雨粒子效果控制雨一直跟随玩家,但是旋转不跟随控制不同天气源码完结日期季节控制publicclassTimeManager:......