colorUI-扫码点餐
吃饭的时候,发现某个饭店的扫码点餐功能很简洁,不把它做出来,心里痒痒的,从周一到周五,利用晚上下班时间,加上之前的积累,一个小 demo 基本成型了。之后要是开个饭店就用它了~(手动狗头)
如何使用#
- 下载压缩包
- 进入根目录
php artisan cache:clear
php artisan migrate
php artisan db:seed
php artisan serve --port=8888
访问#
— 我是分割线 —
以下想二次开发的同学看#
技术栈#
api 后端
- Laravel8.*
管理后端
管理后端没动力写了,等自己再遇到实际需求的时候在弄,现在用的是假数据填充。
前端
- uni-app (colorUi)
关于如何登录#
考虑到登录的复杂性,更多的是根据业务来,因此,默认登录的是 id 为 1 的用户,但也有一个登录接口,改改就可以用。
更改.env 中的
APP_DEBUG=false
话,就会禁用默认登录,此时前端必通过登录接口,获取 token ,在 header 里传
关于支付#
没有微信商户号,没有支付能力,有商户号的同学,当点击支付的时候,后台写两个 api,一个获取微信的支付配置,另一个写微信的支付回掉逻辑即可。
关于优惠#
数据结构支持各种各样的优惠逻辑,只需要将优惠信息,保存在 adjustments 表中,在重新调用 calculator 方法,就会重新计算应付金额。对于促销活动,这一块有时间,再搞一搞,这一块挺有意思的。
关于源码#
压缩包里包含了前端打包后的代码和后端源码
由于考虑到压缩包只需要 php 环境就可运行,因此使用的是 sqlite 数据库。线上,可使用 mysql。
DB_CONNECTION=mysql DB_HOST=mysql5 DB_PORT=3306 DB_DATABASE=saomadiancan DB_USERNAME=root DB_PASSWORD=123456
如有想要前端源码的同学,进行二次开发,联系我呀~
如何扫码点餐#
第一次进带着参数 store_id 和 table_number,会放进缓存里,如不传,store_id 默认是 1,table_number 默认是 10001
如想传参 store_id 2 则,先准备个假数据
php artisan db:seed
访问 127.0.0.1:8888/h5?store_id=2 是 id 为 2 门店的菜单
草图#
我是分割线
2021-03-19 晚更新#
带宽 1M~~
研究了几个晚上,已成功实现小程序连接蓝牙打印,还比较稳定,使用 workman 进行订单推送。有一点比较坑,小程序进入后台 wbsocket 会自动断,这样订单就推送不了了,使用的解决方案是后台记录没有推送成功的订单,起个定时任务,wbsocket 连上后,再主动推给客户端,在客户端做了一个打印队列,蓝牙连不上的话,将订单先放进队列,连上自动打印,队列的作用是不会串单,要不一起发送给打印机就会打印重合,就乱掉了。
用 uni-app 还能打安卓包和 ios 包,已经成功了打了一个安卓包,但怎么调试还在摸索中,假如使用安卓作为打印客户端的话,优点是,进入后台 wbsocket 不会断,就能一直自动接单,但这样就有点 “重”,增加成本。一个小程序和一个打印机,“轻资产”,便宜,一个打印机也就 100 来块钱,订单推送 workman 稳定,还不要钱~
2021-03-25 更新添加优惠活动#
- 满减
- 打折
- 套餐
满减 - 打折 - 套餐
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: