共克时疫,https+小程序为“战疫”献上一份技术力量

前言

新型冠状病毒笼罩下的新年,让每一个中国人都感到恐慌和揪心。咱们天天为前线的白衣天使和平民英雄们的事迹感动而落泪,也为不法分子哄抬物价,无良我的以权谋私等自私自利的行为而感到痛心疾首。做为普通人,咱们最大的贡献就是宅在家里,响应钟南山院士的号召,作好我的防御,不为疫情添负担,不为他人添麻烦。最近看到不少大佬都为“战疫”贡献了本身的技术力量,有的人提供了数据和接口支持,有的人作了app,有的人作了webapp。看到这些举动,我也跃跃欲试,静下心去作,总会作点东西出来,因而我作了一版微信小程序,主要是想方便本身和家人朋友们查询下最新的数据,毕竟你们都用微信。前端

微信小程序的版本审核实在太慢了,昨天提交版本审核的,如今还没经过,唉,心累。

数据获取和处理

首先要感谢丁香园,数据源于丁香园-丁香医生。node

重点要感谢掘金@普通程序员提供的数据接口能力,让咱们菜鸡也有机会作一点微小的工做。nginx

为了防止给大佬的服务器增长访问压力,我每15分钟抓取一次接口数据,存储于我的服务器上,供本身和他人访问和使用。git

Q: 为何别人有提供接口,你还要再画蛇添足?A:我要作小程序,没有https搞不了。

目前主要上线了如下接口:程序员

在线接口基地址: https://wuhan.wbjiang.cn/api/github

接口名 请求方式 接口描述
timeline GET 获取发生的事件,支持分页参数pageNo和pageSize
stats GET 总体统计数据
rumour GET 最新辟谣
protect_wiki GET 最新防御知识
wiki GET 最新知识百科
help_links GET 便民信息/诊疗信息
province_stats GET 全国省份级患者分布数据
city_stats/:areaName GET 根据省份查市县疫情数据,areaName传入省级行政区的简写,如“湖南”
oversea_stats GET 全球海外其余地区患者分布数据

能够点击在线访问总体统计数据试试看呢!web

https://wuhan.wbjiang.cn/api/stats

该服务的源码我也上传到了github,欢迎访问wuhan_best_wishes查看,若是能顺手给个star那是极好的,感谢感谢!express

HTTPS支持

因为微信小程序须要调用https协议的接口,因此我利用nginx的能力和阿里云提供的SSL证书,对上述接口提供了https支持。小程序

服务总体框架

接口服务:使用的是nodejs语言,技术框架是express微信小程序

应用管理:利用pm2来管理node应用。

代理服务器:利用Nginx监听80端口,转发到node服务所在的内部端口。

小程序概述

取名挺烦的,拟的名字要么是被行业限制,要么已经有人用了。最后就随便取了个名wuhan速报

技术方面,我暂时没有使用框架,用的是小程序原生的开发语言。为了快速出初版效果,UI部分用到了我熟悉的vant-weapp

相关代码已开源,请访问ncov-weapp查看源码。

先发个小程序码,方便你们直接访问小程序(暂时还没经过审核,微信小程序审核速度你懂的,若是想体验一下的话,欢迎加我微信ice_lloly使用体验版)。

wuhan速报小程序码

小程序内容

内容上,主要作了四个页面,分为疫情地图辟谣与防御事件播报疾病知识等几块。

疫情统计数据

首页-数据统计

疫情地图与趋势

疫情地图和趋势图

国内省市疫情分布

地区疫情数据

海外疫情分布

海外疫情分布

辟谣与防御

辟谣与防御

最新事件实时播报

事件播报

疾病知识

疾病知识

为了快速出效果,作的时候有参考丁香园的设计,感谢丁香园技术和设计团队!

结语

因为时间有限,大概花了一天多的时间吧,因此作出来的效果是比较粗糙的。接下来我会在有余力的状况下,继续迭代更新,毕竟仍是要远程办公的,大部分时间仍是要聚焦于公司业务。

我是 Tusi,一个创业公司前端小leader,天天依然为写不完的业务代码烦恼,在打磨产品道路上沉淀技术,探索成长路线。若是你与我同样,正在思考本身的技术成长与价值,欢迎加我微信交流探讨,微信号 ice_lloly。我会在公众号 猿出道和小程序 Tusi博客同步博客内容,快来撩我!

欢迎关注

相关文章
相关标签/搜索