蔣俊華,趙高峰
(河南大學(xué) 物理與電子學(xué)院,河南 開(kāi)封 475002)
隨著無(wú)線網(wǎng)絡(luò)與智能手機(jī)的普及,高校的教務(wù)管理工作基本實(shí)現(xiàn)了網(wǎng)絡(luò)化和無(wú)紙化.完善的教務(wù)網(wǎng)絡(luò)信息平臺(tái)可以為用戶提供各種通知及信息,極大地提升了教務(wù)管理工作的效率[1-2].但是目前主流的教務(wù)信息系統(tǒng)大多還是面向計(jì)算機(jī)端的,用戶只有通過(guò)登錄PC端的瀏覽器才能訪問(wèn).隨著移動(dòng)互聯(lián)網(wǎng)的成熟普及,高校內(nèi)移動(dòng)設(shè)備的擁有率遠(yuǎn)遠(yuǎn)超過(guò)PC的擁有率,移動(dòng)辦公和隨時(shí)隨地的獲取信息成為一種新的趨勢(shì)和要求[3].移動(dòng)終端之間存在兼容性的問(wèn)題,因此需要借助通用平臺(tái)來(lái)實(shí)現(xiàn)這一設(shè)計(jì)方案,而不是針對(duì)不同移動(dòng)終端來(lái)設(shè)計(jì)APP.就目前常用的通用信息平臺(tái)而言,首推騰訊推出的微信公眾平臺(tái).因此基于微信平臺(tái)進(jìn)行上述方案的開(kāi)發(fā)和設(shè)計(jì)切實(shí)可行.微信在廣大師生中廣泛使用,基于不同的定位和面向?qū)ο蟛煌卸喾N不同類型的微信平臺(tái).現(xiàn)在高校微信平臺(tái)存在的問(wèn)題有:
(1)平臺(tái)的發(fā)展太過(guò)于局限,信息傳送不及時(shí),不定時(shí).
(2)功能太過(guò)于單一,不能滿足廣大師生.
(3)很多開(kāi)發(fā)者沒(méi)有掌握微信平臺(tái)相應(yīng)的后臺(tái)開(kāi)發(fā)技術(shù),校園微信平臺(tái)的推送多數(shù)以圖文為主的模式,太過(guò)于普遍和乏味.
本文開(kāi)發(fā)了基于微信公眾平臺(tái)的教務(wù)信息系統(tǒng),解決了以上問(wèn)題.本文所提方案基于微信公眾平臺(tái),利用Html5技術(shù)和網(wǎng)絡(luò)爬蟲(chóng)技術(shù),將PC端教務(wù)信息系統(tǒng)中的內(nèi)容和服務(wù)資源以適當(dāng)?shù)慕换シ绞胶图夹g(shù)手段進(jìn)行轉(zhuǎn)化,通過(guò)移動(dòng)設(shè)備服務(wù)于本院師生,能夠改善高校中現(xiàn)有教務(wù)信息系統(tǒng)的封閉特性,特別是增強(qiáng)了系統(tǒng)和用戶的有效交互,提升內(nèi)容和服務(wù)資源的利用率[5-6].
本文所提系統(tǒng)主要實(shí)現(xiàn)以下功能:
(1)關(guān)注公眾號(hào)用戶可以隨時(shí)通過(guò)公眾號(hào)菜單點(diǎn)擊查看學(xué)院概況、師資介紹、科學(xué)研究、學(xué)科建設(shè)、教學(xué)計(jì)劃、課程安排等基本信息;
(2)可以接收查看學(xué)院相關(guān)教務(wù)新聞、通知公告、講座及報(bào)告信息、校園生活信息等;
(3)學(xué)生可以進(jìn)行網(wǎng)上評(píng)教和網(wǎng)上選課等;
(4)推送校內(nèi)信息和招生、求職信息等.
根據(jù)系統(tǒng)功能需求分析,確定系統(tǒng)設(shè)計(jì)的總體目標(biāo),考慮到應(yīng)用的便捷性,在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí),分為3個(gè)一級(jí)欄目:學(xué)院教學(xué)、學(xué)院資訊和學(xué)生查詢.系統(tǒng)最終整體功能及欄目設(shè)計(jì)如圖1所示:
圖1 系統(tǒng)功能及欄目結(jié)構(gòu)圖
系統(tǒng)主要由騰訊微信公眾號(hào)云平臺(tái)、數(shù)據(jù)庫(kù)服務(wù)器、微信和Web服務(wù)器等實(shí)現(xiàn),每個(gè)服務(wù)器對(duì)于系統(tǒng)都是不可或缺的,承擔(dān)著不同的任務(wù).
圖2 系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)圖
微信公眾號(hào)云平臺(tái):提供一個(gè)公眾號(hào),并實(shí)現(xiàn)和特定群體的文字、圖片、語(yǔ)音的全方位溝通、互動(dòng).
數(shù)據(jù)庫(kù)服務(wù)器:主要運(yùn)行MySQL數(shù)據(jù)庫(kù)[7],用來(lái)存儲(chǔ)數(shù)據(jù)和管理數(shù)據(jù).
微信和Web服務(wù)器:接收和發(fā)送微信信息,它將騰訊微信公眾號(hào)云平臺(tái)發(fā)送來(lái)的XML信息進(jìn)行解析后,再發(fā)送給后臺(tái)的數(shù)據(jù)庫(kù)服務(wù)器和應(yīng)用程序服務(wù)器進(jìn)行處理,或者將數(shù)據(jù)庫(kù)服務(wù)器和應(yīng)用程序服務(wù)器發(fā)來(lái)的響應(yīng)信息封裝后發(fā)送給騰訊微信公眾號(hào)云平臺(tái).
應(yīng)用程序服務(wù)器:運(yùn)行webService服務(wù)程序,將Web服務(wù)器發(fā)送過(guò)來(lái)的數(shù)據(jù),進(jìn)行邏輯處理,然后再反饋給Web服務(wù)器.
該系統(tǒng)具有:信息推送、教學(xué)資源信息查詢、學(xué)生教務(wù)系統(tǒng)查詢.其中教務(wù)信息查詢是其核心功能.教務(wù)信息系統(tǒng)查詢主要由用戶、騰訊微信服務(wù)器、中間接口服務(wù)器和一些接口信息系統(tǒng)(例如學(xué)校教務(wù)系統(tǒng))等4部分組成,該教務(wù)信息查詢系統(tǒng)如圖3所示:
圖3 系統(tǒng)信息查詢業(yè)務(wù)流程圖
圖4 系統(tǒng)平臺(tái)結(jié)構(gòu)框架圖
該系統(tǒng)框架設(shè)計(jì)包含用戶層(學(xué)生)、接入層(微信公眾平臺(tái))、業(yè)務(wù)邏輯層和數(shù)據(jù)收集層等4層.其框架設(shè)計(jì)及工作流程如圖4所示:
(1)在用戶層,用戶只需用手機(jī)上的微信關(guān)注該微信公眾號(hào),就能登錄系統(tǒng)初始頁(yè)面,學(xué)生可以輸入自己的學(xué)號(hào)在系統(tǒng)上進(jìn)行綁定.
(2)接入層的主要作用是對(duì)來(lái)自服務(wù)器和用戶之間的數(shù)據(jù)解析并且發(fā)送給對(duì)方.
(3)業(yè)務(wù)邏輯層是該系統(tǒng)的核心層,主要是進(jìn)行教務(wù)信息查詢和學(xué)校消息咨詢.業(yè)務(wù)邏輯層的幾大功能都是建立在數(shù)據(jù)收集層之上的.
(4)數(shù)據(jù)收集層主要包括高校的教務(wù)信息管理系統(tǒng).
在實(shí)現(xiàn)成績(jī)查詢、課表查詢、教室查詢這些功能時(shí),需要訪問(wèn)學(xué)校教務(wù)系統(tǒng)數(shù)據(jù)庫(kù),但是現(xiàn)有的教務(wù)系統(tǒng)沒(méi)有開(kāi)放API接口,無(wú)法通過(guò)該接口發(fā)送POST請(qǐng)求并附帶相關(guān)密鑰獲取用戶的信息.因此只能通過(guò)數(shù)據(jù)爬蟲(chóng),自動(dòng)識(shí)別驗(yàn)證碼模擬登錄系統(tǒng),從而獲取教務(wù)系統(tǒng)數(shù)據(jù)信息.但是數(shù)據(jù)爬蟲(chóng)的識(shí)別速度以及準(zhǔn)確度直接關(guān)系到系統(tǒng)的響應(yīng)時(shí)間[7],為了提高系統(tǒng)響應(yīng)速度,采取將用戶數(shù)據(jù)保存進(jìn)本地?cái)?shù)據(jù)庫(kù)的解決方案,同時(shí)系統(tǒng)后臺(tái)自動(dòng)定時(shí)更新用戶數(shù)據(jù).在代碼實(shí)現(xiàn)時(shí)采取Jquery框架,先在網(wǎng)頁(yè)載入時(shí)將隱藏的一部分內(nèi)容顯示出來(lái),然后初始化驗(yàn)證碼,請(qǐng)求官方系統(tǒng)登陸入口的驗(yàn)證碼圖片,并且保存在本地緩存文件,然后將教務(wù)系統(tǒng)上相關(guān)信息提取出來(lái).代碼實(shí)現(xiàn)流程圖如下:
圖5 程序流程圖
基于MySQL體積小、查詢速度快等特點(diǎn),在本系統(tǒng)中采取了MySQL作為數(shù)據(jù)庫(kù)的解決方案.本地?cái)?shù)據(jù)庫(kù)可以看作是一個(gè)表,表里包含行與列.首先創(chuàng)建database,然后在dababase里創(chuàng)建table,主要是對(duì)表的屬性進(jìn)行設(shè)計(jì),包括名稱,字長(zhǎng),類型.為了提高查詢的性能,還需要設(shè)置基本約束,設(shè)置列是否可以為null,通過(guò)SQL語(yǔ)句讀取表信息,對(duì)表進(jìn)行修改,每一條信息入庫(kù)的時(shí)候,都要和數(shù)據(jù)庫(kù)里ID屬性相比較,如果新抓取的ID和原來(lái)庫(kù)里一致的話,就更新此條ID信息,否則就新增加一條ID.這樣就保證從學(xué)校教務(wù)系統(tǒng)里提取的數(shù)據(jù)最新.
本系統(tǒng)采用Linux作為服務(wù)器端操作系統(tǒng),選擇MySQL數(shù)據(jù)庫(kù)做為WEB服務(wù)器的數(shù)據(jù)庫(kù),前端采用Html5技術(shù),后臺(tái)用PHP語(yǔ)言進(jìn)行開(kāi)發(fā).所設(shè)計(jì)系統(tǒng)已經(jīng)成功應(yīng)用于某理工學(xué)院.
公眾號(hào)導(dǎo)航欄目菜單的實(shí)現(xiàn):
用戶關(guān)注并進(jìn)入微信公眾號(hào)主界面時(shí),將看到三個(gè)一級(jí)欄目菜單;當(dāng)用戶點(diǎn)擊一級(jí)欄目“學(xué)院教學(xué)”菜單后,彈出對(duì)應(yīng)的二級(jí)子菜單,共有5個(gè)子菜單,可以了解學(xué)院概況,科研以及教學(xué)等基本情況;假如用戶需要了解學(xué)院概況方面內(nèi)容時(shí),只需要點(diǎn)擊二級(jí)子菜單中的“學(xué)院概況”欄目,就可以彈出對(duì)應(yīng)內(nèi)容頁(yè)面.通過(guò)學(xué)院資訊菜單,可以了解學(xué)院的招生、就業(yè)、學(xué)術(shù)等信息.
菜單的實(shí)現(xiàn)原理是通過(guò)后臺(tái)服務(wù)器進(jìn)行菜單欄目名稱和對(duì)應(yīng)內(nèi)容的靈活配置,并將配置信息生成json數(shù)據(jù)發(fā)送給微信公眾號(hào)云平臺(tái)來(lái)實(shí)現(xiàn)配置信息與用戶的訪問(wèn)信息自動(dòng)同步;當(dāng)前菜單配置的json數(shù)據(jù)為:
該系統(tǒng)提供的信息主要是面向于本院師生,通過(guò)學(xué)術(shù)查詢菜單可以進(jìn)行課表查詢、成績(jī)查詢以及匿名評(píng)教.網(wǎng)上評(píng)教和課表查詢模塊和學(xué)校教務(wù)管理系統(tǒng)相關(guān)聯(lián),需要輸入學(xué)號(hào)和密碼才能進(jìn)入查詢.用戶第一次使用進(jìn)入登陸綁定頁(yè)面,輸入學(xué)號(hào)和密碼之后,點(diǎn)擊綁定,實(shí)現(xiàn)一次綁定不需要輸入密碼就可以查詢.
(1)查詢課表:當(dāng)學(xué)生打開(kāi)微信公眾平臺(tái),點(diǎn)擊自定義菜單首次進(jìn)入這一頁(yè)面,則會(huì)出現(xiàn)系統(tǒng)提示:請(qǐng)將學(xué)號(hào)與教務(wù)系統(tǒng)綁定.綁定后只需輸入查詢第幾周星期幾的課表,系統(tǒng)會(huì)根據(jù)關(guān)鍵字判斷馬上將指定日期的課表發(fā)過(guò)來(lái).與此同時(shí),此課表中還包含以下信息:時(shí)間、地點(diǎn)以及教師等相關(guān)信息.這樣方便了同學(xué)們隨時(shí)隨地查詢課表,將紙質(zhì)課表變?yōu)殡娮诱n表,方便學(xué)生對(duì)自己的時(shí)間進(jìn)行安排.
(2)查詢成績(jī):學(xué)生只需輸入用戶名、密碼,提交,進(jìn)入成績(jī)管理,選擇全部成績(jī)?yōu)g覽,即可查詢所有成績(jī)和學(xué)分,并以表格方式展示.通過(guò)標(biāo)簽卡可以選擇性查看不同年級(jí)不同學(xué)期的各科成績(jī),同樣用表格方式展示.
(3)網(wǎng)上評(píng)教:本頁(yè)面可以顯示該生本學(xué)期所修課程,可在規(guī)定的時(shí)間內(nèi)對(duì)老師的授課情況按照十分制進(jìn)行評(píng)教.系統(tǒng)可對(duì)評(píng)價(jià)的數(shù)據(jù)進(jìn)行統(tǒng)計(jì),供教師本人、教務(wù)管理人員參考,具體的頁(yè)面.
本系統(tǒng)利用微信公眾平臺(tái)實(shí)現(xiàn)在移動(dòng)設(shè)備上進(jìn)行教務(wù)查詢,以新一代移動(dòng)網(wǎng)絡(luò)技術(shù)為基礎(chǔ),借助學(xué)校教務(wù)系統(tǒng)的數(shù)據(jù)庫(kù)信息,將多重教務(wù)管理業(yè)務(wù)整合延伸到移動(dòng)無(wú)線終端,用先進(jìn)的技術(shù)手段、豐富的信息內(nèi)容、個(gè)性化的信息服務(wù),形成實(shí)時(shí)、動(dòng)態(tài)的查詢平臺(tái),為師生提供一個(gè)方便快捷的信息通道.從系統(tǒng)的實(shí)際使用情況來(lái)看,針對(duì)使用院系的一些精品課程、創(chuàng)新創(chuàng)業(yè)項(xiàng)目管理、畢業(yè)論文等內(nèi)容還需要做進(jìn)一步的增添和改進(jìn).
參考文獻(xiàn):
[1]倪志宏.基于微信公眾平臺(tái)的掌上高校網(wǎng)絡(luò)信息服務(wù)系統(tǒng)研究[J].合作經(jīng)濟(jì)與科技,2013(14):127-128.
[2]黃丹丹.微信公眾平臺(tái)在高校教務(wù)管理中的應(yīng)用探析[J].中國(guó)管理信息化,2017(2):206-208.
[3]曲廣強(qiáng),關(guān)曉輝,王建元,等.基于微信公眾平臺(tái)的教務(wù)信息查詢系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].東北電力大學(xué)學(xué)報(bào),2015(12):100-105.
[4]王翠英.基于手機(jī)的教務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)光盤(pán)軟件與應(yīng)用,2013(4):147-149.
[5]王明亮,閔新力,姬江濤,等.基于微信的移動(dòng)外勤管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2015,32(7):82-85.
[6]趙展浩,基于微信公眾平臺(tái)的智能校園信息平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)時(shí)代,2016(5):38-44.
[7]徐建華.基于ECShop系統(tǒng)的電子商務(wù)網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)[J].軟件導(dǎo)刊,2014,13(1):104-106.
商丘師范學(xué)院學(xué)報(bào)2018年6期