◆趙琦瓊
基于微信平臺的校園應用系統開發
◆趙琦瓊
(浙江省寧波市鄞州職業教育中心學校 浙江 315100)
微信平臺是目前最為流行的社交和通信平臺,但通過微信平臺進行校園管理的案例還是很少見。本文意在通過對系統的介紹,講解如何利用微信平臺進行校園考勤管理、資產管理、信息查詢等功能的開發和使用,希望能夠給其他學校以借鑒作用。
微信;公眾平臺;校園管理
時下,微信開發是一個很時髦的話題,因為微信平臺具有用戶群龐大、接入和培訓門檻低、可跨平臺應用等諸多優點,這些因素也決定了微信平臺開發必將成為下一代手機應用開發的翹楚。我校信息化建設已有多年,隨著智能手機應用的普及,以及4G、5G網絡的發展,移動數據應用開發逐漸替代傳統桌面應用成為開發的主流,在這樣的大背景下,我們也在思考,如何利用這樣一個平臺打造屬于我們自己的業務系統,使其成為具有宣傳、管理以及通信功能為一體的手機應用平臺。
(1)跨平臺性。站在巨人的肩膀上,可以使我們事半功倍。終端開發不再需要考慮各種手機平臺,以往,之所以一直沒有考慮手機應用開發是因為IOS、安卓、WP等眾多系統的束縛,對老師而言,掌握如此多系統的開發是不現實的,即便是找公司開發,也承擔不了高額的費用。
(2)使用方便。每個老師都有微信賬號,利用微信賬號的openID,可直接與校園網賬號綁定,用戶無須登錄便可自動完成系統的認證和準入,免去了每次輸入賬號的煩瑣。
(3)免費申請,維護方便。微信公眾平臺申請免費,只要一次認證就可免費使用,微信平臺也提供了完善的保障機制,各種網絡和應用異常會及時通知管理員,對接入數量和訪問也有安全控制,減少了維護成本。
微信公眾平臺應用屬于手機終端應用,是需要配合數據后臺處理以及電腦端的管理操作應用,因此,實際的系統開發包括微信客戶端開發、服務器端開發以及電腦端應用開發等幾部分,我們整合了現有的網絡資源、服務器資源、以及軟件系統資源,形成了一整套完整的架構體系,雖不見得成熟,但對于一般的學校使用是完全足夠的,其他學校也可以根據自身情況靈活應用。系統架構及使用拓撲圖如圖1:

圖1 系統部署架構及應用圖
學校微信公眾平臺業務規劃分兩部分,一部分為宣傳,另一部分為管理及應用,宣傳主要是包括學校微門戶、各種招生等信息推送,管理包括手機端簽到、請假、通信錄、資產查詢、通知公告查詢等,應用系統結構圖如圖2:

圖2 系統應用結構圖
(1)公眾平臺賬號的申請及認證。只有認證后才可以進行開發,否則只能使用公眾平臺基礎功能。公眾平臺賬號申請比較容易,但認證時間較長,為不影響進度最好提前準備。認證成功后便可開啟開發模式進行開發工作。
(2)固定IP地址且預留80端口。微信公眾平臺規定只能使用80端口進行通信,這就意味著如果單位已經使用了80端口就必須申請新的IP地址并開通80端口。租用云計算服務器也是一種方案,但如果使用校內已有數據庫數據比較麻煩,有速度和安全問題。另外,微信公眾平臺可以直接使用IP地址,但如果使用域名也別忘記在工信部備案。
(3)申請公眾賬號還是企業賬號。公眾賬號側重宣傳,企業賬號側重管理,區別主要在于權限、組織架構的靈活性方面,因此,可根據自身需求來選擇不同的賬號類型,我校在申請時企業賬號還沒有發布,所以一直使用公眾賬號開發。
(4)開發技術選型。開發技術主要指與微信平臺通信的開發手段,開發環境可以選擇PHP、微軟.NET平臺以及JAVA等,但微信官方建議使用PHP開發環境,因為官方文檔都是以PHP為例子,且開源資源也比較豐富,網絡資料也較多。因此,我校在手機平臺中使用PHP開發,在桌面應用中使用.NET開發,在數據庫中使用SQL Server 2008。
(1)消息收發原理。從圖3可以看出,用戶與服務器的通信都是通過微信公眾號進行轉發的,且都是通過XML進行封裝,文字、圖片、語音、視頻、鏈接、位置等都用類似的方式,具體方法可參看手冊文檔。

