999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于開源SDK的圖書館微信公眾平臺設計與實現

2016-10-10 05:16:10陳詩琴李文江
關鍵詞:微信圖書館信息

陳詩琴, 李文江

(1.重慶文理學院圖書館, 重慶 永川 402160; 2.重慶文理學院機電工程學院, 重慶 永川 402160)

?

基于開源SDK的圖書館微信公眾平臺設計與實現

陳詩琴1, 李文江2

(1.重慶文理學院圖書館, 重慶永川402160; 2.重慶文理學院機電工程學院, 重慶永川402160)

文章介紹了圖書館微信公眾平臺的設計思路、具體設計過程和最終實現效果.圖書館微信公眾平臺開發的重點在于開源SDK控件的應用,平臺接口與圖書館管理系統的對接.SDK控件的有效利用降低了平臺開發的難度.

SDK控件;圖書館服務;微信公眾平臺;開發模式

隨著移動圖書館的發展,微信作為移動服務的重要方式逐漸受到圖書館的青睞.特別是2014年以來,圖書館儼然進入“微時代”,微信在圖書館的應用研究大量出現.

雖然開通微信公眾平臺的圖書館越來越多,但大多數圖書館的微信公眾平臺仍只提供入門級服務[1-4].從時間上看,微信始于2011年,但直到2013年4月才有3所圖書館建立微信公眾平臺.這反映出業界對信息技術響應遲、起步晚的缺點.從功能上看,已建成的圖書館微信公眾平臺提供信息推送,內容以新聞公告為主,發布形式也局限于文字和圖片.從讀者體驗看,自助或互動咨詢響應慢、操作復雜、專指性較差、互動性不強[1-2,5].

對微信公眾平臺的具體開發仍是研究的薄弱環節.在2013—2015年的相關研究中,關于微信公眾平臺設計與實現方面的研究論文只占相關論文總量的5﹪(數據來源于CNKI,截止時間為2015年10月),其中闡述設計思路和策略的多,對技術實現的具體細節關注少.可見,圖書館在充分利用微信公眾平臺提供的第三方接口時還存在技術壁壘.本文從降低開發難度角度,詳細介紹如何利用開源控件SDK在開發模式下實現圖書館微信公眾平臺的構建.

1 設計思路

1.1功能分析

圖書館移動服務的內容體系可以分為3類[2,6-7].一是讀者信息管理,通過綁定個人賬號,讀者可以了解當前已借閱信息,進行圖書續借、預約等業務處理;二是信息發布和推送,這類信息包括圖書館的新聞通知、資源推薦、讀者培訓、活動預告和專題信息等;三是信息檢索和服務,微信公眾平臺實現OPAC檢索、知識庫查詢、無線局域網內的數據庫檢索以及學科服務、定制服務等.

根據圖書館移動服務內容體系,結合圖書館管理系統特點,本文將微信公眾平臺設計為相應的三大功能模塊(如圖1所示):資源檢索、我的圖書和讀者服務.其中前兩個模塊是針對圖書館管理系統進行查詢,最后一模塊針對圖書館網站進行查詢.

1.2框架構建

針對微信公眾平臺的設計目標,構建以下微信公眾平臺框架,如圖2所示.其中,重點在于整合圖書館網站、管理系統和服務內容,并分別與微信公眾平臺第三方接口實現對接.

圖1 圖書館微信公眾平臺功能結構

圖2 微信公眾平臺框架

(1)對接圖書館網站

針對在圖書館管理系統和圖書館主頁等網站直接查詢獲取信息這一情況,采用在微信中直接打開相應網站進行查詢的方式.這種方式獲取信息量大,無需另建微站.

(2)對接圖書館知識庫

微信公眾平臺將讀者的提問送入智能問答系統[8],并將問題與智能問答系統中的圖書館知識庫比對,找出類似問題的答案反饋給讀者,從而實現常規問題的自動回復.

(3)信息查詢處理系統

針對“當前借閱”“超期圖書”“續借圖書”建立對應的查詢程序,并獲取查詢信息,及時自動回復給讀者.對“新書推薦”“超期圖書”“新聞動態”建立信息提取,將提取的信息推送給讀者.

1.3技術選擇

在開發模式下,WEB應用系統(以下簡稱“應用系統”)是搭建微信公眾平臺的核心內容,負責將微信公眾平臺發送的XML 消息進行解析、與圖書館管理系統建立信息查詢、將獲取的查詢信息進行XML 封裝等工作.

表1 Senparc.Weixin.MP關鍵類介紹

