共克時疫,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博客同步博客內容,快來撩我!

歡迎關注

相關文章
相關標籤/搜索