疫情期间同乘问题小程序解决方案(已开源 )

背景

疫情爆发时期, 同乘交通工具会有交叉感染的风险, 咱们常常在各主流新闻媒体看到相似「急寻某月某日*车次的乘客」, 另外一方面也有很多工具能够提供查询某次交通工具是否发生过疫情的功能, 可是不可能发生疫情的交通班次上的全部乘客都会关注这些信息或主动反复去查询, 这就致使信息不能有效传递给须要的人.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加非惟一索引.

相关文章
相关标签/搜索