本文基于.NET環境選擇開源WeixinMpSdk.dll SDK控件來搭建微信公眾平臺.WeixinMpSdk.dll開源SDK控件集成了URL有效性驗證、接收消息、發送消息、自定義菜單等主要功能.SDK包含的關鍵類如表1所示.在程序開發時,直接調用SDK相應功能就可完成XML消息的解析與封裝等工作,降低了程序開發難度.本文開發重點在開源SDK 控件的應用,以及平臺與圖書館管理系統的對接.

2 應用系統的具體設計

基于上述設計思路,應用系統的具體流程如圖3所示.

圖3 應用系統的流程設計

平臺針對3種信息整合方式,WEB應用系統需建立4個主要模塊:自定義微信菜單模塊、接收信息的XML解析模塊、信息查詢處理模塊、發送信息的XML封裝模塊.

(1)自定義微信菜單模塊

在微信公眾號使用前建立如圖1所示的功能菜單,并對菜單類型進行相應設置.菜單類型分為view和click兩類.click型菜單通過KEY屬性值,啟動“借閱圖書”“超期圖書”“續借圖書”信息處理程序.view類型的菜單通過URL鏈接地址與圖書館相關網站建立對接.

(2)接收信息的XML解析模塊

讀者點擊“click類型菜單”,手動輸入信息后,微信服務器將接收到的信息發送給WEB應用系統進行信息的XML解析,判斷信息類別.若獲取的是菜單KEY值,就調用相應處理程序;若是讀者輸入發送的信息類型,又將進行判斷是否包含指定的指令.若包含指定的指令,則執行對應程序,否則直接將信息送入智能問答系統.

(3)信息查詢處理模塊

針對“當前借閱”“超期圖書”“續借圖書”建立對應的查詢程序,并獲取查詢信息,及時自動回復給讀者.針對“新書推薦”“超期圖書”和“新聞動態”,根據需要主動推送信息,需要建立信息推送子系統.子系統在圖書館管理系統和圖書館主頁網站提取相應信息,推送給讀者.

(4)發送信息的XML封裝模塊

所有信息在發送之前需要將信息按照微信相應信息格式進行XML封裝才能發送給讀者.

3 應用系統具體實現

3.1獲取access_token票據

access_token是微信公眾號的全局唯一票據,微信公眾號調用各接口時都需使用access_token.在開發模式中獲取AppID和AppSecret,調用接口請求獲取access_token.正常情況下access_token有效期為7 200 s,重復獲取將導致上次獲取的access_token失效,而且獲取access_token的api調用次數非常有限.所以將其存儲在Global.asax全局變量Application(“AccessToken”)中,在要結束有效期時重新獲取.

3.2創建自定義菜單

“資源檢索”和“ 讀者服務”下的二級菜單都是view類型菜單,每個二級菜單的URL屬性設置為圖書館對應的網站地址,完成了與網站的對接.這種方式的優點在于獲取信息量大,讀者使用方便,實現簡單;缺點是比較耗費手機流量.

“我的圖書”下的二級菜單都是click類型菜單,每個二級菜單的KEY屬性值可自行定義,但值不能重復.如表2所示.

3.3接收信息的XML解析模塊

微信服務器接收到讀者消息后,將XML消息數據包推送到WEB應用系統的URL上.WEB應用系統將解析XML消息,獲得讀者發送的具體內容.根據內容的不同,系統將啟動不同的模塊程序.

(1)指令編碼規則

“綁定讀者號”需要輸入讀者號碼和密碼.“續借圖書”需要輸入續借圖書索書號,所以不能用菜單啟動相應程序完成具體操作,主要采用“指令JHJ文本”形式進行編碼.“綁定讀者號”采用“bdJHJ讀者號&密碼”形式,“續借圖書”采用“xjJHJ圖書索書號”形式.

(2)解析詳細過程

根據設計要求,只需對讀者部分事件(包括關注事件、點擊click類型菜單事件、取消關注事件)和輸入文本消息(包括“綁定讀者號”“ 續借圖書”編碼和其他文本)進行解析.

WEB應用系統利用ConvertMsgToObject方法將XML數據包轉化為ReceiveMessageBase消息基礎實例,獲取實例的消息類型MsgType(Event、Text)的值,進而根據值的不同執行不同的操作.解析接收信息XML的程序執行過程如圖4所示.

對于事件的解析主要在于判斷操作類型,而文本消息解析除了判斷文本分類外,還需獲取讀者發送的數據.讀者號和密碼的獲取是從TextReceiveMessage實例中獲取讀者微信ID和“bdJHJ讀者號&密碼”文本信息,再從文本信息中利用JHJ、&分隔符將“讀者號”和“密碼”進行分離.圖書索書號利用同樣的方法分離來獲取.若獲取其他文本信息,經整理后送入智能問答系統進行匹配查詢.

3.4信息查詢處理模塊

