◆趙琦瓊
基于微信平臺的校園應(yīng)用系統(tǒng)開發(fā)
◆趙琦瓊
(浙江省寧波市鄞州職業(yè)教育中心學(xué)校 浙江 315100)
微信平臺是目前最為流行的社交和通信平臺,但通過微信平臺進(jìn)行校園管理的案例還是很少見。本文意在通過對系統(tǒng)的介紹,講解如何利用微信平臺進(jìn)行校園考勤管理、資產(chǎn)管理、信息查詢等功能的開發(fā)和使用,希望能夠給其他學(xué)校以借鑒作用。
微信;公眾平臺;校園管理
時下,微信開發(fā)是一個很時髦的話題,因為微信平臺具有用戶群龐大、接入和培訓(xùn)門檻低、可跨平臺應(yīng)用等諸多優(yōu)點(diǎn),這些因素也決定了微信平臺開發(fā)必將成為下一代手機(jī)應(yīng)用開發(fā)的翹楚。我校信息化建設(shè)已有多年,隨著智能手機(jī)應(yīng)用的普及,以及4G、5G網(wǎng)絡(luò)的發(fā)展,移動數(shù)據(jù)應(yīng)用開發(fā)逐漸替代傳統(tǒng)桌面應(yīng)用成為開發(fā)的主流,在這樣的大背景下,我們也在思考,如何利用這樣一個平臺打造屬于我們自己的業(yè)務(wù)系統(tǒng),使其成為具有宣傳、管理以及通信功能為一體的手機(jī)應(yīng)用平臺。
(1)跨平臺性。站在巨人的肩膀上,可以使我們事半功倍。終端開發(fā)不再需要考慮各種手機(jī)平臺,以往,之所以一直沒有考慮手機(jī)應(yīng)用開發(fā)是因為IOS、安卓、WP等眾多系統(tǒng)的束縛,對老師而言,掌握如此多系統(tǒng)的開發(fā)是不現(xiàn)實的,即便是找公司開發(fā),也承擔(dān)不了高額的費(fèi)用。
(2)使用方便。每個老師都有微信賬號,利用微信賬號的openID,可直接與校園網(wǎng)賬號綁定,用戶無須登錄便可自動完成系統(tǒng)的認(rèn)證和準(zhǔn)入,免去了每次輸入賬號的煩瑣。
(3)免費(fèi)申請,維護(hù)方便。微信公眾平臺申請免費(fèi),只要一次認(rèn)證就可免費(fèi)使用,微信平臺也提供了完善的保障機(jī)制,各種網(wǎng)絡(luò)和應(yīng)用異常會及時通知管理員,對接入數(shù)量和訪問也有安全控制,減少了維護(hù)成本。
微信公眾平臺應(yīng)用屬于手機(jī)終端應(yīng)用,是需要配合數(shù)據(jù)后臺處理以及電腦端的管理操作應(yīng)用,因此,實際的系統(tǒng)開發(fā)包括微信客戶端開發(fā)、服務(wù)器端開發(fā)以及電腦端應(yīng)用開發(fā)等幾部分,我們整合了現(xiàn)有的網(wǎng)絡(luò)資源、服務(wù)器資源、以及軟件系統(tǒng)資源,形成了一整套完整的架構(gòu)體系,雖不見得成熟,但對于一般的學(xué)校使用是完全足夠的,其他學(xué)校也可以根據(jù)自身情況靈活應(yīng)用。系統(tǒng)架構(gòu)及使用拓?fù)鋱D如圖1:
圖1 系統(tǒng)部署架構(gòu)及應(yīng)用圖
學(xué)校微信公眾平臺業(yè)務(wù)規(guī)劃分兩部分,一部分為宣傳,另一部分為管理及應(yīng)用,宣傳主要是包括學(xué)校微門戶、各種招生等信息推送,管理包括手機(jī)端簽到、請假、通信錄、資產(chǎn)查詢、通知公告查詢等,應(yīng)用系統(tǒng)結(jié)構(gòu)圖如圖2:
圖2 系統(tǒng)應(yīng)用結(jié)構(gòu)圖
(1)公眾平臺賬號的申請及認(rèn)證。只有認(rèn)證后才可以進(jìn)行開發(fā),否則只能使用公眾平臺基礎(chǔ)功能。公眾平臺賬號申請比較容易,但認(rèn)證時間較長,為不影響進(jìn)度最好提前準(zhǔn)備。認(rèn)證成功后便可開啟開發(fā)模式進(jìn)行開發(fā)工作。
(2)固定IP地址且預(yù)留80端口。微信公眾平臺規(guī)定只能使用80端口進(jìn)行通信,這就意味著如果單位已經(jīng)使用了80端口就必須申請新的IP地址并開通80端口。租用云計算服務(wù)器也是一種方案,但如果使用校內(nèi)已有數(shù)據(jù)庫數(shù)據(jù)比較麻煩,有速度和安全問題。另外,微信公眾平臺可以直接使用IP地址,但如果使用域名也別忘記在工信部備案。
(3)申請公眾賬號還是企業(yè)賬號。公眾賬號側(cè)重宣傳,企業(yè)賬號側(cè)重管理,區(qū)別主要在于權(quán)限、組織架構(gòu)的靈活性方面,因此,可根據(jù)自身需求來選擇不同的賬號類型,我校在申請時企業(yè)賬號還沒有發(fā)布,所以一直使用公眾賬號開發(fā)。
(4)開發(fā)技術(shù)選型。開發(fā)技術(shù)主要指與微信平臺通信的開發(fā)手段,開發(fā)環(huán)境可以選擇PHP、微軟.NET平臺以及JAVA等,但微信官方建議使用PHP開發(fā)環(huán)境,因為官方文檔都是以PHP為例子,且開源資源也比較豐富,網(wǎng)絡(luò)資料也較多。因此,我校在手機(jī)平臺中使用PHP開發(fā),在桌面應(yīng)用中使用.NET開發(fā),在數(shù)據(jù)庫中使用SQL Server 2008。
(1)消息收發(fā)原理。從圖3可以看出,用戶與服務(wù)器的通信都是通過微信公眾號進(jìn)行轉(zhuǎn)發(fā)的,且都是通過XML進(jìn)行封裝,文字、圖片、語音、視頻、鏈接、位置等都用類似的方式,具體方法可參看手冊文檔。
圖3 消息收發(fā)原理示意圖
(2)事件觸發(fā)類型。用戶在關(guān)注、取消及點(diǎn)擊菜單都會觸發(fā)消息發(fā)送,向公眾平臺觸發(fā)事件推送消息。主要用途是在用戶點(diǎn)擊菜單時發(fā)送openID信息,從而便于系統(tǒng)后臺進(jìn)行賬戶的驗證。
(3)賬號綁定。必須將微信的賬號與校園網(wǎng)賬號進(jìn)行綁定,才可以實現(xiàn)免登錄自動認(rèn)證。將校園網(wǎng)賬號數(shù)據(jù)表增加一列openID,首次使用時向服務(wù)器發(fā)送固定格式指令進(jìn)行綁定,如:3#校園網(wǎng)賬號#密碼,服務(wù)器驗證賬號及密碼后將該用戶openID寫入對應(yīng)的字段完成綁定。在用戶進(jìn)行相關(guān)操作時就可以通過該用戶的openID在數(shù)據(jù)庫中進(jìn)行驗證。
(4)獲得位置信息的解決辦法。在進(jìn)行微信簽到的時候需要使用位置信息,最開始我們使用微信內(nèi)置的方式獲得位置的接口,后來使用中發(fā)現(xiàn)問題很多,比如:1)內(nèi)置位置信息發(fā)送可以自行更改,這就失去了定位的意義;2)微信內(nèi)置位置獲取算法經(jīng)常變動,且有一定的偏移量,無法準(zhǔn)確定位;因此,在考慮無法通過直接使用手機(jī)GPS的接口的前提下,只能使用HTML5獲取位置信息,結(jié)果還是比較理想的。如此,便可通過內(nèi)網(wǎng)地址及HTML5獲取位置信息兩種判別方法進(jìn)行簽到驗證。
校園管理應(yīng)用系統(tǒng)是以中心數(shù)據(jù)庫及單點(diǎn)登錄認(rèn)證系統(tǒng)為基礎(chǔ),應(yīng)用系統(tǒng)的用戶信息與中心數(shù)據(jù)庫同步,各子系統(tǒng)從單點(diǎn)登錄系統(tǒng)進(jìn)行認(rèn)證并返回登錄票據(jù)用于其他子系統(tǒng)登錄。
圖4 系統(tǒng)數(shù)據(jù)流示意圖
(1)微門戶系統(tǒng)。微門戶是學(xué)校手機(jī)端的對外窗口,是為學(xué)校宣傳服務(wù)的系統(tǒng),主要包括學(xué)校簡介、組織架構(gòu)、學(xué)校榮譽(yù)、教師風(fēng)采、專業(yè)建設(shè)、校園風(fēng)景、系統(tǒng)導(dǎo)航等宣傳內(nèi)容。
(2)信息推送。及時推送學(xué)校最新資訊,對內(nèi)部可以推送相關(guān)通知,對外可以推送公共資訊信息,比如招生信息、學(xué)校各種活動安排、以及新聞資訊。
手機(jī)端的宣傳應(yīng)用提高了學(xué)校的知名度、豐富了宣傳手段、增強(qiáng)了家校聯(lián)系,是未來教育現(xiàn)代化的基礎(chǔ)應(yīng)用。今后還需要在原有功能的基礎(chǔ)上繼續(xù)完善。
圖5 微信宣傳應(yīng)用示意圖
(1)考勤應(yīng)用??记谙到y(tǒng)是我們微信開發(fā)的亮點(diǎn),大部分單位考勤系統(tǒng)都使用一卡通刷卡形式考勤,這種方式比較方便,但也有代打卡、丟卡、部署麻煩、采購成本高、設(shè)備開發(fā)局限性大等缺點(diǎn),且各單位考勤特點(diǎn)不一,考勤統(tǒng)計需求也各不相同,造成開發(fā)周期長,修改麻煩等問題。使用微信平臺進(jìn)行打卡操作可以解決部分問題,且其應(yīng)用方便,修改靈活,可根據(jù)自身情況進(jìn)行開發(fā)。其難點(diǎn)在于如何判斷用戶是否身在考勤范圍,而這個問題可以通過內(nèi)網(wǎng)的網(wǎng)段地址結(jié)合HTML5提供的地理位置進(jìn)行判斷,實踐證明效果還是較為理想的。
考勤應(yīng)用的另外一個主要問題是如何進(jìn)行管理,手機(jī)端只能進(jìn)行簽到及請假操作,其他大部分的管理操作都要在電腦端進(jìn)行,因此,需要開發(fā)配套的管理系統(tǒng),主要包括以下功能(表1):
表1 考勤系統(tǒng)功能說明
圖6 微信考勤應(yīng)用示意圖
圖7 考勤桌面管理應(yīng)用示意圖
(2)資產(chǎn)應(yīng)用。資產(chǎn)管理的主要功能在桌面端應(yīng)用,手機(jī)端應(yīng)用主要是資產(chǎn)的二維碼查詢和在線報修功能。
圖8 微信資產(chǎn)應(yīng)用示意圖
(3)查詢應(yīng)用。系統(tǒng)還開發(fā)了很多指令性查詢功能,包括:校園通知查詢、通信錄查詢、挪車查詢、天氣查詢等,還內(nèi)置了機(jī)器人小美,可以休閑互動。諸多查詢功能增加了微信公眾平臺對老師們的使用黏性,現(xiàn)在,微信公眾平臺的使用是老師們?nèi)粘I睢⒐ぷ髦斜夭豢缮俚幕顒印?/p>
圖9 微信查詢應(yīng)用示意圖
目前系統(tǒng)還在不斷完善當(dāng)中,對于使用功能來說還有很多不成熟的地方,但通過開發(fā)和試用,還是給我們留下了很多的寶貴經(jīng)驗,老師們也越來越喜歡使用這個平臺。下一步工作主要是繼續(xù)深入平臺的開發(fā),把學(xué)校的各項工作都能納入平臺的使用范疇,更加方便學(xué)校的溝通與管理,提高工作效率。我們也希望能把我們的成果帶給更多的同行,共同推進(jìn)教育信息化的建設(shè)。