張銀霞,郭暢
(北京聯(lián)合大學(xué)師范學(xué)院,北京100011)
智能手機(jī)在大學(xué)生群體中的使用率越來越高,他們很習(xí)慣在網(wǎng)絡(luò)平臺(tái)購物、點(diǎn)餐、交流?,F(xiàn)在越來越多的學(xué)校門口在就餐時(shí)間內(nèi)聚集了大量的送餐外賣,而外賣餐飲的制作環(huán)境、食材的安全性等方面都存在諸多問題。實(shí)際上,校園食堂的餐飲相對(duì)于校外的餐飲的優(yōu)勢還是很大的,安全衛(wèi)生、綠色健康價(jià)格還親民,但隨著校園師生的逐漸增多,排隊(duì)的情況日益增加,因各種原因無法來到食堂點(diǎn)餐的情況也有很多。結(jié)合這兩大問題,反觀我國手機(jī)微信市場、校園食堂訂餐軟件,目前還沒有一款將校園食堂和外賣結(jié)合在一起的微信公眾號(hào)。本系統(tǒng)基于校園實(shí)際需求調(diào)研,開發(fā)一款名為“虛擬化校園食堂餐飲系統(tǒng)”的微信公眾號(hào),利用手機(jī)微信掃碼集學(xué)校食堂點(diǎn)餐、評(píng)價(jià)、食堂餐飲管理等多功能為一體的綜合餐飲管理系統(tǒng),面向不同的用戶身份開放權(quán)限,虛擬校園食堂就餐功能,提供交友、論壇空間,豐富大學(xué)生的就餐交流方式,弘揚(yáng)中國傳統(tǒng)餐飲文化。
本系統(tǒng)分為前臺(tái)客戶端和后臺(tái)服務(wù)器端兩部分,主要功能需求分為食堂訂餐及配餐、虛擬化校園食堂空間和管理四大模塊。本系統(tǒng)分為三種角色:教師和學(xué)生、食堂工作人員和管理人員。前臺(tái)客戶端是基于手機(jī)微信掃碼在手機(jī)上使用,其中:食堂訂餐、虛擬化校園食堂空間由教師和學(xué)生使用,可以進(jìn)行查看學(xué)校食堂的配餐、菜品信息智能化篩選、下單訂購、菜品評(píng)價(jià)、餐飲自主搭配、論壇交流及交友、查看積分和虛擬化食堂功能等;食堂配餐模塊由食堂工作人員使用,可以進(jìn)行菜品信息的發(fā)布。后臺(tái)服務(wù)器端是ASP.NET動(dòng)態(tài)網(wǎng)站在電腦端使用,主要是該系統(tǒng)的管理模塊由食堂工作人員和管理員共同使用,可以實(shí)現(xiàn)對(duì)學(xué)生或教工的信息管理、學(xué)生菜品評(píng)價(jià)信息管理、食堂員工信息管理、公告管理、菜品信息發(fā)布和充值等內(nèi)容,功能模塊圖如圖1 所示。
圖1 系統(tǒng)功能模塊圖
在實(shí)現(xiàn)技術(shù)方面,本軟件的客戶端基于.NET 的MVC 模式開發(fā)微信公眾平臺(tái)的應(yīng)用程序,選擇“開發(fā)模式”的微信公眾服務(wù)平臺(tái),開發(fā)賬號(hào)的類型為測試賬號(hào),開發(fā)工具為Visual Studio 2015,用到的微信前端開發(fā)技術(shù)有HTML5、CSS3、JavaScript、jQuery Mobile、微信JS-DK、微信瀏覽器私有接口WeixinJSBridge 和JSAPI;本軟件的服務(wù)器端管理系統(tǒng)為ASP.NET 動(dòng)態(tài)網(wǎng)站,開發(fā)工具為Visual Studio2015,編程語言為C#,使用SQL Server 2008 進(jìn)行數(shù)據(jù)存儲(chǔ)和管理。
(1)配置ASP.NET 空間:本系統(tǒng)采用阿里云主機(jī)服務(wù)器作為存放ASP.NET MVC 應(yīng)用程序的主機(jī)空間,并申請域名。
(2)微信開發(fā)公眾平臺(tái)模式設(shè)計(jì):本系統(tǒng)需要調(diào)用微信公眾平臺(tái)提供的開發(fā)接口API,所以要申請成為開發(fā)者模式。登錄微信公眾平臺(tái)官方網(wǎng)站,申請成為微信公眾平臺(tái)開發(fā)者,獲取應(yīng)用ID(APPID)和應(yīng)用秘鑰(AppSecret)。
(3)申請接口測試號(hào):本系統(tǒng)申請微信公眾測試號(hào),可以調(diào)用所有接口,不受限制。
本軟件系統(tǒng)的功能數(shù)據(jù)基本都來源于自建庫,需要調(diào)用微信公眾平臺(tái)的接口,實(shí)現(xiàn)客戶端微信和服務(wù)器端動(dòng)態(tài)網(wǎng)站數(shù)據(jù)交互。開發(fā)者在調(diào)用微信公眾平臺(tái)的各個(gè)接口時(shí)多需要使用access_token。在獲取ac?cess_token 時(shí)需要開發(fā)者的appID 和appsecret,通過在后臺(tái)服務(wù)器端動(dòng)態(tài)網(wǎng)站的頁面中添加完成,獲取的關(guān)鍵代碼實(shí)現(xiàn)如下所示:
本系統(tǒng)功能分支較多,此章節(jié)僅列出有代表性的系統(tǒng)核心功能的實(shí)現(xiàn)方法。
本系統(tǒng)公告信息由管理員在后臺(tái)服務(wù)器網(wǎng)頁發(fā)布,實(shí)時(shí)推送到手機(jī)微信消息界面供教師和學(xué)生用戶查看,公告信息模塊的實(shí)現(xiàn)代碼如下所示。
實(shí)現(xiàn)原理:訪問根據(jù)微信的公眾類CRMComm,通過wx.GetAccessToken 獲得ACCESS_TOKEN 值,并獲得用戶信息users。根據(jù)model.user_name 用戶名拿到oauth_openid 微信openid,并通過微信推送信息的URL,將通知標(biāo)題、通知時(shí)間、通知簡介進(jìn)行發(fā)布,并且按照send_msg_date 里的通過后臺(tái)申請的微信模板信息(每個(gè)模板信息id 不同),最后用HttpPost 將URL 的數(shù)據(jù)post 到上面的URL 地址上,最終推送到微信消息界面。并將通知的控件model 的狀態(tài)status 由bll.up?date 進(jìn)行更新。
每當(dāng)用戶購買完畢,會(huì)根據(jù)用戶的購買情況推送相關(guān)菜品到微信消息界面,調(diào)用微信接口推送消息的實(shí)現(xiàn)原理同公告信息模塊,只是模板信息id 不同,消息的智能推送代碼的實(shí)現(xiàn)代碼如下所示:
教師和學(xué)生用戶通過主頁點(diǎn)擊“食堂訂餐”按鈕進(jìn)入菜品列表頁面,可預(yù)覽食堂菜品名稱、圖片、簡介、添加時(shí)間、價(jià)格。代碼實(shí)現(xiàn)時(shí),通過StringBuilder 對(duì)象templateBuilder,使 用templateBuilder.Append 方 法 以HTML5 標(biāo)記方式實(shí)現(xiàn),菜品信息展示的核心代碼如下所示:
點(diǎn)擊相應(yīng)的菜品可選擇數(shù)量并加入購物車,當(dāng)點(diǎn)擊確認(rèn)按鈕將執(zhí)行ShopCart.Add 自動(dòng)將菜品加入購物車并跳轉(zhuǎn)到購物車food_cart.aspx,菜品添加購物車實(shí)現(xiàn)的核心代碼如下所示:
食堂人員可通過手機(jī)微信員工入口輸入管理員設(shè)置的特定賬號(hào)登錄,通過手機(jī)拍照、相冊和iCloud 方式上傳菜品圖片、輸入菜品名稱、簡介、價(jià)格發(fā)布菜品,該功能是通過在頁面的源代碼中通過JavaScript 腳本代碼調(diào)用第三方插件完成,實(shí)現(xiàn)的核心代碼如下所示:
食堂人員可以輸入菜品詳情信息并上傳到數(shù)據(jù)庫表中,通過DoAdd 增加操作,將菜品的名稱、價(jià)格、圖片以及摘要上傳,食堂配餐信息上傳數(shù)據(jù)庫實(shí)現(xiàn)的關(guān)鍵代碼如下所示:
由于學(xué)校統(tǒng)一對(duì)學(xué)生進(jìn)行管理的特殊性,學(xué)生就餐時(shí)間會(huì)相對(duì)比較集中,導(dǎo)致放學(xué)時(shí)間段食堂人流量大、排隊(duì)時(shí)間長、就餐人員用餐體驗(yàn)差等問題,同時(shí)現(xiàn)在的大學(xué)生使用手機(jī)上網(wǎng)的頻率越來越高,在網(wǎng)絡(luò)上他們可以暢所欲言、展示自己的個(gè)性,但由于時(shí)間、空間、場地等各種限制,學(xué)生交友范圍有限,但校園的人員身份相對(duì)比較安全可靠,可以提供一個(gè)交友的網(wǎng)絡(luò)虛擬平臺(tái),讓大學(xué)生們邊吃邊聊,就像置身于校園食堂、自主餐廳等現(xiàn)實(shí)環(huán)境中一樣,在放松愉悅的同時(shí),使學(xué)生們的交友范圍可以跨專業(yè)、跨班級(jí),結(jié)交更多的校園好友,也有利于學(xué)生們形成專業(yè)互補(bǔ)、組隊(duì)比賽、考證幫扶等學(xué)習(xí)活動(dòng)的開展,給他們的大學(xué)生活帶來更多的樂趣?;谶@樣的一個(gè)目的在這款校園食堂餐飲管理系統(tǒng)中又開發(fā)出一個(gè)功能叫“虛擬化校園食堂空間”。
“虛擬化校園食堂空間”以大學(xué)生學(xué)習(xí)需求的種類為標(biāo)準(zhǔn)進(jìn)行空間版塊劃分,由管理員在服務(wù)器端動(dòng)態(tài)網(wǎng)站中進(jìn)行空間組的創(chuàng)建和管理,以論壇的形式展示,教師和學(xué)生根據(jù)需要選擇空間版塊組,不同的空間組只能看到本組的內(nèi)容。教師和學(xué)生留言后不是立刻顯示而是需要后臺(tái)管理員人工篩選審核后才會(huì)顯示,以保證系統(tǒng)健康的交流環(huán)境。教師和學(xué)生可以通過上方的搜索框來進(jìn)行關(guān)鍵詞的搜索。
(1)“虛擬化校園食堂空間”組的創(chuàng)建和管理實(shí)現(xiàn)
該部分是在服務(wù)器端動(dòng)態(tài)網(wǎng)頁中實(shí)現(xiàn),虛擬化校園食堂空間組的賦值和顯示實(shí)現(xiàn)見下方ShowInfo 事件過程處理,增加空間組的實(shí)現(xiàn)關(guān)鍵代碼見下方DoAdd事件過程處理。
實(shí)現(xiàn)原理:輸入的組名和選擇是否隱藏通過Show?Info 進(jìn)行賦值,根據(jù)bll.GetModel 里的id 將輸入的值賦值到控件model 上。并且通過DoAdd 進(jìn)行增加到虛擬化校園空間列表內(nèi),進(jìn)行對(duì)控件model 的bll.Add 插入操作。最后根據(jù)bll.GetModel 里的id 將輸入的值賦值到控件model 上。并且通過DoEdit 進(jìn)行對(duì)status 的model 空間進(jìn)行修改操作,如果rblIsLock.Checked 是開著的,那么將status 改為0,反之改為1,執(zhí)行bll.update將model 進(jìn)行修改。
(2)“虛擬化校園食堂空間”客戶端頁面實(shí)現(xiàn)
“虛擬化校園食堂空間”客戶端頁面在手機(jī)上運(yùn)行,可以實(shí)現(xiàn)“預(yù)定座位”、預(yù)定和會(huì)員點(diǎn)擊“預(yù)定餐位”三種方式進(jìn)入,通過HTML5 語言顯示了虛擬化校園空間的分組名稱和布局,實(shí)現(xiàn)的關(guān)鍵代碼如下所示:
(3)“虛擬化校園食堂空間”組的論壇版塊
虛擬化校園空間頁面可以分別從首頁點(diǎn)擊“預(yù)定座位”按鈕、預(yù)定和會(huì)員點(diǎn)擊“預(yù)定餐位”三種方式進(jìn)入。用戶可以在對(duì)應(yīng)版塊發(fā)布消息、留言、討論等內(nèi)容,單擊提交按鈕后,可將姓名、發(fā)表內(nèi)容和發(fā)布時(shí)間等信息上傳到后臺(tái)數(shù)據(jù)庫的留言表中,等待管理員審核后顯示,留言內(nèi)容上傳數(shù)據(jù)庫實(shí)現(xiàn)的關(guān)鍵代碼如下所示:
用戶在搜索欄中輸入關(guān)鍵詞后可以實(shí)現(xiàn)搜索功能,前臺(tái)頁面的關(guān)鍵詞搜索實(shí)現(xiàn)的關(guān)鍵代碼下所示:
其中,SiteSearch 函數(shù)代碼如下所示:
圖2 公告信息結(jié)果
圖3 消息智能推送
圖4 食堂訂餐
圖5“虛擬化校園食堂”
該系統(tǒng)的部分運(yùn)行結(jié)果依據(jù)上述核心功能模塊的順序進(jìn)行展示,公告信息實(shí)現(xiàn)效果如圖2 所示,消息的智能推送如圖3 所示,食堂訂餐模塊如圖4 所示,“虛擬化校園食堂空間”模塊如圖5 所示。
本軟件系統(tǒng)實(shí)現(xiàn)時(shí)重點(diǎn)突破解決了如下問題:
(1)系統(tǒng)應(yīng)用的便捷性,使用微信掃碼即可訪問本系統(tǒng),不需額外下載App,符合人們使用手機(jī)的習(xí)慣。
(2)菜品推薦的多樣化標(biāo)準(zhǔn)的設(shè)定和信息的智能化處理,從系統(tǒng)平臺(tái)的數(shù)據(jù)中提取用餐者以菜品的種類為標(biāo)準(zhǔn)的個(gè)人偏好和用餐規(guī)律,進(jìn)行菜品推薦,并為食堂配餐傾向性,做好服務(wù)工作提供決策依據(jù)。
(3)平臺(tái)的虛擬化校園餐廳功能,提供諸如交流、評(píng)價(jià)、論壇、交友等功能,模擬實(shí)際校園餐廳的空間和作用,給學(xué)生提供更多的相互認(rèn)識(shí)、交流的機(jī)會(huì),弘揚(yáng)中國傳統(tǒng)用餐文化,豐富學(xué)生的大學(xué)生活,也為其各項(xiàng)學(xué)習(xí)活動(dòng)提供互幫互助的機(jī)會(huì),也有利于改善學(xué)生的就餐體驗(yàn)。
本軟件系統(tǒng)還有以下幾點(diǎn)先進(jìn)性和獨(dú)特性:
(1)現(xiàn)在市場上此類功能定位的軟件系統(tǒng)還比較少,本系統(tǒng)是規(guī)范、安全、凈化校園用餐環(huán)境,輔助學(xué)校進(jìn)行餐飲管理的好助手。
(2)本系統(tǒng)自主開發(fā)的服務(wù)器端后臺(tái),搭載動(dòng)態(tài)網(wǎng)站和數(shù)據(jù)庫服務(wù)器,具有強(qiáng)大的智能信息處理能力,相對(duì)于市面上單純的App 和使用微信公眾號(hào)、小程序創(chuàng)建起來的類似軟件,對(duì)信息的處理能力更強(qiáng)大,可較好地服務(wù)于客戶端定制信息的需求,給用戶更好地使用感受。