章志國
(南通大學,南通 226500)
基于微信公眾號的校園網賬號服務的設計與實現
章志國
(南通大學,南通 226500)
上網、郵箱和校園卡等校園網賬號服務是高校教育技術機構的常見任務之一。借助微信公眾號開展校園網賬號服務,既方便學生,也節約人力成本。實際應用表明,該系統穩定可靠,有效提高教育技術機構的服務能力。
微信;微信公眾號;校園網賬號服務
上網、使用郵箱和校園卡是高校學生校園網生活不可缺少的部分。這些服務一般由高校教育技術部門提供。由于大學生特別是新生對賬戶的維護能力較弱[1],所以賬號密碼遺忘、校園卡丟失是常見的現象。如何快速有效地幫助學生維護賬號,也為了減少賬號被盜和校園卡未及時掛失對學生的損失,是高校教育技術部門重點課題之一。
利用微信公眾號提供的通訊、信息發布和溝通管理等功能,為教師和學生服務,越來越受到高校的歡迎。通常有教務服務、后勤服務、網絡服務以及圖書館讀者服務等,以服務號居多。本文利用服務號的開發能力,以及網絡計費、郵箱和校園卡等接口,提供校園網賬號改密碼和掛失等服務,節約人力物力成本,方便學生,優化流程,提高效率。
1.1 微信應用設計
系統選用定位“服務平臺”與“服務交互”的微信服務號,服務號啟用開發模式之后,用戶消息和相關事件推送由服務器轉發至開發者服務器。普通文本消息可用于關鍵詞回復,產生關注與取消關注事件時,系統拉取用戶openid等信息并存取,取關時更新關注狀態標識。用戶點擊服務號菜單產生的CLICK和VIEW事件,前者用于根據指定事件推送指定內容,后者用于推送詳細業務頁。
業務頁通過網頁授權機制,先獲取用戶基本信息,進行身份綁定,進而實現業務邏輯與處理。這些業務脫離微信消息機制的束縛,以網頁形式在第三方網頁中提供服務。開發者得以專注業務開發,并可充分利用微信提供的WeUI樣式庫。
1.2 校園網賬號應用設計
我校上網賬號系統為深瀾計費系統,提供的API接口有用戶詳情、修改用戶密碼和查詢在線設備等功能。通過https協議get、post或put指定數據,即可完成賬號查詢、更新和下線等動作,返回值為標準JSON。郵箱品牌為億郵,接口同樣為API,返回值為XML。一卡通品牌為迪科,接口為WebService,支持卡信息、掛失和流水查詢等動作,返回值為標準XML。利用PHP的Client URL Library(cURL)即可實現上述請求,利用json_decode處理標準JSON格式,利用simplexml_load_string處理標準XML。由于億郵API返回XML比較特殊,需要采用DOMDocument類處理XML節點數據。
系統采用YII2結合EasyWechat開發。YII2是高性能、基于組件的PHP框架。支持PHP命名空間、PSR標準和Composer等,支持Bootstrap,jQuery UI等[2]。Easy-Wechat是開源的微信公眾號開發SDK,符合PSR標準,可以作為標準的Composer包為PHP項目所使用。使用EasyWechat可以快速地使用公眾號的開發能力,省去JSON和XML等交互數據的拼接和處理,專注業務邏輯開發。
安裝EasyWechat只需編輯項目中的composer.json文件,在require節點添加"overtrue/wechat":"2.1.*",然后運行CMD命令“composer unpadte”即可。使用Easy-Wechat時,首先use所需要的PHP類,如use OvertrueWechatServer。處理公眾號接入的核心代碼如下:

用戶首次關注公眾后后,獲取用戶信息,并存入數據庫,部分代碼如下:


處理關鍵詞回復由handleMessage統一處理,將獲取的MsgType,Content,FromUserName格式化,根據MsgType類型分別處理。當為text文本類型時,部分代碼如下:

網頁授權是開發者在公眾號中設置Web頁,用戶訪問之后可以獲取用戶基本信息,同時生成session數據,然后在controller里以$session['openid']形式判斷是否存在并調用。核心代碼如下:

3.1 賬號服務接口開發的實現
因上網賬號服務每次調用接口都需使用cURL處理數據,所以將其和json_encode、json_decode封裝成類,以便調用。由于為API為RESTful風格,所以調用比較優雅。深瀾計費系統修改密碼的核心代碼為:

億郵計費系統修改密碼的核心代碼為:

3.2 賬號服務能力的實現
用戶首先關注“南通大學現教中心”微信公眾號,然后單擊菜單賬號服務,進入以WeUI九宮格構建的服務菜單列表頁,首次使用需進行微信身份和學號的綁定。綁定條件為用戶名+身份證號碼+短信驗證碼。利用微信、身份證、手機三者的實名制保障了用戶使用微信服務的合法性和可追溯性。綁定之后,進入其他業務服務頁面時,通過手機驗證碼或者校園卡密碼再次核實身份,輸入相關信息完成服務。
由于YII2的腳手架特性,只需將上文的服務功能進行封裝調用,放置于model,利用YII2的scenarios定義不同的服務頁,rules定義相應的校驗規則。然后新建相應的controller,通過微信openid使用Yii::$app-〉getUser()-〉login($openid)登錄其綁定的用戶身份。最后建立相應的view頁面,調用用戶身份只需$form-〉field
系統業務邏輯如圖1所示。
相關頁面截圖如圖2所示。
實際應用表明,以微信公眾號構建的校園網賬號服務解決了南通大學現教中心2014年構建的自助機密碼服務方式[1]只能線下完成且依賴自助機的問題,為校園網用戶提供更及時更高效更安全的服務。公眾號還提供了上網賬號保護、在線狀態和校園卡流水查詢等功能,方便學生,提高效率。
在當前互聯網時代,智慧化校園建設如火如荼的今天,微信的影響力不可忽略。通過建設高校微信公眾號,能夠提高教育技術機構的服務能力,強大教學和科研能力,實現管理創新,為高校教育技術事業可持續發展添磚加瓦[3]。

圖1 公眾號內網頁實現校園網服務業務流程

圖2 服務九宮格及上網密碼修改和校園卡掛失頁面
參考文獻:
[1]花路,章志國.基于校園一卡通的自助密碼修改系統的研究與實現[J].現代計算機,2014,10:61-63
[2]Yii PHP Framework:Best for Web 2.0 Development[EB/OL].http://www.yiiframework.com/
[3]丁衛澤,羅永平.五位一體多方聯動強勢推進均衡發展——新時期的高校教育技術工作[J].現代教育技術,2012,6:60-64.
Design and Implementation of Campus Account Service Based on Public WeChat
ZHANG Zhi-guo
(Nantong University,Nantong226019)
Providing Internet,e-mail and campus card service are the common assignments for the college Education Technology Department.Carrying out the campus network account service through Public WeChat not only brings convenience to the students,but also saves the cost of labor.After practical application,the system is proved to be stable and reliable,which greatly improved the service abilities of the college Education Technology Department.
WeChat;Public WeChat;Campus Account Service
1007-1423(2016)33-0077-04
10.3969/j.issn.1007-1423.2016.33.018
2016-10-11
2016-11-20
南通大學自然科學基金(No.13Z040)
章志國(1981-),江蘇如皋人,碩士,助理實驗師,研究方向為計算機網絡