前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >共克时疫,https+小程序为“战疫”献上一份技术力量

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

作者头像
Tusi
发布2020-07-10 16:27:32
2930
发布2020-07-10 16:27:32
举报
文章被收录于专栏:前端司南前端司南

前言

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

数据获取和处理

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

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

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

Q: 为什么别人有提供接口,你还要再多此一举?A:我要做小程序,没有https搞不了。

目前主要上线了以下接口:

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

接口名

请求方式

接口描述

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

全球海外其他地区患者分布数据

可以点击在线访问整体统计数据[2]试试看呢!

代码语言:javascript
复制
https://wuhan.wbjiang.cn/api/stats

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

HTTPS支持

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

服务整体框架

接口服务:使用的是nodejs语言,技术框架是express

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

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

小程序概述

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

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

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

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

wuhan速报小程序码

小程序内容

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

疫情统计数据

首页-数据统计

疫情地图与趋势

疫情地图和趋势图

国内省市疫情分布

地区疫情数据

海外疫情分布

海外疫情分布

辟谣与防护

辟谣与防护

最新事件实时播报

事件播报

疾病知识

疾病知识

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

结语

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

参考资料

[1]

掘金@普通程序员: https://juejin.im/user/5e2741925188254baf6c4cb1/activities

[2]

在线访问整体统计数据: https://wuhan.wbjiang.cn/api/stats

[3]

wuhan_best_wishes: https://github.com/cumt-robin/wuhan_best_wishes

[4]

ncov-weapp: https://github.com/cumt-robin/ncov_weapp

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 bin不懂二进制 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据获取和处理
  • HTTPS支持
  • 服务整体框架
  • 小程序概述
  • 小程序内容
  • 结语
    • 参考资料
    相关产品与服务
    云开发 CloudBase
    云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档