吃飯的時候,發現某個飯店的掃碼點餐功能很簡潔,不把它做出來,心裡癢癢的,從週一到週五,利用晚上下班時間,加上之前的積累,一個小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門店的選單
草圖
本作品採用《CC 協議》,轉載必須註明作者和本文連結