基于ne的圖書館業(yè)務嵌入微信的應用研究_第1頁
基于ne的圖書館業(yè)務嵌入微信的應用研究_第2頁
基于ne的圖書館業(yè)務嵌入微信的應用研究_第3頁
基于ne的圖書館業(yè)務嵌入微信的應用研究_第4頁
基于ne的圖書館業(yè)務嵌入微信的應用研究_第5頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

基于ne的圖書館業(yè)務嵌入微信的應用研究

1信息傳遞方式隨著移動互聯(lián)網(wǎng)和智能手機的普及,微信作為一種免費的社交軟件,其觀眾數(shù)量不斷增加。微信公眾平臺方便快捷的信息傳遞方式契合了圖書館移動服務的需要。圖書館可以充分利用讀者微信客戶端作為APP終端,將信息服務與微信公眾平臺有效結(jié)合,在讀者交友娛樂的同時,還可與圖書館進行信息交流,擴展了圖書館信息服務渠道,提升讀者的應用體驗。本文將詳細介紹在微信公眾平臺的開發(fā)模式下,如何設(shè)計并實現(xiàn)圖書館微信公眾平臺(簡稱“平臺”)。2需求分析和設(shè)計理念2.1系統(tǒng)與功能對接目前不少圖書館正在打造屬于自己的微信公眾平臺。以“圖書館”為關(guān)鍵詞能查找到很多微信公眾號,其中有少數(shù)公眾號與圖書館業(yè)務系統(tǒng)對接,實現(xiàn)了讀者號的綁定、圖書借閱查詢、期刊查詢等功能。其對接方式主要兩種:一種是在微信上輸入指令或關(guān)鍵詞進行查詢的整合性對接,如上海圖書館、重慶圖書館;另一種是鏈接到圖書館Web系統(tǒng)上查詢的形式性對接,微信只充當瀏覽器功能,如上海交通大學圖書館和廣州圖書館。就多數(shù)公眾號而言,并未與圖書館業(yè)務系統(tǒng)對接,提供的功能較為簡單。(2)在微信系統(tǒng)開發(fā)方面從平臺技術(shù)上看,微信官網(wǎng)提供了詳細的技術(shù)文檔,開發(fā)者根據(jù)自己熟悉的編程技術(shù)進行開發(fā)。在CNKI上,以“微信”和“圖書館”為關(guān)鍵詞進行檢索,檢出文獻中的平臺設(shè)計多數(shù)直接按照技術(shù)文檔進行原始開發(fā)。如文獻采用Dom4j解析XML消息,文獻自建Java的Weixinservlet類來實現(xiàn)消息的接收解析等,文獻自建PHP消息封裝與回復函數(shù)reply($replytext)。這些文獻的重點集中在如何按照技術(shù)文檔一步步實現(xiàn)微信XML消息的解析、封裝,對于獲取XML數(shù)據(jù)后如何處理或與圖書館業(yè)務系統(tǒng)如何對接介紹較少。另外,按照技術(shù)文檔開發(fā)效率低下,且編程難度較大。目前,雖然微信官方提供了SDK,但只有基于PHP環(huán)境的SDK。因此,出現(xiàn)了很多第三方SDK,如PHP環(huán)境的PHPSDK增強版和Wechat-php-sdk;Java環(huán)境的JavaSDK和消息接口-java-jsp;.NET環(huán)境的WeixinMpSdk、Senparc.Weixin.MPSDK和Loogn.WeiXinSDK等。雖有這么多開源SDK,但通過對CNKI中微信公眾平臺開發(fā)文獻的檢索,并未發(fā)現(xiàn)開源SDK的應用設(shè)計。而且這些設(shè)計類文獻,主要基于Java、PHP兩種環(huán)境進行設(shè)計開發(fā),沒有基于.NET環(huán)境的相關(guān)文獻。2.2平臺總體架構(gòu)圖書館與讀者交互信息較多,若通過微信APP客戶端響應每個讀者的需求,只能通過開發(fā)模式與圖書館各類系統(tǒng)進行整合性對接,利用微信公眾平臺自動回復消息功能,完成讀者與圖書館間信息交互。根據(jù)微信公眾平臺信息交互的特點,平臺運行過程為:接收讀者發(fā)送的查詢需求,將查詢關(guān)鍵詞傳遞給圖書館業(yè)務系統(tǒng)執(zhí)行查詢,返回查詢結(jié)果并發(fā)送給讀者客戶端,從而完成信息的自動交互。整個平臺框架如圖1所示:其中Web應用系統(tǒng)(簡稱“應用系統(tǒng)”)是實現(xiàn)平臺的唯一核心系統(tǒng),它需要完成微信公眾平臺發(fā)送的XML消息解析、與圖書館業(yè)務系統(tǒng)建立信息查詢、將獲取的查詢信息進行XML封裝等工作。本文基于.NET環(huán)境,選擇開源SDK軟件,直接調(diào)用SDK相應功能完成XML消息的解析與封裝等工作,從而降低程序開發(fā)難度。開發(fā)的重點是開源SDK軟件的應用和平臺與圖書館業(yè)務系統(tǒng)的對接方式。3信息查詢基于上述設(shè)計思路,應用系統(tǒng)的具體流程如圖2所示:主要實現(xiàn)以下功能:(1)當讀者關(guān)注圖書館微信公眾號時,應用系統(tǒng)自動向讀者發(fā)送歡迎詞和查詢指令。(2)關(guān)注成功后,讀者在微信客戶端發(fā)送包含讀者號和密碼的指令,應用系統(tǒng)接收并解析指令,獲取讀者號、密碼和微信ID,存儲在數(shù)據(jù)庫中,為信息查詢模塊調(diào)用讀者號和密碼做準備。(3)讀者在微信客戶端輸入相應查詢指令后,應用系統(tǒng)接收并解析指令,分析指令內(nèi)容,啟動相應的信息查詢模塊,與圖書館業(yè)務系統(tǒng)建立查詢,返回查詢結(jié)果。最后封裝查詢結(jié)果信息,并發(fā)送給微信公眾平臺服務器(簡稱“微信服務器”)。(4)若讀者取消公眾號的關(guān)注后,將從數(shù)據(jù)庫中刪除存儲的讀者號相關(guān)信息。4應用系統(tǒng)的具體應用4.1開發(fā)器安全技術(shù).NET環(huán)境下的Senparc.Weixin.MP.dll開源SDK控件集成了URL有效性驗證、接收消息、發(fā)送消息和自定義菜單等主要功能,在開發(fā)中調(diào)用相應功能即可。其中SDK包含的關(guān)鍵類如表1所示:(2)轉(zhuǎn)化sql消息解析在程序中,主要涉及“消息接口URL有效性驗證”、“發(fā)送的XML消息接收與解析”、“解析后消息類型的判斷”和“回復XML消息封裝與轉(zhuǎn)換”這4個環(huán)節(jié),對應SDK類或方法的調(diào)用。其整個調(diào)用流程如圖3所示:4.2發(fā)送table請求在微信公眾平臺管理系統(tǒng)中,填寫消息接口URL和Token參數(shù)。驗證URL時,微信服務器向URL發(fā)送GET請求。獲取請求的Signature、Timestamp、Nonce和Echostr參數(shù)值,并將值傳遞給CheckSignature.Check方法進行URL有效性檢驗,若確認請求來自微信服務器,則原樣返回Echostr參數(shù)內(nèi)容,表示驗證成功。4.3enti著型的裝置將微信服務器發(fā)送的XML數(shù)據(jù)包轉(zhuǎn)換為XDocument對象。調(diào)用RequestMessageFactory.GetRequestEntity方法,將XDocument對象轉(zhuǎn)換為Entities.RequestMessageBase實例,取得消息類型RequestMsgType的值,根據(jù)不同的值執(zhí)行不同的操作。以下是程序的主要執(zhí)行過程:4.4查詢接口獲取圖書館業(yè)務系統(tǒng)中有自建系統(tǒng)、也有第三方的系統(tǒng),針對不同類型的業(yè)務系統(tǒng)建立不同的信息查詢方式。本文主要采用以下三種方式:1從FAQ知識庫獲取信息將圖書館網(wǎng)站上常見的FAQ信息進行整理并建立知識庫,其字段如表2所示。當平臺接收到查詢命令后,直接從知識庫中返回查詢結(jié)果,節(jié)約查詢響應時間。2從業(yè)務系統(tǒng)查詢接口獲取信息針對自建業(yè)務系統(tǒng)和第三方預留數(shù)據(jù)查詢接口的業(yè)務系統(tǒng),建立調(diào)用接口程序,獲取查詢信息。3從業(yè)務系統(tǒng)Web頁面獲取信息針對第三方且未預留數(shù)據(jù)查詢接口的業(yè)務系統(tǒng),從Web頁面提取數(shù)據(jù)。引用Winista.HtmlP開源控件,建立模擬登錄程序,執(zhí)行相關(guān)查詢,解析查詢結(jié)果頁面內(nèi)容,獲取相關(guān)信息。(2)復合指令查詢整個平臺的查詢指令主要分為三類:1數(shù)字指令查詢。由0-9構(gòu)成單一指令,主要針對FAQ知識庫中的Inst字段進行查詢。2關(guān)鍵詞查詢。輸入關(guān)鍵詞進行查詢,主要針對FAQ知識庫的FAQ標題和內(nèi)容進行全文檢索。3復合指令查詢。由a-z單個字母+#+關(guān)鍵詞構(gòu)成的字母復合指令,主要針對圖書館業(yè)務系統(tǒng)信息查詢。字母對應圖書館業(yè)務系統(tǒng),“#”為分隔符。該類指令對應信息查詢模塊較多,為減少主程序代碼過長和提高執(zhí)行效率,將指令字母部分與對應的信息查詢模塊名稱儲存在數(shù)據(jù)庫中,其字段如表3所示:將1和3的指令存儲在數(shù)據(jù)庫中的優(yōu)勢:具有良好的可擴展性,在不調(diào)整指令分析控制程序的前提下,可按照指令規(guī)則任意新增查詢功能。根據(jù)讀者發(fā)送指令的類型,啟動相應信息查詢模塊,其控制流程如圖4所示。4.5在essage#實例下回復讀者調(diào)用ResponseMessageBase.CreateFromRequestMessage方法,創(chuàng)建查詢結(jié)果的ResponseMessage*實例,通過EntityHelper.ConvertEntityToXmlString方法將其實例轉(zhuǎn)換為文本并回復讀者。以下是針對讀者requestMessage會話回復文本消息的程序代碼:在上述程序中,將ResponseMessageText、ResponseMsgType.Text、responseMessage.Content三項作相應修改,即可實現(xiàn)其他類型消息的回復。5關(guān)于登錄讀者號以讀者“j00600”借閱情況查詢?yōu)槔?在圖書館業(yè)務系統(tǒng)上查詢結(jié)果如圖5所示。在微信上查詢,首次需發(fā)送“f#j00600&123456”指令(讀者號和密碼)綁定讀者號。當綁定成功后,發(fā)送“g”借閱查詢指令,則收到借閱書目信息如圖6所示。從兩種查詢方式來看結(jié)果是一致的,實現(xiàn)了設(shè)計目標,滿足了讀者對信息快速查詢的需求。6為圖書館業(yè)務系統(tǒng)數(shù)據(jù)查詢提供更多的信息查詢服務,提高服務效率本文設(shè)計并實現(xiàn)了基于Senparc.Weixin.MP開源控件的平臺,系統(tǒng)地介紹了設(shè)計思路、具體實現(xiàn)和最終實

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論