傅祥坤 楊永超
摘要:隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,傳統(tǒng)的宿舍設(shè)施報(bào)修方式已經(jīng)無(wú)法滿足高校的發(fā)展需求。文章基于微信開(kāi)發(fā)平臺(tái),實(shí)現(xiàn)了一款基于微信小程序的高校宿舍報(bào)修系統(tǒng),簡(jiǎn)化了報(bào)修流程,提高了報(bào)修效率,并使用云開(kāi)發(fā)平臺(tái)對(duì)信息存儲(chǔ)與查詢進(jìn)行優(yōu)化,為高校宿舍管理帶來(lái)便利。
關(guān)鍵詞:微信小程序;宿舍報(bào)修系統(tǒng);云開(kāi)發(fā)平臺(tái)
中圖分類號(hào):TP311.5? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2022)22-0042-03
1 引言
自新冠肺炎疫情暴發(fā)以來(lái),很多高校陸續(xù)實(shí)施封閉式管理,宿舍內(nèi)設(shè)施的使用頻率大大提高,各類設(shè)施故障時(shí)有發(fā)生。傳統(tǒng)的宿舍報(bào)修方式有:學(xué)生在宿管處上報(bào)問(wèn)題、學(xué)生直接聯(lián)系維修人員、學(xué)院每年度組織調(diào)查宿舍設(shè)備損壞情況等。經(jīng)調(diào)研發(fā)現(xiàn),傳統(tǒng)的宿舍報(bào)修方式存在上報(bào)流程繁雜、維修周期較長(zhǎng)和管理維護(hù)方式不規(guī)范等方面的問(wèn)題[1],而學(xué)生對(duì)傳統(tǒng)報(bào)修方式的滿意度不到30%。
近年來(lái),我國(guó)出臺(tái)了很多有關(guān)加強(qiáng)高校宿舍管理的政策文件,體現(xiàn)了國(guó)家對(duì)于高校宿舍管理問(wèn)題的高度重視。另一方面,國(guó)家目前大力推動(dòng)“互聯(lián)網(wǎng)+”建設(shè),各高校的學(xué)習(xí)生活方式也應(yīng)與互聯(lián)網(wǎng)技術(shù)深度融合[2]。目前中國(guó)各高校使用互聯(lián)網(wǎng)智能手段進(jìn)行宿舍報(bào)修管理的比例明顯上升,但多采用H5網(wǎng)頁(yè)端平臺(tái)、專用宿舍報(bào)修App等進(jìn)行宿舍報(bào)修管理[3],開(kāi)發(fā)成本高,且用戶需經(jīng)安裝、注冊(cè)、登錄等煩瑣操作才能使用。而微信小程序依托微信平臺(tái),使用微信號(hào)即可登錄,具有占用內(nèi)存小、開(kāi)發(fā)成本低、操作便捷等優(yōu)點(diǎn)[4-5]。
為此,本文將開(kāi)發(fā)一款基于微信小程序的高校宿舍報(bào)修系統(tǒng),前端使用WXSS、JavaScript以及WXML三種不同語(yǔ)言實(shí)現(xiàn),后端依托微信云開(kāi)發(fā)平臺(tái),使用云數(shù)據(jù)庫(kù)、云函數(shù)等功能,維持小程序的安全穩(wěn)定運(yùn)行,最終設(shè)計(jì)的系統(tǒng)可簡(jiǎn)化宿舍報(bào)修流程,顯著提高報(bào)修效率。
2 系統(tǒng)分析
根據(jù)調(diào)研的用戶需求,系統(tǒng)設(shè)計(jì)了學(xué)生和宿管/維修人員兩種用戶角色:學(xué)生具有宿舍申報(bào)、查詢申報(bào)信息、查看申報(bào)詳情的功能,而宿管/維修人員具有查詢申報(bào)信息、查看申報(bào)詳情、修改申報(bào)信息狀態(tài)的功能,其中宿管/維修人員角色的授權(quán)將由后臺(tái)統(tǒng)一設(shè)置。
3 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
3.1 系統(tǒng)總體設(shè)計(jì)
宿舍報(bào)修微信小程序共由主頁(yè)面、報(bào)修申請(qǐng)頁(yè)面、報(bào)修詳情查看頁(yè)面、報(bào)修記錄管理頁(yè)面組成,并設(shè)計(jì)了報(bào)修狀態(tài)推送功能,可實(shí)時(shí)推送報(bào)修單狀態(tài)給報(bào)修學(xué)生或宿管/維修人員。系統(tǒng)總體設(shè)計(jì)如圖1所示。
3.2 云開(kāi)發(fā)平臺(tái)設(shè)計(jì)
云開(kāi)發(fā)平臺(tái)主要包含云數(shù)據(jù)庫(kù)及云函數(shù)的設(shè)計(jì)。
1) 云數(shù)據(jù)庫(kù)設(shè)計(jì)
云數(shù)據(jù)庫(kù)下設(shè)計(jì)三個(gè)不同集合,分別為c_apply、c_role和c_share集合,c_apply集合存儲(chǔ)了申報(bào)人所填寫的報(bào)修詳細(xì)信息,具體集合字段為(報(bào)修記錄id,openid,報(bào)修時(shí)間,報(bào)修詳情,房間號(hào),樓棟號(hào),維修緊急程度,姓名,聯(lián)系電話,當(dāng)前處理狀態(tài));c_role集合存儲(chǔ)了宿管/維修人員登錄申報(bào)管理頁(yè)面時(shí)的驗(yàn)證身份信息,具體集合字段為(id,姓名,openid,聯(lián)系電話,角色) ;c_share集合存儲(chǔ)了校園內(nèi)學(xué)生分享小程序時(shí)出現(xiàn)的分享信息,具體集合字段為(id,分享用圖的URL,路徑,標(biāo)題)。其中id是云數(shù)據(jù)庫(kù)自動(dòng)生成的字段,openid存儲(chǔ)不同用戶在微信小程序平臺(tái)的唯一標(biāo)識(shí)。
2) 云函數(shù)設(shè)計(jì)
本項(xiàng)目云開(kāi)發(fā)平臺(tái)的云函數(shù)中,除去建立小程序項(xiàng)目時(shí)微信開(kāi)發(fā)者自動(dòng)上傳的quickstartFunctions()函數(shù),共上傳并部署了三個(gè)不同的云函數(shù),分別為applyNotice()函數(shù)、handleNotice()函數(shù)、login()函數(shù)。其中applyNotice()函數(shù)主要幫助通過(guò)固定模板獲取申報(bào)人填寫的報(bào)修詳細(xì)信息,并推送消息至維修人員或宿舍管理員;handleNotice()函數(shù)主要用于幫助宿舍管理員以及維修人員推送消息提醒同學(xué)報(bào)修已處理;login()函數(shù)主要用于獲取當(dāng)前微信小程序的唯一標(biāo)識(shí)appid以及各用戶在微信小程序平臺(tái)的唯一標(biāo)識(shí)openid。
3.3 宿舍報(bào)修主頁(yè)面設(shè)計(jì)與實(shí)現(xiàn)
進(jìn)入宿舍報(bào)修系統(tǒng)小程序后,首先顯示主頁(yè)面,如圖2所示。主頁(yè)面由宿舍報(bào)修、宿舍管理員(宿管/維修人員) 、樓棟選擇、當(dāng)前已處理、當(dāng)前未處理五大控件組成,點(diǎn)擊對(duì)應(yīng)按鈕可實(shí)現(xiàn)跳轉(zhuǎn)或響應(yīng)交互。點(diǎn)擊宿舍報(bào)修按鈕,將跳轉(zhuǎn)至申報(bào)申請(qǐng)頁(yè)面進(jìn)行表單填寫,完成宿舍報(bào)修;點(diǎn)擊宿舍管理員將跳轉(zhuǎn)至管理員登錄頁(yè)面,管理員輸入賬號(hào)密碼完成登錄后進(jìn)入申報(bào)管理頁(yè)面,對(duì)當(dāng)前存在的所有申報(bào)信息進(jìn)行管理;選擇樓棟信息可以查詢所選擇樓棟的所有宿舍報(bào)修信息,此處通過(guò)調(diào)用selectFloor()函數(shù)將獲取已填報(bào)修單的所有樓棟號(hào),并配合van-picker選擇器,實(shí)現(xiàn)樓棟號(hào)的滑動(dòng)選擇;接著后臺(tái)調(diào)用getApplyData()函數(shù)將從云數(shù)據(jù)庫(kù)中獲取所選樓棟的報(bào)修信息,并在此過(guò)程中確認(rèn)各個(gè)報(bào)修信息的處理狀態(tài),在相對(duì)應(yīng)的“當(dāng)前已處理”或“當(dāng)前未處理”區(qū)域予以顯示。其中“當(dāng)前已處理”區(qū)域顯示已經(jīng)被管理員確認(rèn)處理完成的申報(bào)信息列表;“當(dāng)前未處理”區(qū)域顯示尚未被管理員確認(rèn)處理完成的申報(bào)信息列表。
3.4 報(bào)修申請(qǐng)頁(yè)面設(shè)計(jì)與實(shí)現(xiàn)
點(diǎn)擊主界面左上角的“報(bào)修申報(bào)”按鈕,將跳轉(zhuǎn)至申報(bào)申請(qǐng)頁(yè)面,如圖3所示。申報(bào)人部分由學(xué)生填寫自己的姓名;申報(bào)宿舍的樓棟號(hào)部分由滑動(dòng)選擇模塊完成,避免了申報(bào)人出現(xiàn)填寫錯(cuò)誤的情況,而房間號(hào)則由申報(bào)人自行填寫;聯(lián)系電話部分由申報(bào)人填寫自己的電話聯(lián)系方式;申報(bào)描述部分由申報(bào)人自主填寫需要報(bào)修的宿舍設(shè)施的具體損壞情況,便于維修人員技術(shù)了解情況,及時(shí)維修;最后的維修緊急程度部分提供了普通維修以及緊急維修兩種緊急程度讓申報(bào)人進(jìn)行選擇,宿管/維修人員可以通過(guò)申報(bào)人所選擇的報(bào)修緊急程度來(lái)統(tǒng)籌安排當(dāng)天的維修計(jì)劃,更快更好地滿足不同學(xué)生的報(bào)修需求。若申報(bào)人所填信息存在缺項(xiàng)漏項(xiàng)的情況,將會(huì)彈窗提醒申報(bào)人填寫選擇缺漏的部分。
待確認(rèn)所有信息準(zhǔn)確無(wú)誤后,點(diǎn)擊“提交”按鈕,后臺(tái)將通過(guò)setName()函數(shù)、selectFloor()函數(shù)、setDormNum()函數(shù)、setPhone()函數(shù)、setDesc()函數(shù)、selectLevel()函數(shù)將分別讀取申報(bào)人所填寫選擇的姓名、樓棟號(hào)、宿舍號(hào)、聯(lián)系電話、申報(bào)描述詳情、維修緊急程度等信息,之后,調(diào)用inApplyData()函數(shù)將所有讀取到的信息整理并按固定模板上傳至云數(shù)據(jù)庫(kù)中的c_apply集合下。
3.5 報(bào)修詳情查看頁(yè)面設(shè)計(jì)與實(shí)現(xiàn)
在各個(gè)報(bào)修信息欄右下角點(diǎn)擊“查看詳情”按鈕,將跳轉(zhuǎn)至申報(bào)表頁(yè)面,如圖4所示。進(jìn)入申報(bào)表頁(yè)面后,調(diào)用getApplyDataItem()函數(shù)獲取云數(shù)據(jù)庫(kù)之中的c_apply集合下相對(duì)應(yīng)的申報(bào)詳情,并通過(guò)預(yù)設(shè)的模板顯示出來(lái)。其中包括申報(bào)人、申報(bào)宿舍、聯(lián)系電話、申報(bào)描述、申報(bào)級(jí)別、申報(bào)狀態(tài)以及申報(bào)日期等信息。其中聯(lián)系電話部分設(shè)有“一鍵聯(lián)系”和“一鍵復(fù)制”兩個(gè)按鈕,點(diǎn)擊“一鍵聯(lián)系”按鈕,將調(diào)用微信小程序平臺(tái)提供的wx.makePhoneCall接口,使手機(jī)跳轉(zhuǎn)至撥號(hào)界面并自動(dòng)輸入當(dāng)前申報(bào)表界面顯示的聯(lián)系電話。點(diǎn)擊“一鍵復(fù)制”按鈕,將調(diào)用微信小程序平臺(tái)提供的wx.setClipboardData接口,將當(dāng)前申報(bào)表界面顯示的聯(lián)系電話復(fù)制到手機(jī)輸入法的剪貼板中,方便維修人員聯(lián)系報(bào)修學(xué)生。
3.6 報(bào)修記錄管理頁(yè)面設(shè)計(jì)與實(shí)現(xiàn)
點(diǎn)擊主界面右上角的“宿舍管理員”按鈕,首先將通過(guò)調(diào)用login云函數(shù)獲取用戶在微信小程序平臺(tái)的獨(dú)有標(biāo)識(shí)openid,隨后getUserRole()將獲取到的用戶openid與云數(shù)據(jù)庫(kù)下的c_role集合中的管理員信息進(jìn)行比對(duì),若c_role集合中存有對(duì)應(yīng)該用戶openid的信息,且其中的role信息為“超級(jí)管理員”,則該用戶可以獲取權(quán)限跳轉(zhuǎn)至申報(bào)管理頁(yè)面,如圖5所示。否則會(huì)跳出彈窗提醒用戶暫無(wú)權(quán)限,頁(yè)面將停留在主頁(yè)面。
進(jìn)入申報(bào)管理頁(yè)面后,篩選樓棟信息與處理狀態(tài)信息查看所有報(bào)修信息的功能與主頁(yè)面一致,但在當(dāng)前未處理的所有報(bào)修信息下,宿管/維修人員可以點(diǎn)擊各個(gè)報(bào)修信息右下角的“確認(rèn)處理”按鈕,將當(dāng)前報(bào)修信息的狀態(tài)由當(dāng)前未處理更改為當(dāng)前已處理。在當(dāng)前已處理的所有報(bào)修信息下,宿管/維修人員可以點(diǎn)擊各個(gè)報(bào)修信息右下角的“刪除”按鈕,將需要?jiǎng)h除的報(bào)修信息從宿舍報(bào)修系統(tǒng)中刪去。
點(diǎn)擊“確認(rèn)處理”按鈕,調(diào)用updateApplyStatus()函數(shù)修改報(bào)修信息狀態(tài)。首先將跳出彈窗提示宿管/維修人員是否確認(rèn)處理此申報(bào)數(shù)據(jù),有“取消”和“確定”兩個(gè)按鈕可選擇,當(dāng)宿管/維修人員點(diǎn)擊“確定”按鈕,將跳出彈窗提示正在處理中,同時(shí)updateApplyStatus()函數(shù)會(huì)讀取云數(shù)據(jù)庫(kù)中c_apply集合下相對(duì)應(yīng)的報(bào)修信息,將其狀態(tài)更改為“已處理”,并跳出彈窗提示宿管/維修人員處理成功。
點(diǎn)擊“刪除”按鈕,將調(diào)用deleteApplyData()函數(shù)刪除報(bào)修信息。首先將跳出彈窗提示宿管/維修人員是否確認(rèn)刪除此申報(bào)數(shù)據(jù),有“取消”和“確定”兩個(gè)按鈕可選擇,當(dāng)宿舍管理員或維修人員點(diǎn)擊“確定”按鈕,將跳出彈窗提示正在刪除中,同時(shí)deleteApplyData()函數(shù)會(huì)讀取云數(shù)據(jù)庫(kù)之中的c_apply集合下相對(duì)應(yīng)的報(bào)修信息,并將其刪除,隨后將跳出彈窗提示宿舍管理員或維修人員刪除成功。
3.7 報(bào)修狀態(tài)推送功能設(shè)計(jì)與實(shí)現(xiàn)
當(dāng)報(bào)修學(xué)生在申報(bào)申請(qǐng)頁(yè)面正確填寫并選擇完信息后,點(diǎn)擊“提交”按鈕時(shí),將出現(xiàn)彈窗提示用戶授權(quán)接收訂單完成通知。當(dāng)報(bào)修學(xué)生成功提交報(bào)修申請(qǐng),系統(tǒng)將按模板將數(shù)據(jù)整合發(fā)送下單成功通知至宿管/維修人員的微信服務(wù)通知模塊中,宿管/維修人員可以點(diǎn)擊通知進(jìn)入小程序查看詳情,如圖6所示。當(dāng)宿管/維修人員在管理頁(yè)面將報(bào)修記錄狀態(tài)修改為“已處理”時(shí),系統(tǒng)將按模板將數(shù)據(jù)整合發(fā)送訂單完成通知至對(duì)應(yīng)報(bào)修記錄的報(bào)修學(xué)生的微信服務(wù)通知模塊中,報(bào)修學(xué)生可以點(diǎn)擊通知進(jìn)入小程序查看詳情,訂單完成通知如圖7所示。
此外,系統(tǒng)還支持小程序分享功能,方便系統(tǒng)推廣。當(dāng)用戶分享小程序時(shí),系統(tǒng)將調(diào)用存儲(chǔ)于云數(shù)據(jù)庫(kù)c_share集合中的小程序簡(jiǎn)介和對(duì)應(yīng)圖片,并顯示與被分享用戶的聊天窗口中。
4 系統(tǒng)測(cè)試
宿舍報(bào)修微信小程序運(yùn)行在智能硬件上,后臺(tái)服務(wù)器運(yùn)行在微信云開(kāi)發(fā)平臺(tái)上,本文分別在iOS與Android這兩種常見(jiàn)的智能硬件操作系統(tǒng)下進(jìn)行了測(cè)試。采用黑盒測(cè)試法分別對(duì)兩種用戶角色進(jìn)行了功能測(cè)試,測(cè)試用例如表1所示,測(cè)試結(jié)果表明系統(tǒng)可以正常運(yùn)行,并實(shí)現(xiàn)了預(yù)期功能。
5 結(jié)束語(yǔ)
基于微信小程序的宿舍報(bào)修系統(tǒng)利用了微信小程序的優(yōu)勢(shì),無(wú)須注冊(cè)賬號(hào)、登錄、綁定等煩瑣操作,登錄微信即可使用,實(shí)現(xiàn)了學(xué)生申請(qǐng)報(bào)修及宿舍管理員處理報(bào)修記錄的功能。此外,系統(tǒng)還具有報(bào)修單推送功能,可實(shí)時(shí)推送報(bào)修單給維修人員,提高了宿舍報(bào)修效率,方便了學(xué)生的學(xué)習(xí)及生活。
參考文獻(xiàn):
[1] 田小院.高校學(xué)生公寓維修管理中存在的問(wèn)題及對(duì)策探討[J].高校后勤研究,2017(1):39-40.
[2] 羅藝榮.學(xué)生宿舍管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].廈門:廈門大學(xué),2013.
[3] 鄭桂昌.基于微信公眾號(hào)的宿舍報(bào)修系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)與軟件工程,2018(23):48.
[4] 劉玉佳.微信“小程序”開(kāi)發(fā)的系統(tǒng)實(shí)現(xiàn)及前景分析[J].信息通信,2017,30(1):260-261.
[5] 李哲,周靈.微信小程序的架構(gòu)與開(kāi)發(fā)淺析[J].福建電腦,2019,35(12):66-69.
【通聯(lián)編輯:謝媛媛】