蔡利軍,周益飛
(武漢大學 信息中心,武漢 430072)
微信公眾號在財務查詢服務中的應用
蔡利軍,周益飛
(武漢大學信息中心,武漢430072)
微信公眾號平臺已經廣泛搭建,從數量、覆蓋面的深度及廣度都呈現急劇上升的趨勢。目前平臺功能已經從推送信息轉向提供交互服務和加強溝通,在提供信息服務過程中,靈活方便的查詢功能更能滿足用戶的需要。
微信公眾號;開發模式;財務查詢
隨著移動終端對生活各方面的滲透,微信公眾號平臺正在影響大眾的日常生活,微信公眾號提供的內容包羅萬象,全面實現著信息管理、功能服務等各種傳播功能。目前大而全的信息發布已經不能準確定位受眾,無法滿足用戶日益增長的需求,因此精確定位、針對特定人群或某類用戶的特殊需求進行服務成為微信公眾號平臺功能的新趨勢。
在財務管理信息化的進程中,已經經歷了電算化、網絡化的階段,在目前互聯網加的時代,通過移動終端提供各種便捷的財務查詢服務,已經成為體現財務信息化發展水平的重要標志。由于微信被公認為目前唯一拿到移動互聯網門票的應用,本文就以高校財務查詢為例,介紹微信公眾號提供的自定義菜單功能和開發模式,實現簡單的查詢服務。案例采用廣泛流行的PHP、MySQL程序語言和數據庫實現。
微信公眾號是微信公眾號所有者(政府、組織或個人等)進行信息推廣、與用戶互動交流及提供服務的平臺,公眾號通過消息、事件、菜單等交互方式為用戶提供服務。例如:公眾號“招商銀行信用卡中心”為持卡人提供信用卡綁定、查詢信用卡賬單、額度及積分;快速還款、申請賬單分期;微信轉接人工服務等功能,同時還為非持卡人提供微信辦卡功能。
使用微信公眾平臺之前需要先在微信官方網站上注冊微信公眾號,在注冊過程中需要進行信息登記,要求選擇相應的運營主體是組織還是個人,根據運營主體的不同,要求提供不同的資質材料及證明。當確定運營主體為組織時,就可以選擇公眾號類型是訂閱號還是服務號。服務號默認可以自動獲得自定義菜單,可以申請微信認證獲得高級接口權限。以武漢大學財務部為例,由于財務公眾號平臺旨在為用戶提供交互式服務,因此選擇服務號作為武漢大學財務公眾號的類型。
微信公眾服務號消息接口為開發者提供了與向用戶進行消息交互的能力,對于成功接入消息接口的公眾服務號,當用戶發消息給公眾號時,微信公眾平臺服務器會使用HTTP請求對接入的網址進行消息推送,第三方服務器通過響應包返回個性的回復,從而達到回復消息的目的。也就是說公眾服務號可以使用自己的編寫的程序來和用戶對話。
使用了開發模式的微信公眾號會成為一個配備了一系列指令規則的賬號,當用戶關注公眾號,發送對應的指令給公眾號之后可以獲得相應的查詢結果。而這些規則的邏輯需要公眾服務號的開發者根據公眾平臺的開發規則在后臺服務器實現。用戶、微信后臺和需要開發的公眾號后臺的服務器三者之間的交互關系如圖1所示。
圖1 用戶、微信后臺和公眾號服務器間的交互圖
圖1所示的具體交互過程描述如下:
(1)用戶在手機的微信上向公眾號發送一條消息,這條消息會通過網絡到達微信的后臺;
(2)微信后臺收到消息后,把消息轉發給公眾號的服務器;
(3)公眾號服務器收到請求后,解析消息格式,根據用戶內容和自己的服務器程序,查詢出需要返回給用戶的消息,然后封裝消息返回給微信后臺;
(4)微信后臺把公眾號服務發來的消息轉發給用戶的微信手機客戶端,這樣用戶在手機客戶端就可以看到公眾號發來的微信消息了。
通過這個過程可以看到公眾號服務器要做的事情是:先獲取微信后臺發過來的消息,然后根據消息實現自己的業務邏輯,最后發送返回消息給微信后臺。因為微信服務器公眾號服務使用的是HTTP協議,所以在公眾號服務器上必須要運行一個HTTP服務和相應端口。本文使用常見的Apache作為HTTP服務,PHP為開發語言,與MySQL數據庫搭配一起來實現微信公眾號查詢服務。
用戶關注微信公眾號后,自定義菜單能夠幫助公眾號豐富界面,增強用戶與微信公眾號互動,讓用戶更好、更快地理解公眾號所擁有的功能。目前自定義菜單最多包含3個一級菜單,每個一級菜單最多包含5個二級菜單。一級菜單最多4個漢字,二級菜單最多7個漢字,多出來的部分將會以“…”代替。自定義菜單內容的參數及說明如表1所示。
表1自定義菜單參數說明
創建菜單時,需要將菜單內容組織成如下結構(財務部微信公眾號的簡單范例),以post的方式向微信服務器提交:
為了實現用戶自主查詢財務信息,我們需要先在微信開發者中心啟用服務器配置,開啟回調URL和Token,URL就是支持PHP和MySQL環境的公眾號服務器地址,可以自己搭建或租用虛擬空間,Token缺省設置為weixn。這樣,微信公眾平臺帳號就啟用了開發模式。
創建自定義菜單和調用開發模式高級功能都需要使用Accees Token,Accees Token相當于進入微信后臺各種接口的鑰匙,在微信公眾號開發模式中占據重要的地位。access_token是微信公眾號的全局唯一票據,正常情況下access_token有效期為7 200秒,重復獲取將導致上次獲取的access_token失效。
微信公眾號可以使用AppID和AppSecret調用接口來獲取access_token,AppID和AppSecret是在注冊微信公眾號后由微信提供的第三方唯一憑證和密鑰。獲取Access Token接口的網址如下,執行下面請求后,接口以JSON格式返回獲取的全局唯一口令和有效時間。
https://api.weixin.qq.com/cgi-bin/token?grant_type= client_cr edential&appid=
為了能夠實現查詢服務,我們需要在公眾號服務器后臺編輯index.php文件,首先,定義一個類wechatCallbackapi,并在類中定義一個方法receiveText()用于接受用戶發送的查詢信息,用戶向微信公眾號發送文本消息時,微信公眾號接收到的XML數據格式如下:
<xml>
<ToUserName><![CDATA[接 收 方 微 信 號 ]]></ ToUserName>
<FromUserName><![CDATA[發送方帳號(一個OpenID)]]></FromUserName>
<CreateTime>消息創建時間(整型)</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><?。跜DATA[文本消息內容]]></Content>
</xml>
其次,定義一個方法responseMsg(),在responseMsg()方法中,先提取消息類型,從而實現各種消息類型的分離,然后為文本消息類型定義接收方法函數transmitText(),返回消息的主要特征值,組成文本消息作為內容回復。微信公眾號回復用戶文本消息時的XML數據格式如下:
<xml>
<ToUserName><![CDATA[接收方帳號(一個OpenID)]]></ToUserName>
<FromUserName><?。跜DATA[發送方微信號]]></ FromUserName>
<CreateTime>消息創建時間(整型)</CreateTime>
<MsgType><?。跜DATA[text]]></MsgType>
<Content><![CDATA[回復的消息內容]]></Content>
</xml>
最后為了方便說明查詢方法,假設當關注的用戶輸入“工號+‘工資’”時,返回該用戶當月的工資,實現的關鍵代碼如下。
在該方法中,包含了query.php,即查詢工資的php文件,通過修改receiveText()方法中的判斷條件,對應不同的php查詢程序文件,我們就能實現不同的查詢功能,返回用戶所需的各種財務數據。
微信公眾號是移動互聯網時代的新式平臺,作為財務管理者要主動適應時代的發展,積極的利用這個平臺為財務服務工作提供便利。微信公眾號查詢在高校的應用,使得高校財務部的服務更加人性化,和用戶的信息溝通更加便利和有效。財務部的管理人員部署和實施微信公眾號服務也體現出現代財務管理的理念和新模式。應進一步結合微信的認證功能,完善公眾號的各種查詢服務,充分發揮其在財務管理方面的積極作用,提升高校財務部的綜合服務能力。
主要參考文獻
[1]方倍工作室.微信公眾平臺開發最佳實踐[M].北京:機械工業出版社,2014.
[2]鐘志勇,何威俊,馮煜博.微信公眾平臺應用開發實戰[M].北京:機械工業出版社,2014.
[3][美]W Jason Gilmore.PHP與MySQL程序設計[M].第3版.朱濤江,等,譯.北京:人民郵電出版社,2009:320-347.
10.3969/j.issn.1673-0194.2016.11.042
F253.7
A
1673-0194(2016)11-0073-03
2016-01-27