从原型到代码:参考医院义剪小程序,思考代取餐项目的开发之路
在首都医科大学附属复兴医院调研时我们发现,院内已经落地了一套爱心义剪预约小程序,专门服务住院患者,提供志愿者上门理发预约。
完整的界面、表单填写、志愿者端口、个人信息保护说明,这套成熟的小程序,为我们构思医院外卖代取小程序提供了非常宝贵的现实参照。
义剪小程序完整设计了服务申请流程:患者填写科室、床号、姓名、联系电话,提交服务申请;志愿者接收订单,后台统一管理全部请求;同时明确写明个人信息保护规则,只收集服务必要信息,服务结束后做数据清理。
如同义剪小程序分为申请患者、志愿者、管理员三类身份,我们的代取餐小程序同样存在三类用户:下单的医护/患者家属、接单取餐志愿者、后台管理人员。
代码层面需要对不同openid做身份鉴权,控制每个人能看到哪些数据。普通用户只能查看自己的订单;志愿者只能看到可接取的派单;管理员拥有全部订单管理权限。一旦权限代码出现漏洞,就可能出现患者、医护的病房、科室信息被越权查看,带来隐私泄露风险。
义剪小程序代码中,对手机号、输入文字长度做了严格校验,防止非法、超长数据存入数据库。
代取餐场景更加复杂:科室、病房号、联系方式需要校验;同时会出现大量异常场景:下单后长时间无人接单、用户中途取消订单、餐品错拿、订单超时失效。
我们需要编写云函数自动处理过期订单,把超时订单自动标记失效,避免大量无效请求堆积数据库,这部分边缘场景,恰恰是编码最耗费精力的地方。
一笔外卖代取订单,会经历:提交下单‑志愿者接单‑门口取餐‑送达科室‑完成/取消多个状态。
每一次状态变更,都要同步给下单用户。微信小程序消息推送存在接口限制,如果编码处理不当,用户收不到订单提醒,即便数据库逻辑正确,用户也感知不到订单进度,服务就形同虚设。
代码可以不断调试修复,但医院实体场景,是代码无法解决的现实门槛。
第一,志愿者人力调度。小程序可以生成源源不断的订单,但谁来完成跑腿?高峰期订单集中爆发,如果志愿者数量不足,大量订单积压,再完善的代码也无法解决现实需求。志愿者排班、人员流动、应急补位,都需要线下制度配合。
第二,责任与风险界定。外卖高温变质、餐品洒漏、错拿丢失,现实中的纠纷无法靠代码规避,需要提前制定完整免责说明、风险预案。
复兴医院爱心义剪小程序,向我们证明医院志愿服务小程序是可以落地的。它给我们提供表单设计、权限划分、隐私保护的优秀范本。
但一行行代码只是工具,复制现成的界面逻辑简单,适配全新业务、处理各类现实异常才是难点。