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 协议》,转载必须注明作者和本文链接
推荐文章: