馮穎凌 鄭賢智
(南通大學(xué)理學(xué)院 江蘇·南通 226009)
我們學(xué)生運(yùn)用手機(jī)也可以使我們的校園生活變得更加方便快捷。學(xué)生管理系統(tǒng)作為一個學(xué)生在校園生活中所不可缺少的應(yīng)用系統(tǒng),傳統(tǒng)的管理系統(tǒng)需要運(yùn)用計(jì)算機(jī)來使用并查詢各種信息。這種傳統(tǒng)的系統(tǒng)使用方式會有一定的局限性,無法隨時隨地的讓學(xué)生使用這個系統(tǒng),而運(yùn)用手機(jī)所開發(fā)一款基于手機(jī)智能系統(tǒng)的軟件能夠方便的解決這個問題。但如果是運(yùn)用傳統(tǒng)的手機(jī)APP也會擁有一些問題。不能保證每個學(xué)生都會去下載這一 APP。雖然比傳統(tǒng)的計(jì)算機(jī)系統(tǒng)要方便許多但還是會比較有負(fù)擔(dān)。而微信這個通訊程序幾乎在所有用戶的手機(jī)中都有安裝。
要開發(fā)微信小程序,需要先注冊一個能夠使用小程序的賬戶。我們可以進(jìn)入微信公眾平臺官網(wǎng)(https://mp.weixin.qq.com/),注冊一個小程序賬戶,填寫完郵箱信息后,可以在信息登記里選擇主體類型。主體類型有個人,企業(yè),政府,媒體和其他組織。在這其中,企業(yè)、政府、媒體和其他組織均需要進(jìn)行微信認(rèn)證才能使用,個人類型包括由自然人注冊和運(yùn)營的公眾賬號,所以我們選擇個人作為主體類型。之后填寫完個人身份信息提交后就完成了小程序賬號的注冊。
在注冊完小程序賬號后,我們可以用我們注冊好的賬戶登錄來進(jìn)入小程序后臺,在后臺可以管理你的小程序權(quán)限,查看小程序的各種數(shù)據(jù)報(bào)表。登錄后在開發(fā)設(shè)置里獲取小程序的APP ID。
之后需要一個工具來開發(fā)小程序。開發(fā)小程序也可以用如 Sublime Text,WebStorm,Visual Studio Code等常用的開發(fā)工具,但考慮到對小程序開發(fā)的易用性以及對wxml,wxss的支持,在這里我們選擇了微信官方所提供的微信開發(fā)者工具來開發(fā)我們的小程序,系統(tǒng)為 PC windows10 64位。
我們在課程表頂部設(shè)計(jì)了一個彈性盒子flex布局,來完成星期一到星期日的排列,使用wx的for循環(huán)來循環(huán)顯示周期的一到日。并且在左邊留了35rpx來空出一部分空間來和側(cè)邊對齊。并且選擇兩種對比度比較高的顏色來設(shè)置好背景色和前景色。而且頂部的星期是在最頂部的要素,所以要單獨(dú)設(shè)立標(biāo)簽,并且因?yàn)椴粫凶兓?,我們固定了他的寬高并且固定在了上方?/p>
還要設(shè)計(jì)一個節(jié)次線條來分割節(jié)次,節(jié)次線條我們可以通過設(shè)計(jì)一個高度為節(jié)次乘以100rpx,寬度為750rpx的透明箱子,并且設(shè)置成只顯示底部線條來完成。我們同樣可以用wx的for循環(huán)來循環(huán)顯示這個箱子。而節(jié)次中我們可以分為上午和下午,通常第五節(jié)為上午。我們可以設(shè)置循環(huán)并且設(shè)置一個判斷語句,因?yàn)檠h(huán)中index是從0開始,所以要想在第五節(jié)的線條來做出區(qū)別的話只要判斷當(dāng)index==4的時候,來標(biāo)記為不同的顏色,其余時候?yàn)橄嗤伾?/p>
我們可以把成績列表中的課程名稱、成績和學(xué)分布置到一個盒子中,并且把flex布局中的justify-content屬性設(shè)置為center,align-items屬性同樣設(shè)置center,這樣我們就可以把每一行所顯現(xiàn)出來的數(shù)據(jù)能夠非常完美的對齊到一條線中,并且左右的間隔都能夠平均的分配出來。
而在表格部分,除了設(shè)計(jì)彈性盒子flex布局之外,還設(shè)置了一個wx的for循環(huán)遍歷一遍數(shù)組,并且設(shè)計(jì)了兩種背景顏色的flex布局樣式來更好的區(qū)分表格的行數(shù)。
教室查詢模塊和考試信息查詢模塊同樣用了成績查詢模塊的設(shè)計(jì)思路,同樣運(yùn)用了彈性盒子flex布局設(shè)計(jì)一個表格,教室查詢能夠根據(jù)數(shù)組中的數(shù)據(jù)顯示出來各個教室的占用情況,空閑教室通過判斷語句判定后把那一串?dāng)?shù)據(jù)標(biāo)綠顯示,用搜索功能可以查詢到各個教室的信息。考試信息查詢會顯示考試的科目、地點(diǎn)和時間,也同樣能夠搜索查詢。
這里的list數(shù)組我們也同樣可以保存到云數(shù)據(jù)庫中,通過調(diào)用云數(shù)據(jù)庫的list數(shù)組來獲取我們的數(shù)據(jù),從而在表格中所顯示出來。
在GPA計(jì)算器這一模塊中,我們設(shè)計(jì)了一個計(jì)算功能。用戶可以用此模塊來計(jì)算出GPA績點(diǎn)。只要輸入成績和學(xué)分,就能夠一鍵算出績點(diǎn)結(jié)果,十分方便。
我們先在上方弄了一個文字提示,給用戶介紹了此模塊的功能和用法。整個界面中間設(shè)置了兩個輸入框,分別能夠獲取用戶所輸入的成績和學(xué)分。因?yàn)橛?jì)算GPA績點(diǎn)需要多個成績和學(xué)分信息,所以我們可以讓用戶輸入多個成績和學(xué)分,并且設(shè)置了一個特殊符號,通過這個特殊符號使得輸入進(jìn)來的成績以及學(xué)分相互分開,這樣就能一次性獲取全部數(shù)據(jù)。
在我們獲取到成績和學(xué)分的兩組數(shù)組n和g后,可以設(shè)一個程序來計(jì)算GPA績點(diǎn)。首先我們要知道GPA績點(diǎn)的算法是什么樣的。GPA的計(jì)算方法為成績減去50后除以10乘以該課程的學(xué)分的總和并除以學(xué)分的總和。也就是
我們把剛才設(shè)置好的計(jì)算函數(shù)設(shè)為add,在頁面中設(shè)置一個按鈕,并且把剛才設(shè)置的函數(shù)add綁定到這個按鈕。我們在輸入框輸入完數(shù)組后,按下綁定了add函數(shù)的按鈕就能夠計(jì)算出結(jié)果,并且刷新了頁面,將獲取到的計(jì)算結(jié)果再顯示到我們頁面中結(jié)果的顯示框。我們就完成了整個GPA績點(diǎn)計(jì)算器模塊的設(shè)計(jì)。
在頁面的上方,我們設(shè)置了一個flex布局,用來制作正在借閱和歷史借閱的入口。在下方我們做了一個顯示推薦書籍的列表。列表的每單一行設(shè)置為一個flex布局,高度設(shè)置為150rpx。設(shè)定了一個有書籍的標(biāo)題和簡介的list數(shù)組。從中可以獲取到書籍的標(biāo)題來顯示書籍名稱,在下面可以獲取到書籍信息,并且把字符大小設(shè)為27rpx,并且顏色設(shè)置為灰色,從而突出標(biāo)題并且顯得更加美觀。單一行的樣式設(shè)計(jì)好后我們可以設(shè)置wx的for循環(huán)來遍歷這個flex布局,通過數(shù)組內(nèi)的書籍來循環(huán)顯示出一個列表。
視頻資源這一模塊可以把保存在云開發(fā)中云存儲里的視頻文件在小程序中顯示,并且在視頻下面顯示視頻相關(guān)的簡介。運(yùn)用video標(biāo)簽來顯示視頻的鏈接,用text標(biāo)簽來顯示從云數(shù)據(jù)庫獲取的視頻簡介。
在設(shè)計(jì)好各個模塊的功能后,我們把模塊的入口排列到主頁上,運(yùn)用彈性盒子布局,將入口分為三行,并且給每個入口設(shè)計(jì)一個圖標(biāo),所有圖標(biāo)的風(fēng)格要一致,在圖標(biāo)下面顯示第個入口的標(biāo)題。
首先設(shè)置一個flex布局,將所有圖標(biāo)居中顯示,并在上下設(shè)置30rpx的間隔。之后設(shè)置image標(biāo)簽來設(shè)置圖標(biāo)入口,將其寬度設(shè)為25%,并且居中顯示。在圖片的正文設(shè)置一個text標(biāo)簽并命名為各個模塊的名稱,并在每個圖標(biāo)頁面設(shè)置一個navigator標(biāo)簽對應(yīng)各個模塊的鏈接。為了美觀,將每一行的圖標(biāo)數(shù)量設(shè)置不超過三個。
本次所設(shè)計(jì)的學(xué)生管理系統(tǒng)是一款基于微信小程序所制作的一款應(yīng)用程序。本應(yīng)用程序?qū)W(xué)生在日常校園生活中最常用的幾個功能做了整合,用微信小程序的方式來制作完成整個系統(tǒng)。學(xué)生能夠十分方便的使用這個應(yīng)用,無須下載,上手簡單,使用不復(fù)雜。
本應(yīng)用所包含的功能都是學(xué)生最常用的幾個功能,如課表查詢,成績查詢,考試信息查詢,GPA計(jì)算等,還加入了視頻資源,新聞資訊,每日簽到,圖書館等功能。
當(dāng)然,在今后的開發(fā)中,我們還可以增加一些功能,比如對收藏的老師的課程,增加提醒功能,每日的作業(yè)提醒等,頁面中加入美工元素,讓頁面更美觀。