Scala實戰-經過微信聊天窗口實現應答式點餐 0

近來學習Play 2和Akka,想着找一個實戰性的項目練練手。正好近來公司提供晚餐,天天看着程序媛拿着手機一個一個的找人點餐,耗時多、且容易點漏、又打斷了自身的工做……哥以爲小妹兒工做好累啊。做爲一個全棧工程師,爲公司小妹兒減輕工做負擔責無旁貸啊。git

就在想,就在想……用什麼方法能夠簡化這個點餐流程呢?把玩着手中的微信,看到同事們在公司羣裏胡吹海吹,Duang!有了,就作一個基於微信公衆號的點餐系統。github

技術

系統用到的技術有:數據庫

系統功能

通過深思熟慮的思考,作一個基於WEB的點餐,經過微信打開內置遊戲器訪問。這個,感受B格不夠高,就是作一個網站了,Low……。我得作一個與微信深度集成的點餐功能,就像一個聊天機器人一下。用戶輸入指令,系統返回菜單。甚至用戶輸入語音,系統也返回菜單,哈哈哈!微信

在聊天窗口輸入指令顯示菜單,如:框架

  • 0:全部指令
  • 1:註冊用戶
  • 2:今日菜單
  • 3:個人歷史(返回鏈接,直接進入個人歷史點餐記錄)

選擇今日菜單後,系統在聊天窗口返回:工具

  1. 菜品一
  2. 菜品二
  3. 菜品三
  4. 菜品四 。。。。。

用戶選中一個菜品後系統應返回一個確認提示:學習

  • 1:確認,2(其它):取消

用戶註冊網站

這個系統只限於公司內部使用,因此不能讓隨便一個關注了公司號的人均可以進行點餐操做。因此用戶註冊功能是必需得有的。註冊也採用應答的方式,用戶在微信聊天窗口輸入相關信息,系統驗證成功後註冊成功。code

有註冊了,那登陸呢?登陸?都已經用微信作入口了,就直接登陸了吧。遊戲

開發

Play

Play用來作什麼?根據微信公衆號的開發文檔,接入微信公衆號須要80端口,並使用HTTP協議。這不是要開發WEB嘛,哥用Scala作開發,那天然就是Play 2了。其實也不當當這個,Scala下可以使用的Web框架仍是不少的,甚至Spring也能夠的嘛。不過我就是想用用Play 2,OK。

Play其實還有一些網頁的開發工做,雖然是經過聊天窗口進行點餐。但仍是得有個簡單的管理後臺的,用於餐品管理、統計等。這些仍是作個WEB程序比較方便。

Akka

Akka有一個很好的特性,根據actor模型開發,天然而然就是一個樹型結構。很適合用來管理每一個微信用戶的菜單選擇狀態。

Slick

Slicktypesafe開發的一套用於訪問數據庫的工具庫。最新的3.x系列版本實現了一個非阻塞的數據庫訪問API,底層使用了JDBC驅動。

Slick是一個現代的訪問數據庫的Scala庫,使用編寫訪問數據庫代碼和日常編寫代碼同樣,使用類集合操做的方式來訪問數據庫。同時也提供了以原生SQL語言的方式來讀取數據庫,並同時保證類型檢查。

註冊微信號

https://mp.weixin.qq.com官網註冊訂閱號或服務號。步驟就不詳述了。

相關文章
相關標籤/搜索