信息查詢主要分兩類.一類是根據讀者的操作發送被動響應消息:“綁定讀者號”“當前借閱”“超期圖書”“續借圖書”“解除讀者號”和“智能問答系統”.另一類是WEB應用系統主動發送客服消息:“新書推薦” “超期圖書”和“新聞動態”.這兩類信息來源于圖書館網站和管理系統.

圖書館主頁網站和圖書館管理系統均采用SQL Server數據庫.WEB應用系統選擇LINQ to SQL建立數據模型.首先新建LINQ to SQL 類文件( Data-Classes.dbml) ,接著添加數據庫連接,再從數據庫中選擇數據表、視圖,拖放到類文件中自動生成ORM代碼.這樣就可以在程序中直接調用生成的代碼,無需編寫SQL查詢語句.

圖4 解析接收信息XML的詳細程序流程

3.5發送信息的XML封裝

微信服務器要求回復信息響應時間為5 s,信息內容長度不能超過2 048字節.采用線程池的形式來并行處理任務或適當修改原有的流程都可達到節約時間開銷的目的[9].本文對此處理為:在執行查詢時的響應時間若超過4 s,則中斷查詢,用完整的查詢鏈接地址信息回復讀者.若查詢信息內容長度超標,只截取前面部分信息,再加上完整的查詢鏈接地址信息回復給讀者,讓讀者通過訪問鏈接進行完整查詢的方式避免因異步推送消息延遲造成誤解.

(1)發送被動響應消息

當接收到讀者信息后及時回復的讀者信息.回復信息的XML封裝主要應用Send*ReplyMessage方法,回復消息的發送者為WEB應用系統,消息的接收者為讀者.比如,回復文本信息的程序代碼如下:

SendTextReplyMessage(ReceiveMessage.ToUserName, ReceiveMessage.FromUserName, “回復消息”).其中,ReceiveMessage為WEB應用系統接收到讀者發送信息實例.

(2)發送客服消息

WEB應用系統主動向讀者發送消息.消息的XML封裝主要是應用Send*CustomMessage方法.該方法需要獲取access_token票據、讀者的微信ID和發送的信息.其中,微信ID從自建微信公眾平臺DB中獲取.比如,發送文本信息的程序代碼為:SendTextCustomMessage(AccessToken, toUser, “文本客服消息”).

4 實現效果

應用系統是以Windows 2003 Server服務器、Microsoft.NET Framework 4.0框架和IIS 6.0為運行環境.

微信讀者掃描平臺二維碼即可進行關注.整個平臺的自定義菜單如圖5所示.“資源檢索”和“讀者服務”直接鏈接圖書館網站.“我的圖書館”是綁定讀者號后啟動相應的查詢程序,返回查詢信息給讀者.

圖5 查詢指令菜單

自動推送信息:“新書推薦”“超期圖書”和“新聞動態”. “新書推薦”和“新聞動態”采用圖文消息的形式發送.每組圖文消息不能超過10條,否則無響應.

微信公眾平臺的應用較好地滿足了圖書館和讀者兩大主體對信息交互的需求.確保圖書館信息發送的目標更精準、信息量更大,并使信息發送的成本降低.微信公眾平臺提供菜單方式的查詢服務,達到信息過濾的效果,使讀者按需選擇、目標清晰,自助服務更易實現.

5 結語

構建開發模式的微信公眾平臺,其核心內容在于WEB應用系統,其難點也在于對WEB應用系統的解析、封裝.采用WeixinMpSdk開源控件直接跳過編寫底層代碼這一環節,提高了開發效率.平臺的自定義菜單設計為向導式操作,為讀者使用提供導航.

由于WeixinMpSdk控件沒有提供網頁訪問授權的Oauth功能,本文中采用指令方式完成綁定讀者號和圖書續借功能.“資源檢索”和“讀者服務”直接鏈接圖書館網站.使用非WIFI網絡訪問時流量消耗較大.下一步研究將利用微信網頁訪問授權開發圖書館微站,使之和微信公眾平臺相補充,以降低流量、加快訪問速度.

[1]黃浩波. 高校圖書館微信服務現狀及建議[J]. 圖書館學研究, 2014(3): 60-63.

[2]張駿毅,楊九龍,鄧媛. “211工程”高校圖書館微信應用現狀分析與對策研究[J]. 圖書館學研究, 2014(6): 29-34.

[3]張秋,楊玲,王曼. 高校圖書館微信公眾平臺服務發展現狀及對策[J]. 圖書館建設, 2014(2): 61-65.

[4]陳艷. 國內圖書館微信公眾平臺服務現狀研究[J]. 四川圖書館學報, 2014(4): 33-36.

