汪艷 李雪竹
【摘 要】基于現(xiàn)代化互聯(lián)網(wǎng)平臺的發(fā)展及人們對健康的身體素質(zhì)追求,文中研究并設(shè)計了一種基于微信小程序的食堂點餐系統(tǒng)。該系統(tǒng)通過在前臺搭建MINA通用網(wǎng)絡(luò)框架,對其視圖層、邏輯層進行優(yōu)化設(shè)計,利用C/S網(wǎng)絡(luò)架構(gòu)作為中間介質(zhì)進行用戶請求的數(shù)據(jù)傳送,在后臺通過java、數(shù)據(jù)庫進行數(shù)據(jù)調(diào)用及應(yīng)答,從而成功的完成點餐服務(wù)。
【關(guān)鍵詞】前臺模塊;C/S網(wǎng)絡(luò)架構(gòu);后臺模塊
一、引言
近年來,隨著人們物質(zhì)及生活水平的提高,人們漸漸追求一種更加健康的飲食方式。自古有云:“民以食為天,食以凈為本”,可見,在日常生活中,吃飯是十分重要的,而同等重要的是食物要干凈衛(wèi)生。但在學(xué)校食堂中,排隊、插隊、占座和擁擠等現(xiàn)象屢見不鮮。許多學(xué)生經(jīng)常因看到擁擠的場面而放棄了在食堂用餐,選擇了十分不衛(wèi)生的外賣。我們也經(jīng)常能在電視新聞中看到黑心、衛(wèi)生不合格的店家,這些不健康的外賣食品摧殘著學(xué)生們的身體健康。與此同時,網(wǎng)上訂餐的使用已經(jīng)成為一種潮流,深入生活的方方面面。采用基于微信小程序的食堂訂餐系統(tǒng)不僅可以改善食堂擁擠、外賣不健康等一系列現(xiàn)象,提高同學(xué)們的飲食水平,保證食品安全。同時這種訂餐系統(tǒng)還可以加強食堂的管理和資源的有效利用,為食堂增加盈利。
二、系統(tǒng)架構(gòu)設(shè)計
本系統(tǒng)主要由前臺模塊、C/S網(wǎng)絡(luò)架構(gòu)以及后臺模塊所構(gòu)成。前臺模塊采用微信小程序,負責(zé)呈現(xiàn)食堂美食資訊、美食中心等信息,一旦用戶選擇查詢或點餐等服務(wù)請求,C/S網(wǎng)絡(luò)架構(gòu)立即啟動,將用戶產(chǎn)生的請求數(shù)據(jù)傳入服務(wù)器,通過java及數(shù)據(jù)庫組成的后臺模塊對服務(wù)器數(shù)據(jù)進行調(diào)用,最后完成點餐等用戶請求。系統(tǒng)結(jié)構(gòu)設(shè)計如圖1所示:
1、前臺模塊設(shè)計
前臺模塊立足于微信小程序,而其開發(fā)框架基于MINA框架。MINA框架是一個通用的網(wǎng)絡(luò)通信框架,框架核心是一個實時響應(yīng)的數(shù)據(jù)綁定系統(tǒng)。此系統(tǒng)分為視圖層(View)和邏輯層(APPService),作用是保障小程序視圖層視圖和邏輯層的數(shù)據(jù)同步。開發(fā)框架(如圖2所示)。其中邏輯層采用JavaScript語言實現(xiàn)微信小程序邏輯行為,視圖層由微信官方提供的WXML(WeiXinMarkLanguage)和WXSS(WeiXinStyleSheet)語言來編輯。視圖層和邏輯層之間的交互依靠數(shù)據(jù)傳輸和事件系統(tǒng)完成。
邏輯層:JS(JavaScript)是小程序邏輯層配置語言,以.js為后綴的腳本文件,負責(zé)整個小程序的邏輯部分。包括應(yīng)用級和頁面級注冊,在注冊頁面中可根據(jù)開發(fā)需要編寫事件邏輯完成組件功能。在.js文件中利用API函數(shù)可完成小程序通過C/S網(wǎng)絡(luò)架構(gòu)與服務(wù)器之間的數(shù)據(jù)交互、數(shù)據(jù)緩存、界面路由等。在js文件中函數(shù)定義格式:函數(shù)名: Function (形參) {函數(shù)體}。
視圖層:WXML(WeiXin Markup Language)是一種非編程性標簽語言,用于頁面結(jié)構(gòu)描述,為用戶“靜態(tài)”呈現(xiàn)內(nèi)容。微信小程序WXML具有數(shù)據(jù)綁定、列表渲染、條件渲染、模板、事件綁定的功能。組件一般格式為:<標簽名屬性=“屬性值”事件=“”事件名”>標簽內(nèi)容(可嵌套標簽)...</標簽名>。組件(或頁面元素)通常包括開始標簽、組件內(nèi)容、結(jié)束標簽三部分。屬性用來修飾組件在頁面中的顯示效果,是連接頁面樣式和頁面結(jié)構(gòu)主要的途徑。事件用來為組件賦以“思想”,使組件能夠有行為效果,是實現(xiàn)視圖層和邏輯層之間交互的橋梁。
WXSS(WeiXin Style Sheets)是基于MINA框架設(shè)計的一套樣式語言,描述WXML的組件樣式,給用戶顯示樣頁面元素的外觀。頁面中布局、元素類別、字體、顏色等均由WXSS文件設(shè)置。WXSS樣式一般由選擇器和聲明兩部分組成。基本格式如下:選擇器{屬性:屬性值;屬性2:屬性值2... }。
三、C/S網(wǎng)絡(luò)架構(gòu)的微代碼實現(xiàn)
在本系統(tǒng)采用C/S網(wǎng)絡(luò)結(jié)構(gòu)作為前臺模塊與后臺模塊之間傳輸數(shù)據(jù)的中間介質(zhì),利用其數(shù)據(jù)的儲存管理功能較為透明、對應(yīng)用服務(wù)器運行數(shù)據(jù)負荷較輕等優(yōu)點。其功能可通過如下微代碼實現(xiàn):
public static String reverse(String s)
{
char[] array=s.toCharArray();
String reverse=“”;//注意這里是空串,不是null
for(int i=array.length-1;i>=0;i--)
reverse +=array[i];
return reverse;
}
四、后臺模塊設(shè)計
本系統(tǒng)后臺模塊主要運用java及數(shù)據(jù)庫進行結(jié)合,應(yīng)答前臺點餐服務(wù)等各種用戶請求,同時通過數(shù)據(jù)庫進行用戶、食堂等各類信息的存儲。其中,信息存儲是后臺設(shè)計中最為重要的部分,而數(shù)據(jù)庫的選擇則尤為重要。故項目采用MySQL數(shù)據(jù)庫,因該數(shù)據(jù)庫不僅支持多線程、優(yōu)化了SQL算法提高后臺查詢數(shù)據(jù)速度,還為java提供API。而其各類信息存儲設(shè)計可參考用戶表的設(shè)計(如下所示)。
五、結(jié)語
目前,隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展及人們生活水平的不斷提高,保持身體健康、維持穩(wěn)定發(fā)展成為我們長期不懈所追求的目標。本文旨在設(shè)計一款基于微信小程序的食堂點餐系統(tǒng)。構(gòu)建前臺MINA通用網(wǎng)絡(luò)框架模塊、C/S中間數(shù)據(jù)傳輸介質(zhì)、后臺數(shù)據(jù)調(diào)用及應(yīng)答模塊,成功完成點餐服務(wù)。為校園生活點餐而困擾的學(xué)生帶去便利,節(jié)省排隊等待點餐時間的同時維護學(xué)生身體健康。
【參考文獻】
[1]汪發(fā)強,熊聰聰,趙叢.基于訂餐APP的食堂運營模式改革研究[J].無線互聯(lián)科技.2018.
[2]錢麗丹.基于移動互聯(lián)網(wǎng)技術(shù)的高校食堂特色訂餐系統(tǒng)的設(shè)計[J].計算機時代.2017.1006-8228(2017)03-17-04.
[3]鄒澤慶,曹亞楠,王宏陽.大學(xué)生食堂在線點餐系統(tǒng)的設(shè)計與實現(xiàn)[J].2018.1673-291X(2018)14-0186-02
[4]張敬博,郭???,趙楚楚.高校食堂網(wǎng)上訂餐系統(tǒng)[J].消費電子.2014.
[5]隋雨曈.高校食堂掌上預(yù)訂餐平臺“e食堂”運營模式研究[J].2019.F724.6.