colorUI--扫码点餐

吃饭的时候,发现某个饭店的扫码点餐功能很简洁,不把它做出来,心里痒痒的,从周一到周五,利用晚上下班时间,加上之前的积累,一个小demo 基本成型了。之后要是开个饭店就用它了~(手动狗头)

效果观看

扫码体验

1

如何使用

php artisan cache:clear
php artisan migrate
php artisan db:seed
php artisan serve --port=8888

访问

http://127.0.0.1:8888/h5/

---我是分割线---


以下想二次开发的同学看

技术栈

  • 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

访问 http://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 更新添加优惠活动

Posted in css || laravel || 前端 || 后端 || on Mar 12, 2021


Octobercms交流群