圖3 消息收發原理示意圖
(2)事件觸發類型。用戶在關注、取消及點擊菜單都會觸發消息發送,向公眾平臺觸發事件推送消息。主要用途是在用戶點擊菜單時發送openID信息,從而便于系統后臺進行賬戶的驗證。
(3)賬號綁定。必須將微信的賬號與校園網賬號進行綁定,才可以實現免登錄自動認證。將校園網賬號數據表增加一列openID,首次使用時向服務器發送固定格式指令進行綁定,如:3#校園網賬號#密碼,服務器驗證賬號及密碼后將該用戶openID寫入對應的字段完成綁定。在用戶進行相關操作時就可以通過該用戶的openID在數據庫中進行驗證。
(4)獲得位置信息的解決辦法。在進行微信簽到的時候需要使用位置信息,最開始我們使用微信內置的方式獲得位置的接口,后來使用中發現問題很多,比如:1)內置位置信息發送可以自行更改,這就失去了定位的意義;2)微信內置位置獲取算法經常變動,且有一定的偏移量,無法準確定位;因此,在考慮無法通過直接使用手機GPS的接口的前提下,只能使用HTML5獲取位置信息,結果還是比較理想的。如此,便可通過內網地址及HTML5獲取位置信息兩種判別方法進行簽到驗證。
校園管理應用系統是以中心數據庫及單點登錄認證系統為基礎,應用系統的用戶信息與中心數據庫同步,各子系統從單點登錄系統進行認證并返回登錄票據用于其他子系統登錄。

圖4 系統數據流示意圖
(1)微門戶系統。微門戶是學校手機端的對外窗口,是為學校宣傳服務的系統,主要包括學校簡介、組織架構、學校榮譽、教師風采、專業建設、校園風景、系統導航等宣傳內容。
(2)信息推送。及時推送學校最新資訊,對內部可以推送相關通知,對外可以推送公共資訊信息,比如招生信息、學校各種活動安排、以及新聞資訊。
手機端的宣傳應用提高了學校的知名度、豐富了宣傳手段、增強了家校聯系,是未來教育現代化的基礎應用。今后還需要在原有功能的基礎上繼續完善。

圖5 微信宣傳應用示意圖
(1)考勤應用。考勤系統是我們微信開發的亮點,大部分單位考勤系統都使用一卡通刷卡形式考勤,這種方式比較方便,但也有代打卡、丟卡、部署麻煩、采購成本高、設備開發局限性大等缺點,且各單位考勤特點不一,考勤統計需求也各不相同,造成開發周期長,修改麻煩等問題。使用微信平臺進行打卡操作可以解決部分問題,且其應用方便,修改靈活,可根據自身情況進行開發。其難點在于如何判斷用戶是否身在考勤范圍,而這個問題可以通過內網的網段地址結合HTML5提供的地理位置進行判斷,實踐證明效果還是較為理想的。
考勤應用的另外一個主要問題是如何進行管理,手機端只能進行簽到及請假操作,其他大部分的管理操作都要在電腦端進行,因此,需要開發配套的管理系統,主要包括以下功能(表1):

表1 考勤系統功能說明

圖6 微信考勤應用示意圖

圖7 考勤桌面管理應用示意圖
(2)資產應用。資產管理的主要功能在桌面端應用,手機端應用主要是資產的二維碼查詢和在線報修功能。

圖8 微信資產應用示意圖
(3)查詢應用。系統還開發了很多指令性查詢功能,包括:校園通知查詢、通信錄查詢、挪車查詢、天氣查詢等,還內置了機器人小美,可以休閑互動。諸多查詢功能增加了微信公眾平臺對老師們的使用黏性,現在,微信公眾平臺的使用是老師們日常生活、工作中必不可少的活動。

圖9 微信查詢應用示意圖
目前系統還在不斷完善當中,對于使用功能來說還有很多不成熟的地方,但通過開發和試用,還是給我們留下了很多的寶貴經驗,老師們也越來越喜歡使用這個平臺。下一步工作主要是繼續深入平臺的開發,把學校的各項工作都能納入平臺的使用范疇,更加方便學校的溝通與管理,提高工作效率。我們也希望能把我們的成果帶給更多的同行,共同推進教育信息化的建設。