傅祥坤 楊永超



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