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