疫情爆发时期, 同乘交通工具会有交叉感染的风险, 我们经常在各主流新闻媒体看到类似**「急寻某月某日*车次的乘客」**, 另一方面也有不少工具可以提供查询某次交通工具是否发生过疫情的功能, 但是不可能发生疫情的交通班次上的所有乘客都会关注这些信息或主动反复去查询, 这就导致信息不能有效传递给需要的人。
趁着前几天腾讯云云开发组织的一次公益黑客马拉松活动的机会, 我和另一位同事开发一个**「同乘码」小程序, 乘客可以在乘坐交通时扫码订阅(登记)对应交通班次的信息, 后期如果有同乘旅客上报或官方公布疫情信息, 小程序会通过微信的消息订阅功能主动向扫过码的乘客发送消息, 实现疫情信息的高效传递。目前这个小程序已开源**, 使用者可以任何方式使用。
首页可以查询和订阅, 订阅后还可以分享二维码给同乘的旅客
我的同乘码, 显示已乘坐的交通工具
进入到同乘界面, 有上报和查看是否有疫情的功能, 还可以到成员列表页面, 可以实时看到同乘的旅客, 另外实时留言功能可能实时看到其他人的留言
下载源码
git clone https://gitee.com/tencent_cloud_development/tcb-hackthon-ncov2019confirm.git
修改appid
project.config.json里修改appid
{
// ...
"appid": "自己的appid"
// ...
}
微信开发者工具导入项目,开通“云开发”,新建云开发环境,得到evn_id,并配置config
/config.js
{
"env": "xxx", // 新建的云开发环境的id,注意是id不是name
"traceUser": true // 是否追踪用户 true / false
}
云开发控制台 - 数据库 - 新建集合
集合结构如下:
admin集合
field | type |
---|---|
openId | string |
member集合
field | type |
---|---|
opendId | string |
roomId | string |
src | string |
status | number |
userInfo | object |
report集合
field | type |
---|---|
date | string |
name | string |
phone | string |
review | number |
roomId | string |
rtype | string |
roomInfo集合
field | type |
---|---|
date | string |
key | string |
typeName | string |
typeValue | string |
wxacode | string |
traffic集合
field | type |
---|---|
created_at | string |
source | string |
t_date | string |
t_end | string |
t_memo | string |
t_no | string |
t_no_sub | string |
t_pos_end | string |
t_pos_start | string |
t_start | string |
t_type | string |
updated_at | string |
verified | number |
who | string |
新建后,修改权限为“所有用户可读,仅创建者可读写”!!!
login`云函数目录,右键 - 上传并部署
openapi
云函数目录,右键 - 上传并部署
sendmsg
云函数目录,右键 - 上传并部署
订阅消息模板的申请方法:在 https://mp.weixin.qq.com/ 上申请自定义的推送模板,“功能” - “订阅消息” - “添加”, 注意参数的格式要一致;
订阅消息模板的设置方法:cloudfunctions - sendmsg - index.js - templateId 参数配置为自定义的订阅消息模板ID即可;
Ctrl + S,即可看到项目Running起来啦!
小程序可以通过利用云开发提供的HTTP接口进行管理, HTTP接口也是基于云开发的云函数开发, 需要在腾讯云官网的云开发管理页面添加对应的函数, 并开启HTTP访问. 目前接口还没有权限校验功能, 可以在代码里加上一个skey之类来实现.
接口列表:
接口参数可以看源码
源码主要分成两部分
客户端使用原生小程序开发, 服务端全部使用云开发
defool
kapt4inw01f
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型