[5]葉佩珍. 我國高校圖書館微信服務現狀調查研究[J]. 圖書館學研究, 2014(12): 80-84.

[6]張蓓,竇天芳,張成昱,等. 開發模式下圖書館微信公眾平臺服務的設計與實現[J]. 現代圖書情報技術, 2014(1): 87-91.

[7]鄧媛,張駿毅,楊九龍. 高校圖書館微信資源共建系統的設計與實現[J]. 圖書館學研究, 2014(10): 41-47.

[8]李文江,陳詩琴. AIMLBot智能機器人在實時虛擬參考咨詢中的應用[J]. 現代圖書情報技術, 2012(7): 127-132.

[9]郭利敏,張磊,趙亮. 圖書館微信服務應用開發——以上海圖書館為例[J]. 現代圖書情報技術, 2014(5): 96-101.

(責任編輯穆剛)

Design and implementation of library WeChat public platform based on open source SDK

CHEN Shiqin1, LI Wenjiang2

(1.Library, Chongqing University of Arts and Sciences, Yongchuan Chongqing 402160, China;

2.Faculty of Electromechanical Engineering, Chongqing University of Arts and Sciences, Yongchuan Chongqing 402160, China)

This article introduces the design method, design process of library WeChat public platform and the final experimental results. The development focuses on the application of open source SDK control, the docking between platform interface and library management system. The effective use of the SDK control, reduces the difficulty of development.

SDK control; library service; WeChat public platform; development mode

2015-11-12

陳詩琴( 1981—) , 女,重慶九龍坡人,館員,主要從事圖書館信息管理、信息技術應用方面的研究.

G250.7

A

1673-8004(2016)05-0113-06

猜你喜歡
微信圖書館信息
圖書館
小太陽畫報(2018年1期)2018-05-14 17:19:25
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
微信
飛躍圖書館
微信
微信
微信
圖書館里的是是非非
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
去圖書館
主站蜘蛛池模板: 五月婷婷丁香综合| 日韩色图区| 国产h视频免费观看| 超碰91免费人妻| 国产熟女一级毛片| 国产又爽又黄无遮挡免费观看| 日本精品αv中文字幕| 永久在线精品免费视频观看| 精品1区2区3区| 久久久久免费看成人影片| 国产精品欧美在线观看| 青青草国产一区二区三区| 欧美国产在线精品17p| 国产综合亚洲欧洲区精品无码| 不卡视频国产| 免费一看一级毛片| 亚洲乱码精品久久久久..| 日韩第九页| 久久亚洲高清国产| 激情无码视频在线看| 一边摸一边做爽的视频17国产| 亚洲三级影院| 亚洲无码日韩一区| 日韩精品成人网页视频在线 | 在线观看av永久| 欧美www在线观看| 亚洲欧美激情另类| 亚洲国产精品一区二区高清无码久久 | 视频一本大道香蕉久在线播放| 成人精品视频一区二区在线 | 在线五月婷婷| 亚亚洲乱码一二三四区| 亚洲乱码视频| 亚洲无线一二三四区男男| 91精品人妻一区二区| 久久免费观看视频| 亚洲中文在线看视频一区| 国产日韩欧美在线视频免费观看| 亚洲人人视频| 久久精品欧美一区二区| 亚洲日韩久久综合中文字幕| 台湾AV国片精品女同性| 欧美综合区自拍亚洲综合天堂| 国内丰满少妇猛烈精品播| 久久久久人妻精品一区三寸蜜桃| 毛片久久久| 国产精品福利在线观看无码卡| 亚洲成人动漫在线| 伊人久久久大香线蕉综合直播| 国产精品一区在线观看你懂的| 国产精品一区二区不卡的视频| 54pao国产成人免费视频| 伊人久久婷婷五月综合97色| 波多野结衣无码中文字幕在线观看一区二区 | 99这里只有精品6| 亚洲国产成人久久77| 久久精品午夜视频| 色综合中文| 欧洲精品视频在线观看| 久草中文网| 日韩精品资源| 综合色亚洲| 亚洲精品日产精品乱码不卡| 在线观看91精品国产剧情免费| 亚洲无限乱码一二三四区| 亚洲国产成人久久精品软件| 欧美色视频日本| 欧美中文字幕第一页线路一| 国内精品手机在线观看视频| 亚洲黄色激情网站| 日韩一区二区三免费高清| 国产精品网址你懂的| 免费在线不卡视频| 日韩小视频在线播放| 欧美色香蕉| 亚洲综合极品香蕉久久网| 免费无码一区二区| 91网红精品在线观看| 国产乱子伦精品视频| 四虎永久免费地址在线网站| 日韩欧美色综合| 久久亚洲国产最新网站|