(1/3)从零开始,手搓一台与微信小程序交互的排队叫号机:概述与思路
项目需要,在门店摆一台排队叫号一体机,类似银行、医院、办证大厅、餐厅的那种。
这个没什么特别,本质是台一体式机身的触摸显示屏+热敏打印机。网上有很多成品的产品,价格一般在 3000 - 5000 之间。
需求特殊之处是要求和项目的小程序结合。是个会员制收费服务。要求排队取号的时候就从顾客的小程序账号上相应的计费,然后才吐出排队小票。
理了一下整个排队取票+叫号的业务流程和结构如下:
逻辑倒是不复杂,就是排队机并不是脱机独立运行,而是需要与后端通信交互得到用户扫码核销事件和叫号事件。
顺着这个想法着手网上寻找厂商,看有没有直接就预留了二次开发接口的产品。
连续问了好几家之后,纷纷被婉拒或嫌弃了。
直到找到一个卖家,貌似是小厂厂家自营所以他们的客服刚好对技术这一块相当的了解,人还比较健谈,才聊开了我对设备的需求。
他的反应跟之前几家也没什么不同,表示我要实现的功能也不是完全不能做,只是————
要么他们厂可以跟我做技术对接定制开发或者对我授权他们的软件源码,费用方面预估要6位数;
要么我自己实现这个中间件集成,他只卖硬件(预装好操作系统,带联网wifi/lan 和打印驱动);
掂量了一下十分有限的预算,我选择了后者。厂家还友善地劝我,这样不划算这样搞我的开发成本太高了。
没多说什么,钱难挣[ ]难吃,世间定律。
把功能模块切割细分,我需要实现上述效果以下是我要实现的东西
排队机
- 全屏的UI
- 请求不同服务对应的二维码
- 监听用户的扫码成功事件
- 打印小票
- 监听叫号事件
- 语音播报叫号
小程序端
- 扫码功能(核销用户余额)
店员管理端
- 加载、刷新排队名单(显示服务项目)
- 叫号操作按钮(顺序叫号)
厂家提供的操作系统两种 Android 或 win10。选择后者,我对实现上述功能把握有9成。
小程序使用自有的扫码功能,而服务端功能与项目的充值消费API相关涉及保密部分不展开详述。
后文主要对排队机和店员管理端上的功能实现进行说明。
下一话预告,排队机端实现:
排队机采用 Chrome + Web 可以实现开机自动全屏UI + 触摸交互 + 联网监听事件 + 语音播报 + 小票打印。
