疫情期間同乘問題小程序解決方案(已開源 )

背景

疫情爆發時期, 同乘交通工具會有交叉感染的風險, 咱們常常在各主流新聞媒體看到相似「急尋某月某日*車次的乘客」, 另外一方面也有很多工具能夠提供查詢某次交通工具是否發生過疫情的功能, 可是不可能發生疫情的交通班次上的全部乘客都會關注這些信息或主動反覆去查詢, 這就致使信息不能有效傳遞給須要的人.node

方案

趁着前幾天騰訊云云開發組織的一次公益黑客馬拉松活動的機會, 我和另外一位同事開發一個「同乘碼」小程序, 乘客能夠在乘坐交通時掃碼訂閱(登記)對應交通班次的信息, 後期若是有同乘旅客上報或官方公佈疫情信息, 小程序會經過微信的消息訂閱功能主動向掃過碼的乘客發送消息, 實現疫情信息的高效傳遞.git

目前這個小程序已開源, 使用者能夠任何方式使用, 源碼地址是:
https://gitee.com/tencent_clo...小程序

小程序也已發佈, 能夠掃如下二維碼體驗和使用.
mmcode.png微信

功能展現

11581854093_.pic.jpg

首頁能夠查詢和訂閱, 訂閱後還能夠分享二維碼給同乘的旅客架構

31581854095_.pic.jpg
個人同乘碼, 顯示已乘坐的交通工具less

21581854094_.pic.jpg
進入到同乘界面, 有上報和查看是否有疫情的功能, 還能夠到成員列表頁面, 能夠實時看到同乘的旅客, 另外實時留言功能可能實時看到其餘人的留言.運維

HTTP接口說明

小程序能夠經過利用雲開發提供的HTTP接口進行管理, HTTP接口也是基於雲開發的雲函數開發, 須要在騰訊雲官網的雲開發管理頁面添加對應的函數, 並開啓HTTP訪問. 目前接口尚未權限校驗功能, 能夠在代碼里加上一個skey之類來實現.函數

接口列表:工具

  • sendmsg 給某個乘客發送一條消息, 注意要先在微信管理後臺申請好消息模板.
  • confirmReport 對某一條用戶上報的疫情信息進行確認.
  • getReport 獲取全部未審覈的信息上報列表
  • addReport 上報一條官方發佈的疫情信息

接口參數能夠看源碼spa

源碼結構

源碼主要分紅兩部分

  1. miniprogram目錄, 小程序的源碼, 與官方默認的代碼結構一致.
  2. cloudfuntion目錄, 雲函數代碼, 使用nodejs實現.

技術架構

image

雲開發的配置

雲開發提供了免運維/簡化開發的serverless能力,
須要建立集合並創建對應的索引:

roomInfo: 交通工具信息, 須要給key加惟一索引.report: 疫情上報信息, 須要給roomId加非惟一索引.member: 同乘用戶列表, 須要分別給roomId和openId加非惟一索引.chatroom: 聊天/留言信息, 須要給groupId加非惟一索引.

相關文章
相關標籤/搜索