colorUI-掃碼點餐

jcc123發表於2021-03-15

吃飯的時候,發現某個飯店的掃碼點餐功能很簡潔,不把它做出來,心裡癢癢的,從週一到週五,利用晚上下班時間,加上之前的積累,一個小demo 基本成型了。之後要是開個飯店就用它了~(手動狗頭)

效果觀看

掃碼體驗

colorUI-掃碼點餐

如何使用

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

訪問

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

訪問 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 協議》,轉載必須註明作者和本文連結
NOT IS BECAUSE I WANT TO WRITE, BUT I WANT TO INCREASE, SO I GO TO WRITE~~

相關文章