- 使用场景:
餐饮店在桌子上张贴二维码/小程序并引导消费者扫描点餐,点餐后收银台会有声音提醒:“三号桌下单了!三号桌下单了!”,服务员打开手机确认订单,如果消费者需求有变化,服务员可以直接更改,确认完毕后厨房里放置的打印机会打印消费者点的餐,最后消费者结账的时候,服务员在手机上点击打印结账单,则收银台的打印机会打印结账单,如果消费者曾经充值过,会显示余额抵扣之后的实付金额,如果服务员确认订单前设置了优惠金额,结账单上也会显示; - 设备清单:
收银台有一台电脑,配置不限制但最好不要太老,不然很浪费时间;收银台电脑连接一个小票打印机(如58mm型,用来打印结账单),连接一个音响(消费者下单时用来语音播报),在厨房放置另一个打印机(要么直接连到收银台电脑上,要么买网络型打印机,插网线那种,芯烨网络打印机,某宝大概不到200,或者嫌网线麻烦可以买wifi型打印机,用来打印厨房单),即电脑一台、普通小票打印机一台、网络型小票打印机一台; - 技术清单:
分为小程序版和web版;小程序版需要制作点餐小程序,但是上线需要有食品经营许可证,如果没有的话可以制作web版;本文中web版是使用cocoscreator制作的(语言JS),和小程序版内容基本一致;收银台电脑上需要一种后端语言搭建服务器用来接收播放音乐命令,本文中使用了nodejs(和小程序云函数同语言),其他后端也可以,就是做成一个api,当被访问时根据参数播放相应的音频文件;为了服务器能被外网访问,因此需要使用frp内网穿透技术,本文使用了樱花frp全免费(实名制要花几块钱好像);打印服务使用的也是免费的httpprinter; - 点餐小程序:
最好以餐饮店为主体注册的小程序,并以食品经营许可证作为资质开通类目:餐饮服务平台/餐饮管理XXX之类的,其他情况会很麻烦;小程序首页截图如下:
顶部是用户信息栏,左侧是用户的id,这里直接用的微信的openid,如有需要,可以设置成简短的递增数字作为用户的id;右侧是用户的余额,默认是0元,如果之前有充值,这里会显示剩余的余额;底部是一个按钮:提交订单,当用户点好餐之后点击提交订单,收银台电脑就会语音提醒几号桌下单了,服务员在手机上就可以确认订单;中间是点餐区域,左侧是可以上下滑动的类目,右边是可以上下滑动的商品;点击类别右边会显示该类别的商品;点击右侧商品图片会显示数字和加减,同时左侧类别上会显示该类别中一共点了多少,如上图;上线的小程序只需要做到这里,代码见下文;服务员使用的小程序是后台管理,可以做成体验版,通过控制体验版权限来控制使用;体验版截图如下:
每一个按钮会跳转一个对应的功能页,如商品设置页面可以新增和修改类别,新增和修改商品信息;如下图:
左侧的类别前面带有id,点击这个id可以修改类别名称,点击类别名称右边会显示该类别下的商品;点击商品图片可以修改商品信息;修改商品信息页面有一项叫类别id,如果要修改当前商品的类别,只需要记住目标类别的id,然后在修改商品信息里设置新的类别id即可;
会员设置页面可以通过搜索用户的id来为该用户增减余额;
确认订单页面可以看到用户下单后还没确认的订单,可以设置优惠金额,默认0元,以及可以调整用户所下的单,在确认无误后点击确认订单,即打印厨房单,且此单变成完成状态;
订单管理里可以按照日期查询已经变成完成状态的订单,可以看到这一单详细的信息:各种金额菜品等等,以及可以打印结账单,如果结账之前用户需要加菜或者减菜可以点击重新确认按钮,就又会变成待确认状态,可以增加菜品;
如果需要制作其他功能如统计功能、活动功能等等可以在这个后台页面加按钮并跳转到新的功能页面即可;
- web版点餐小程序:
难点在于登录,微信小程序可以自动获得唯一的openid,而web版只能借助微信公众号的网页授权功能,这里本人提供了一个自己的接口,在微信浏览器访问后可以获得一个唯一的id,需要的联系作者;因此web版会在首页head中写一句script脚本,检查路径参数中是否有openid,如果没有会跳转到某个固定链接,获取到openid后会返回当前页面,且页面路径参数中会带有openid,通过这个id来实现账号登录;如果觉得不太安全可以对openid加密传输,在本地在解密;
未完待续……
有兴趣的加Q912104410
打赏二维码: