劉凱婷 史素娟 余丙軍
摘要:在機(jī)房的日常使用中,機(jī)房的使用者與管理者之間常因?yàn)楦鞣N原因無(wú)法方便快捷的溝通,并且缺少便利的安全教育途徑。為解決這些問(wèn)題,設(shè)計(jì)開(kāi)發(fā)了一款基于微信小程序的管理平臺(tái)。該系統(tǒng)使用JavaScript、WXML和WXSS語(yǔ)言進(jìn)行前端開(kāi)發(fā),后端采用微信團(tuán)隊(duì)提供的云數(shù)據(jù)庫(kù)、云函數(shù)和云存儲(chǔ)服務(wù),分為用戶端和管理員端,核心模塊包含壞設(shè)備報(bào)修模塊,文檔學(xué)習(xí)模塊,機(jī)房建議模塊,查看通知模塊等多個(gè)模塊,給高校機(jī)房的管理提供了方便可靠的手段。
Abstract: In the daily use of the computer room, the users and the managers are often unable to communicate conveniently and quickly for various reasons, and lack of convenient safety education approaches. To solve these problems, a management platform based on WeChat is designed and developed. The system uses JavaScript, WXML and WXSS language in terms of front end development, and the back-end uses cloud database, cloud function and cloud storage service provided by Wechat team. The system is divided into users and managers entrance, and the core module contains bad equipment repair service module, document learning module, suggestion module, notification module and other modules, which provides a convenient and reliable method to the management of college computer room.
關(guān)鍵詞:機(jī)房管理系統(tǒng);小程序;微信
Key words: computer room management system;small program;WeChat
中圖分類號(hào):G434? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文章編號(hào):1006-4311(2020)09-0217-03
0? 引言
機(jī)房是學(xué)生進(jìn)行計(jì)算機(jī)上機(jī)實(shí)驗(yàn)的場(chǎng)所,是高校培養(yǎng)人才的教學(xué)活動(dòng)中非常重要的一個(gè)環(huán)節(jié),但往往不被師生們重視。第一,機(jī)房的使用者與管理者之間存在一定的隔離。首先,在高校的機(jī)房使用過(guò)程中,設(shè)備有時(shí)會(huì)出現(xiàn)損壞的情況,但學(xué)生和老師沒(méi)有方便快捷的報(bào)修途徑,需要自己找到機(jī)房負(fù)責(zé)人,但機(jī)房負(fù)責(zé)人往往會(huì)有其他任務(wù)。其次,在機(jī)房上課的老師和學(xué)生常常會(huì)想給機(jī)房管理老師提點(diǎn)建議,而機(jī)房管理員也想快速通知使用者一些重要事項(xiàng),該項(xiàng)目能通過(guò)小程序?yàn)闄C(jī)房管理員與使用者提供便捷快速的溝通渠道。第二,機(jī)房的安全教育很薄弱。安全地使用機(jī)房設(shè)備不僅能保證學(xué)生和教師的安全,同時(shí)也有助于延長(zhǎng)高校機(jī)房設(shè)備的使用壽命,減少損耗。因此,在進(jìn)入機(jī)房使用設(shè)備時(shí),學(xué)生和教師都必須先閱讀使用手冊(cè)和安全手冊(cè),同時(shí)遇到緊急情況還能找到解決辦法以及聯(lián)系負(fù)責(zé)人。現(xiàn)有的紙質(zhì)閱讀費(fèi)時(shí)費(fèi)力,并且不利于查閱。該項(xiàng)目則能通過(guò)方便快捷的線上學(xué)習(xí)對(duì)機(jī)房用戶進(jìn)行安全培訓(xùn)。
1? 系統(tǒng)構(gòu)成
1.1 架構(gòu)設(shè)計(jì)
該系統(tǒng)分為學(xué)生教師端(即為用戶端)和機(jī)房管理員端兩大模塊。在一進(jìn)入系統(tǒng)的時(shí)候會(huì)先有用戶登錄模塊,選擇用戶入口或者管理員入口,根據(jù)微信賬號(hào)識(shí)別有無(wú)權(quán)限。用戶端又分為壞設(shè)備報(bào)修模塊,設(shè)備信息查看模塊,文檔學(xué)習(xí)模塊,機(jī)房建議交流模塊,查看通知模塊和個(gè)人信息模塊。管理員端又分為留言模塊,資料管理模塊,用戶信息管理模塊,設(shè)備信息管理模塊,建議管理模塊和通知管理模塊。用戶端的功能包括報(bào)修機(jī)房壞設(shè)備,查看機(jī)房壞設(shè)備,學(xué)習(xí)機(jī)房設(shè)備使用和機(jī)房安全相關(guān)文檔,在學(xué)習(xí)文檔和視頻的時(shí)候進(jìn)行心得體會(huì)交流,對(duì)機(jī)房提建議,對(duì)別人的建議進(jìn)行評(píng)論,查看管理員發(fā)的通知,查看和修改個(gè)人信息。管理員端的功能包括,對(duì)留言進(jìn)行管理,查看報(bào)修的設(shè)備并在設(shè)備修理好以后及時(shí)更改設(shè)備信息,管理視頻還有文檔學(xué)習(xí)資料,管理用戶信息和用戶權(quán)限,管理建議和通知等功能。
1.2 功能介紹
①用戶登錄模塊。在該模塊中,用戶選擇登錄入口,學(xué)生、教師以及游客都選擇用戶入口,只有機(jī)房管理員可選擇管理員入口。教師可以選擇申請(qǐng)管理員賬號(hào),需要最高管理員審核通過(guò)給予權(quán)限。
②壞設(shè)備報(bào)修模塊。當(dāng)教師和學(xué)生在使用機(jī)房的時(shí)候,如果發(fā)現(xiàn)有設(shè)備出現(xiàn)損壞或者其他無(wú)法使用的情況,可以及時(shí)通報(bào)給管理員,并且記錄在壞設(shè)備列表中。在報(bào)修壞設(shè)備的時(shí)候需要實(shí)名,沒(méi)有填寫(xiě)個(gè)人資料無(wú)法報(bào)修。用戶需要提供樓棟號(hào),房間號(hào)以及機(jī)器號(hào)等數(shù)據(jù),有利于機(jī)房管理員及時(shí)聯(lián)系維修人員檢查相應(yīng)設(shè)備。
③設(shè)備信息查看模塊。學(xué)生可以查看所有記錄在案的壞設(shè)備,并且可以根據(jù)樓棟,機(jī)房號(hào)進(jìn)行篩選,這個(gè)功能模塊有助于學(xué)生上課以及考試期間避開(kāi)壞設(shè)備。
④文檔學(xué)習(xí)模塊。當(dāng)教師和學(xué)生想要具體學(xué)習(xí)機(jī)房使用規(guī)則時(shí),可以通過(guò)該小程序觀看機(jī)房學(xué)習(xí)文件。文件在云存儲(chǔ)中。
⑤機(jī)房建議交流模塊。教師和學(xué)生可以向管理員提關(guān)于機(jī)房管理和設(shè)施的建議。教師和學(xué)生可以在某建議下進(jìn)行評(píng)論、點(diǎn)贊或者點(diǎn)倒贊,促進(jìn)機(jī)房改善。對(duì)機(jī)房提建議可以匿名,有助于學(xué)生大膽的提出自己的想法。評(píng)論必須實(shí)名,這樣有助于營(yíng)造和諧的交流環(huán)境。
⑥查看通知模塊。首頁(yè)可以查看到機(jī)房管理員發(fā)布的關(guān)于各樓棟各個(gè)機(jī)房的最新消息和安排,有利于學(xué)生和教師及時(shí)獲取相關(guān)信息。
⑦個(gè)人信息模塊。學(xué)生和教師在該頁(yè)面完善個(gè)人信息,沒(méi)有完善信息的游客不予發(fā)表機(jī)房建議或者報(bào)修的權(quán)限。但是可以查看壞設(shè)備列表、通知和學(xué)習(xí)文檔。
⑧資料管理模塊。機(jī)房最高權(quán)限管理員可在資料管理模塊上傳或刪除機(jī)房學(xué)習(xí)的文件和相關(guān)的圖片。
⑨用戶信息管理模塊。機(jī)房最高權(quán)限管理員可以查看學(xué)生或者教師的資料。若是學(xué)生或者教師申請(qǐng)管理員權(quán)限,機(jī)房最高權(quán)限管理員可以審核通過(guò)予以權(quán)限或者拒絕該申請(qǐng)。
⑩設(shè)備信息管理模塊。機(jī)房最高權(quán)限管理員可以看到壞設(shè)備列表。在設(shè)備維修好了以后,由機(jī)房管理員負(fù)責(zé)修改設(shè)備狀態(tài)。
{11}建議管理模塊。機(jī)房管理員可以查看到用戶對(duì)機(jī)房的提議,并且可以參與討論,進(jìn)行點(diǎn)贊或點(diǎn)倒贊等。同時(shí)機(jī)房管理員還可以對(duì)建議以及建議底下的評(píng)論進(jìn)行刪除操作。
{12}通知管理模塊。機(jī)房管理員可以管理已發(fā)布的通知,刪除舊的已過(guò)時(shí)的通知,同時(shí)發(fā)布新的通知。
2? 技術(shù)方法
2.1 前端技術(shù)
該系統(tǒng)由于采用了云數(shù)據(jù)庫(kù)作為后臺(tái)存儲(chǔ),開(kāi)發(fā)難度主要集中在前端開(kāi)發(fā),既JavaScript/WXML/WXSS的開(kāi)發(fā)。對(duì)于界面的美化和部分功能的實(shí)現(xiàn),我們采用了微信自帶的component和團(tuán)隊(duì)開(kāi)發(fā)的component,包括navigation、slideview等。這些組件實(shí)現(xiàn)了活動(dòng)刪除,首頁(yè)導(dǎo)航等各種功能。對(duì)于數(shù)據(jù)加載,我們采用了懶加載技術(shù),在小程序中,系統(tǒng)的瓶頸常在于系統(tǒng)的響應(yīng)速度。如果系統(tǒng)響應(yīng)速度過(guò)慢,用戶就會(huì)出現(xiàn)埋怨情緒,系統(tǒng)的價(jià)值也因此會(huì)大打折扣。懶加載(Load On Demand)是一種獨(dú)特而又強(qiáng)大的數(shù)據(jù)獲取方法,它能夠在用戶滾動(dòng)頁(yè)面的時(shí)候自動(dòng)獲取更多的數(shù)據(jù),而新得到的數(shù)據(jù)不會(huì)影響原有數(shù)據(jù)的顯示,同時(shí)最大程度上減少服務(wù)器端的資源耗用。而對(duì)于用戶賬號(hào)的管理,我們選擇關(guān)聯(lián)微信賬號(hào)來(lái)減少管理難度,通過(guò)平臺(tái)提供的API可獲取用戶的openid(在一個(gè)小程序中,一個(gè)微信賬號(hào)的openid是唯一的),并且使用wx.getUserInfo()獲取用戶的其他信息,并且把這些用戶信息關(guān)聯(lián)該小程序的用戶信息,使得用戶可以通過(guò)微信來(lái)登錄該小程序或者判斷權(quán)限。
2.2 小程序碼技術(shù)
通過(guò)后臺(tái)接口可以獲取小程序任意頁(yè)面的小程序碼,掃描該小程序碼可以直接進(jìn)入小程序?qū)?yīng)的頁(yè)面,所有生成的小程序碼永久有效,可放心使用。小程序碼需要拿到Access_token,可以選擇3個(gè)獲取小程序碼的接口,包括接口A:適用于需要的碼數(shù)量較少的業(yè)務(wù)場(chǎng)景(生成小程序碼,可接受path參數(shù)較長(zhǎng),生成個(gè)數(shù)受限);接口B:適用于需要的碼數(shù)量極多的業(yè)務(wù)場(chǎng)景(生成小程序碼,可接受頁(yè)面參數(shù)較短,生成個(gè)數(shù)不受限);接口C:適用于需要的碼數(shù)量較少的業(yè)務(wù)場(chǎng)景(生成二維碼,可接受path參數(shù)較長(zhǎng),生成個(gè)數(shù)受限)我們按需選擇。小程序碼使得我們的小程序有更高的辨識(shí)度,并且使用更便捷。
2.3 云開(kāi)發(fā)技術(shù)
該項(xiàng)目使用小程序云開(kāi)發(fā),無(wú)需搭建服務(wù)器,即可使用云端功能。使用平臺(tái)提供的API進(jìn)行核心業(yè)務(wù)開(kāi)發(fā),可實(shí)現(xiàn)快速上線和迭代。降低了開(kāi)發(fā)難度,從而能有更多的時(shí)間迭代更新,不斷完善產(chǎn)品功能和體驗(yàn)。本系統(tǒng)中,我們主要的云開(kāi)發(fā)技術(shù)是云函數(shù)、云數(shù)據(jù)庫(kù)和云存儲(chǔ)的使用。
通過(guò)云函數(shù)操作云數(shù)據(jù)庫(kù)和云存儲(chǔ),云函數(shù)可以在云端部署代碼和對(duì)應(yīng)的node_modules,大大的減輕了前端的壓力,并且可以快捷的對(duì)數(shù)據(jù)進(jìn)行增刪改查的操作。
wx.cloud.callFunction({
name: 'login',
data: {},
success: res => {
},
fail: err => {
}
})
云數(shù)據(jù)庫(kù)類似于mongoDB非關(guān)系型數(shù)據(jù)庫(kù),不需要設(shè)計(jì)數(shù)據(jù)庫(kù)表,數(shù)據(jù)存儲(chǔ)沒(méi)有固定的格式。每個(gè)object即是一條數(shù)據(jù)。訪問(wèn)數(shù)據(jù)庫(kù)表直接采用小程序原生接口。
const db = wx.cloud.database({})
const users = db.collection('users');
users.where({
Wxid: app.globalData.openid
}).get(
{
success: function (res) {
},
fail: function () {
}
})
云存儲(chǔ)包括了照片和文檔等大文件的存儲(chǔ),存儲(chǔ)和讀取都使用微信小程序原生接口,生成唯一的FileID,方便快捷。
wx.cloud.downloadFile({
fileID:
success: res => {
},
Fail: err => {
}
})
3? 結(jié)語(yǔ)
本文針對(duì)現(xiàn)存高校機(jī)房管理的漏洞與需求,設(shè)計(jì)了一款基于微信小程序的機(jī)房交互和管理小程序。該系統(tǒng)開(kāi)發(fā)速度快,運(yùn)營(yíng)成本低,功能齊全,能夠有效地增強(qiáng)對(duì)機(jī)房的管理。
在溝通方面,小程序拓寬了機(jī)房使用者與管理者之間溝通的渠道,溝通也不再受時(shí)間、空間的限制,掃描二維碼即可進(jìn)行聯(lián)系,能有效聯(lián)系這兩個(gè)群體。
在安全教育方面,實(shí)驗(yàn)室安全教育目前仍是高校教育的薄弱環(huán)節(jié),該項(xiàng)目能通過(guò)無(wú)紙化培訓(xùn)降低溝通成本,提高溝通意愿,有效改善實(shí)驗(yàn)室安全教育狀況。
參考文獻(xiàn):
[1]李哲,周靈.微信小程序的架構(gòu)與開(kāi)發(fā)淺析[J].福建電腦,2019,35(12):66-69.
[2]董傲通,文俊浩.基于小程序·云開(kāi)發(fā)的實(shí)驗(yàn)室設(shè)備管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].實(shí)驗(yàn)技術(shù)與管理,2019,36(10):282-284,288.
[3]孫凱,樊春紅,劉純忠,等.基于移動(dòng)平臺(tái)開(kāi)發(fā)設(shè)備維修管理系統(tǒng)[J].中國(guó)醫(yī)療設(shè)備,2013,28(11):51-53.
[4]劉衛(wèi)紅.微信小程序應(yīng)用探析[J].無(wú)線互聯(lián)科技,2016(23):11-12.
[5]騰訊計(jì)算機(jī)系統(tǒng)有限公司.微信小程序簡(jiǎn)易教[EB/OL].[2020-1-18]https://developers.weixin.qq.com/miniprogram/dev/framework/.
基金項(xiàng)目:華南理工大學(xué)校級(jí)創(chuàng)新創(chuàng)業(yè)項(xiàng)目。
作者簡(jiǎn)介:劉凱婷(1997-),女,廣東惠州人,華南理工大學(xué)本科生;史素娟(1997-),女,云南大理人,華南理工大學(xué)本科生;余丙軍(1977-),男,湖北黃岡人,華南理工大學(xué)軟件學(xué)院副主任/工程師。