看看“疫苗查詢”小程序有溫度的代碼
近日,一篇《疫苗之王》刷爆了朋友圈,疫苗的安全問(wèn)題被推到了風(fēng)口浪尖,騰訊安全實(shí)驗(yàn)室團(tuán)隊(duì)推出了“騰訊安心計(jì)劃”小程序,方便用戶便捷地查詢疫苗安全信息。
這樣一個(gè)暖心的小程序是怎樣做出來(lái)的?
“騰訊安心計(jì)劃”小程序分為三個(gè)主要服務(wù):小程序前端、TARS代理服務(wù)、TARS后臺(tái)服務(wù)。
1.小程序前端負(fù)責(zé)接收用戶查詢請(qǐng)求及反饋結(jié)果:
它的頁(yè)面中實(shí)現(xiàn)了一個(gè)查詢框,并且將查詢框內(nèi)輸入的內(nèi)容組成get請(qǐng)求發(fā)往接口URL。
2.代理服務(wù)負(fù)責(zé)解析HTTP請(qǐng)求,并將其轉(zhuǎn)為TARS請(qǐng)求發(fā)往后端:
它使用TARS-Node.JS,綁定一個(gè)接口URL(如:xxxx.url.com/queryVaccine),通過(guò)Node.JS的KOA2框架提供的get方法解析收到的請(qǐng)求,并獲得其中的參數(shù),然后直接傳參調(diào)用后端tars服務(wù)的請(qǐng)求接口。
3.查詢服務(wù)負(fù)責(zé)提供查詢結(jié)果:
它提供了一個(gè)查詢本地內(nèi)存的功能,首先定期從DB中撈出疫苗的信息數(shù)據(jù),并寫入內(nèi)存,在收到接口請(qǐng)求后,在內(nèi)存中查詢到結(jié)果,再把結(jié)果返回給主調(diào)服務(wù)。
這樣,一個(gè)具備查詢后臺(tái)數(shù)據(jù)功能的小程序就完成了。
小程序的便捷開發(fā)與部署,不同于APP的版本管理,可以快速更新頁(yè)面內(nèi)容而用戶無(wú)感知。TARS的多語(yǔ)言支持以及高可用,可以通過(guò)多種方案及手段高效實(shí)現(xiàn)自己的需求,同時(shí)不需要將過(guò)多的精力放在服務(wù)的容災(zāi)容錯(cuò)處理上。
單純從代碼開發(fā)效率來(lái)看,小程序+TARS這樣的實(shí)現(xiàn)組合,可以在只有一個(gè)前端+一個(gè)后端開發(fā)者,或者一個(gè)全棧開發(fā)者的情況下,在一天之內(nèi)就可以高效便捷地實(shí)現(xiàn)一個(gè)與“騰訊安心計(jì)劃”功能類似的小程序了。
總結(jié)
好了,以上就是本文的所有內(nèi)容,希望對(duì)大家有所幫助!
相關(guān)文章
用javascript實(shí)現(xiàn)li 列表數(shù)據(jù)隔行變換背景顏色
客戶端效果,效率自然不錯(cuò)。以前的做法是偶數(shù)行時(shí)給li加一個(gè)class,方法當(dāng)然不可取,如果后臺(tái)讀取再加class就很麻煩了,看看這個(gè)效果2007-08-08JS實(shí)現(xiàn)的DIV塊來(lái)回滾動(dòng)效果示例
這篇文章主要介紹了JS實(shí)現(xiàn)的DIV塊來(lái)回滾動(dòng)效果,結(jié)合實(shí)例形式分析了JS通過(guò)時(shí)間函數(shù)定時(shí)觸發(fā)動(dòng)態(tài)改變頁(yè)面元素樣式的相關(guān)操作技巧,需要的朋友可以參考下2017-02-02JavaScript 空位補(bǔ)零實(shí)現(xiàn)代碼
JavaScript代碼實(shí)現(xiàn)空位補(bǔ)零2010-02-02javascript動(dòng)態(tài)獲取登錄時(shí)間和在線時(shí)長(zhǎng)
這篇文章主要為大家詳細(xì)介紹了javascript動(dòng)態(tài)獲取登錄時(shí)間和在線時(shí)長(zhǎng)的相關(guān)資料,獲得登錄時(shí)候的時(shí)間,用來(lái)和動(dòng)態(tài)的時(shí)間做差來(lái)求時(shí)長(zhǎng),感興趣的小伙伴們可以參考一下2016-02-02js實(shí)現(xiàn)完全自定義可帶多級(jí)目錄的網(wǎng)頁(yè)鼠標(biāo)右鍵菜單方法
這篇文章主要介紹了js實(shí)現(xiàn)完全自定義可帶多級(jí)目錄的網(wǎng)頁(yè)鼠標(biāo)右鍵菜單方法,實(shí)例分析了javascript實(shí)現(xiàn)自定義網(wǎng)頁(yè)鼠標(biāo)右鍵彈出菜單的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-02-02用javascript讀取xml文件讀取節(jié)點(diǎn)數(shù)據(jù)
這篇文章主要介紹了用javascript讀取xml文件讀取節(jié)點(diǎn)數(shù)據(jù)的具體實(shí)現(xiàn),需要的朋友可以參考下2014-08-08JS實(shí)現(xiàn)的拋物線運(yùn)動(dòng)效果示例
這篇文章主要介紹了JS實(shí)現(xiàn)的拋物線運(yùn)動(dòng)效果,結(jié)合實(shí)例形式分析了javascript拋物線運(yùn)動(dòng)的相關(guān)運(yùn)算與元素動(dòng)態(tài)操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-01-01BootStrap模態(tài)框和select2合用時(shí)input無(wú)法獲取焦點(diǎn)的解決方法
在bootstrap的模態(tài)框里使用select2插件,會(huì)導(dǎo)致select2里的input輸入框沒(méi)有辦法獲得焦點(diǎn),沒(méi)有辦法輸入。怎么解決這個(gè)問(wèn)題呢?下面小編給大家?guī)?lái)了BootStrap模態(tài)框和select2合用時(shí)input無(wú)法獲取焦點(diǎn)的解決方法,一起看看吧2017-09-09