王心妍(西安培華學(xué)院,西安 710125)
基于微信公眾平臺(tái)的高校移動(dòng)圖書(shū)館系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
王心妍
(西安培華學(xué)院,西安710125)
微信公從平臺(tái)的興起為圖書(shū)館提供了更廣闊的發(fā)展空間,使移動(dòng)圖書(shū)館服務(wù)得到長(zhǎng)足發(fā)展和應(yīng)用。本文基于微信公眾平臺(tái)的獨(dú)特性,結(jié)合圖書(shū)館自身特點(diǎn),介紹了基于微信公共平臺(tái)的移動(dòng)圖書(shū)館的設(shè)計(jì)與實(shí)現(xiàn)。
開(kāi)放接口;微信公眾平臺(tái);圖書(shū)館
微信是一款比QQ更加便捷的手機(jī)即時(shí)通訊APP,由它所引領(lǐng)的“微生活”方式正逐漸滲透到我們生活的方方面面[1]。截止到2014年12月,全球的微信注冊(cè)用戶(hù)已突破11.2億,其中月活躍用戶(hù)高達(dá)4.4億,微信在智能手機(jī)中滲透率接近100%,是亞洲地區(qū)最大用戶(hù)群體的移動(dòng)即時(shí)通訊軟件。其用戶(hù)主要是一線(xiàn)城市的年輕人,特別是高校的學(xué)生群體。
對(duì)于高校而言,微信的使用群體最為密集,圖書(shū)館服務(wù)與微信公眾平臺(tái)的有效結(jié)合定將有益于廣大學(xué)生。自從騰訊公司2012年推出微信公眾平臺(tái)后,全國(guó)各大圖書(shū)館也積極利用微信平臺(tái)開(kāi)展圖書(shū)館的各項(xiàng)服務(wù),如新書(shū)和講座的消息推送服務(wù)、自動(dòng)咨詢(xún)應(yīng)答服務(wù)、借閱信息查詢(xún)和續(xù)借辦理服務(wù)等。截止2014年6月底,已有23所高校圖書(shū)館開(kāi)通了其微信公眾平臺(tái),為學(xué)生和老師提供信息服務(wù)。但很多圖書(shū)館僅限于基本的信息推送和自動(dòng)應(yīng)答服務(wù),沒(méi)有對(duì)其公眾平臺(tái)進(jìn)行更深層次的開(kāi)發(fā)。本文主要介紹高校圖書(shū)館微信公眾平臺(tái)的二次開(kāi)發(fā),以此來(lái)拓展移動(dòng)圖書(shū)館的高級(jí)功能,向讀者提供更便捷、更快速的個(gè)性化服務(wù)。
2.1 注冊(cè)
微信公眾平臺(tái)面向所有企業(yè)或個(gè)人,在注冊(cè)界面輸入驗(yàn)證郵箱和密碼,根據(jù)提示在注冊(cè)郵箱中點(diǎn)擊鏈接進(jìn)行激活。郵箱驗(yàn)證成功后就可以進(jìn)入資料提交界面,在類(lèi)型選擇時(shí)有政府、媒體、企業(yè)、其他組織和個(gè)人,圖書(shū)館服務(wù)則選擇其他組織。隨后填寫(xiě)圖書(shū)館的真實(shí)信息,包括名稱(chēng)、郵箱、郵編、地址、電話(huà)、機(jī)構(gòu)代碼、組織機(jī)構(gòu)加蓋公章掃描件、運(yùn)營(yíng)者身份證號(hào)碼及名稱(chēng)、職務(wù)、運(yùn)營(yíng)者手持證件照片、手機(jī)號(hào)碼、短信驗(yàn)證碼和授權(quán)運(yùn)營(yíng)書(shū),一般會(huì)在7個(gè)工作日內(nèi)通過(guò)審核。
2.2賬號(hào)設(shè)置
注冊(cè)成功后的微信公眾號(hào)可以進(jìn)行基本的賬號(hào)設(shè)置,比如頭像設(shè)置、公眾號(hào)名稱(chēng)和微信號(hào)碼設(shè)置(設(shè)置好后不允許更改)、功能介紹和二維碼,并選擇回復(fù)設(shè)置——自動(dòng)回復(fù)、消息回復(fù)和自定義回復(fù),回復(fù)設(shè)置的選擇是圖書(shū)館實(shí)現(xiàn)自動(dòng)查詢(xún)功能的基礎(chǔ)。
2.3功能設(shè)計(jì)
微信公共平臺(tái)可以實(shí)現(xiàn)群發(fā)消息、用戶(hù)管理、資源內(nèi)容管理、API開(kāi)放接口等多個(gè)強(qiáng)大的功能。本文根據(jù)普通高校圖書(shū)館的特點(diǎn),設(shè)計(jì)以下功能:
2.3.1圖書(shū)證的綁定與解綁功能
讀者通過(guò)向公眾賬號(hào)發(fā)送具有個(gè)人圖書(shū)證編碼和密碼的信息,圖書(shū)館的微信服務(wù)端對(duì)其身份進(jìn)行一對(duì)一的驗(yàn)證,驗(yàn)證成功后發(fā)送服務(wù)操作指令,實(shí)現(xiàn)圖書(shū)證與公眾號(hào)的綁定,便可隨時(shí)隨地獲得快速信息查詢(xún)和續(xù)借等服務(wù)。如果解除綁定,則將取消一切服務(wù)。
2.3.2借閱信息查詢(xún)功能
通過(guò)微信公從平臺(tái),讀者在開(kāi)發(fā)的菜單上點(diǎn)擊“查詢(xún)借閱信息”命令,將會(huì)在手機(jī)上快速查看自己圖書(shū)證上已借圖書(shū)情況。
2.3.3圖書(shū)預(yù)約與續(xù)借功能
通過(guò)微信公從平臺(tái),讀者在菜單上點(diǎn)擊“預(yù)約”或“續(xù)借”命令,圖書(shū)館微信服務(wù)端接收命令后會(huì)及時(shí)向讀者返回,便可快速辦理圖書(shū)的預(yù)約續(xù)借服務(wù)。
2.3.4新書(shū)通報(bào)功能
利用微信的群發(fā)功能,及時(shí)有效地將新書(shū)信息發(fā)送到每位讀者,可以讓讀者通過(guò)微信平臺(tái)更加積極地互動(dòng),有效提高新書(shū)利用率和周轉(zhuǎn)率。
2.3.5通知、新聞等功能
微信群發(fā)可以使圖書(shū)館的講座通知、新聞以及培訓(xùn)等信息第一時(shí)間發(fā)送給讀者。
3.1 消息接口配置
微信公眾號(hào)審核通過(guò)后,就可利用微信公眾平臺(tái)“高級(jí)功能”菜單中的“開(kāi)發(fā)模式”實(shí)現(xiàn)對(duì)該公眾號(hào)的二次開(kāi)發(fā)。二次開(kāi)發(fā)的首要環(huán)節(jié)就是配置消息接口,登記圖書(shū)館用于消息處理的服務(wù)器資源URL和用于生成簽名的Token值,實(shí)現(xiàn)網(wǎng)址的接入。
當(dāng)有消息提交時(shí),微信服務(wù)器即刻向所登記的服務(wù)器資源URL發(fā)送GET請(qǐng)求。消息服務(wù)器首先檢驗(yàn)加密簽名Signature,驗(yàn)證成功則原樣返回隨機(jī)字符串Echostr的內(nèi)容,以表明成功接入,反之則接入失敗。消息接口配置成功后,URL就會(huì)接收到發(fā)送至微信公眾號(hào)的所有消息,而對(duì)于消息的解析和回復(fù),則交由指令解析模塊和各個(gè)服務(wù)子模塊來(lái)完成。
3.2 指令解析
3.2.1消息接收
微信一般是通過(guò)消息的交互來(lái)實(shí)現(xiàn)其應(yīng)用的,對(duì)消息的解析由指令解析模塊來(lái)負(fù)責(zé)。我們通常采XML作為請(qǐng)求消息格式,采用Dom4j來(lái)對(duì)其進(jìn)行解析。當(dāng)微信服務(wù)器接收POST請(qǐng)求,指令解析模塊就會(huì)匹配消息類(lèi)型和指令,并調(diào)用服務(wù)子模塊來(lái)進(jìn)行具體的處理。其中所涉及到的主要代碼和解釋如下:
解析指令內(nèi)容,確定子模塊及調(diào)用參數(shù):functionexecuteCommand(cmd)
執(zhí)行子模塊,完成指令要求功能:(module,params)=parseCommand(cm d)ExecuteModule(module,params)
本設(shè)計(jì)中微信公眾平臺(tái)所支持的文本消息指令包括兩種:
(2)復(fù)雜功能性指令:例如“cs#t:題名”(按題名查詢(xún)圖書(shū))、“jy#證號(hào),PIN碼”(查詢(xún)個(gè)人借閱情況)等。
3.2.2消息回復(fù)
對(duì)接收到消息指令進(jìn)行解析后,服務(wù)子模塊就會(huì)對(duì)其進(jìn)行響應(yīng)和處理,并將查詢(xún)結(jié)果返回給指令解析模塊進(jìn)行重新封裝,從而生成XML格式的回復(fù)消息。以回上例中的消息為例,輸入指令“cs#t:人生”,將得到如下回復(fù)消息。
<xm l>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[共3本1.《人生》...chx/Y?SEARCH=t:人生]]></Content>
<FuncFlag>0</FuncFlag>
</xm l>
3.3 服務(wù)子模塊的實(shí)現(xiàn)
圖書(shū)館微信公眾平臺(tái)在進(jìn)行二次開(kāi)發(fā)時(shí),為了使其服務(wù)子模塊具備良好的擴(kuò)展性,在消息處理時(shí)可以自由添加一些功能。但這并不意味著可以隨意設(shè)置功能模塊,因?yàn)榉?wù)子模塊的實(shí)現(xiàn)方式還和第三方系統(tǒng)的開(kāi)放程度有關(guān),因此各子模塊的實(shí)現(xiàn)也會(huì)有所不同。例如圖書(shū)館的預(yù)約續(xù)借管理系統(tǒng)如果能夠提供完整的功能接口,該微信服務(wù)子模塊的實(shí)現(xiàn)就比較簡(jiǎn)單,通過(guò)直接調(diào)用該功能接口,將預(yù)約或續(xù)借情況的信息封裝成微信消息。但是如果第三方系統(tǒng)沒(méi)有提供現(xiàn)成的接口,子模塊的實(shí)現(xiàn)就有點(diǎn)復(fù)雜。例如圖書(shū)館的書(shū)目查詢(xún)系統(tǒng)沒(méi)有提供現(xiàn)成的接口,實(shí)現(xiàn)時(shí)則需要使用HTMLParser模擬查詢(xún)操作,并通過(guò)解析查詢(xún)結(jié)果頁(yè)面,而獲得查詢(xún)信息。
除了將微信與圖書(shū)館傳統(tǒng)服務(wù)集成外,還可以通過(guò)微信傳播更豐富的圖書(shū)館信息。圖書(shū)館有書(shū)展、培訓(xùn)講座等動(dòng)態(tài)信息,如果通過(guò)人工維護(hù)的方式在微信應(yīng)用中提供這些信息,工作量大且難以保證信息的及時(shí)同步,因此可充分利用已有的RSS源,實(shí)現(xiàn)熱點(diǎn)消息查詢(xún)子模塊[2]。當(dāng)用戶(hù)向微信公眾號(hào)發(fā)送指令(如“新聞”)時(shí),系統(tǒng)將讀取相應(yīng)的RSS源,程序解析后將以回復(fù)文本消息的形式,返回包含新聞標(biāo)題和網(wǎng)址的XML。
基于微信公眾平臺(tái)構(gòu)建的高校移動(dòng)圖書(shū)館服務(wù)系統(tǒng)具有靈活開(kāi)放、功能強(qiáng)大等優(yōu)點(diǎn),可以極大地節(jié)約建設(shè)成本,提高圖書(shū)館移動(dòng)服務(wù)水平。本文設(shè)計(jì)并實(shí)現(xiàn)了微信圖書(shū)館公眾平臺(tái)的二次開(kāi)發(fā),希望可以給我校圖書(shū)館在建設(shè)移動(dòng)圖書(shū)館時(shí)提供一種選擇和參考。
[1]黃浩波,何衛(wèi)華,葉青微信及其在圖書(shū)館信息服務(wù)中的應(yīng)用[J].圖書(shū)館學(xué)刊,2013(01):62-64.
[2]張蓓,竇天芳,張成昱.圖書(shū)館微信公眾平臺(tái)服務(wù)的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代圖書(shū)情況技術(shù)2014(01):87-90.
本文系西安培華學(xué)院2014年度校級(jí)科研課題“基于微信公眾平臺(tái)的高校移動(dòng)圖書(shū)館系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)”(項(xiàng)目編號(hào):PHKT20140745)的研究成果。
王心妍(1978-),女,陜西西安人,講師,研究生,研究方向:計(jì)算機(jī)應(yīng)用技術(shù)。