• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      圖書館微信借書系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      2015-10-26 05:21:45湖南圖書館湖南長沙410011
      圖書館建設(shè) 2015年2期
      關(guān)鍵詞:借書菜單公眾

      姚 舜(湖南圖書館 湖南 長沙 410011)

      圖書館微信借書系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      姚舜(湖南圖書館湖南長沙410011)

      微信借書系統(tǒng)是一個(gè)基于圖書館微信公眾平臺(tái)的應(yīng)用,讀者不用攜帶讀者證,利用該系統(tǒng)就可從圖書館借書。但是,該系統(tǒng)在實(shí)現(xiàn)過程中遇到讀者證弱口令、借書流程設(shè)計(jì)以及微信借書系統(tǒng)與圖書管理系統(tǒng)的數(shù)據(jù)調(diào)用方面的問題。因此,該系統(tǒng)可采用“三次握手”、隨機(jī)驗(yàn)證碼、限制有效時(shí)間等手段保證讀者證號(hào)的安全,并可采用模擬Post請(qǐng)求的方式實(shí)現(xiàn)整個(gè)系統(tǒng)功能。

      圖書館微信公眾平臺(tái)微信借書

      1 前  言

      自騰訊公司2011年1月推出微信后,沒有人能夠預(yù)料到它3年后的發(fā)展。如今,微信月活躍用戶數(shù)已超過4億[1]。面對(duì)如此龐大的用戶群,各行各業(yè)紛紛加入到微信大軍中,開設(shè)自己的微信公眾平臺(tái)進(jìn)行業(yè)務(wù)拓展和客戶服務(wù)。當(dāng)然,圖書館也不例外,許多圖書館都開通了微信公眾服務(wù)平臺(tái),為讀者提供查詢信息和互動(dòng)咨詢服務(wù)[2]。微信已經(jīng)成為圖書館服務(wù)方式從人工和PC(Personal Computer,個(gè)人計(jì)算機(jī))端向移動(dòng)互聯(lián)網(wǎng)的一種延伸。

      微信借書又可被稱為“微借書”,是指讀者不用攜帶讀者證,利用移動(dòng)終端上安裝的微信客戶端從圖書館借書。銀行業(yè)在去年就推出了類似服務(wù)——微信取款,客戶即使沒有帶銀行卡,也可以從銀行取出現(xiàn)金。銀行推出的這項(xiàng)特色服務(wù)不僅給客戶提供了便利,還降低了客戶遺失銀行卡的風(fēng)險(xiǎn),極大地提升了客戶體驗(yàn)。同樣,微信借書服務(wù)如果在圖書館開通必將會(huì)給讀者一個(gè)全新體驗(yàn)。然而,在國內(nèi)圖書館中還沒有一家實(shí)現(xiàn)和開通這項(xiàng)服務(wù)。筆者經(jīng)過深入研究,發(fā)現(xiàn)微信借書服務(wù)在實(shí)現(xiàn)上存在諸多問題。

      (1)讀者證弱口令的問題。微信借書系統(tǒng)首先需要對(duì)讀者身份進(jìn)行認(rèn)證。然而,圖書館的大多數(shù)讀者證號(hào)都存在默認(rèn)密碼或弱口令的問題,如果系統(tǒng)中簡單地使用讀者證號(hào)和密碼進(jìn)行身份確認(rèn),很容易出現(xiàn)讀者證被盜用的情況,這將給被盜用的讀者帶來損失。因此,微信借書系統(tǒng)必須采用另一種更安全的讀者認(rèn)證方式來解決讀者證弱口令的問題。

      (2)微信借書流程的設(shè)計(jì)問題。微信借書系統(tǒng)的流程設(shè)計(jì)非常重要,應(yīng)該符合讀者和工作人員的操作習(xí)慣,既要盡量簡化讀者操作要求,給讀者最佳的用戶體驗(yàn),又要降低工作人員的操作復(fù)雜度,避免由于開通微信借書服務(wù)而延長持證借書讀者的借書時(shí)間。目前,國內(nèi)沒有關(guān)于這方面的研究文獻(xiàn),只有銀行業(yè)的微信取款業(yè)務(wù)流程可供借鑒。

      (3)微信借書系統(tǒng)與圖書管理系統(tǒng)的數(shù)據(jù)調(diào)用問題。微信借書系統(tǒng)作為第三方平臺(tái)系統(tǒng),需要調(diào)用圖書管理系統(tǒng)中的數(shù)據(jù),其通??梢酝ㄟ^兩種接口實(shí)現(xiàn):一種是通用接口,這種接口參數(shù)簡單并返回JSON(Javascript Object Notation,數(shù)據(jù)交換格式)或XML(Extensible Markup Language,可擴(kuò)展標(biāo)記語言)格式數(shù)據(jù),程序上容易實(shí)現(xiàn),但圖書管理系統(tǒng)只提供數(shù)據(jù)查詢接口,沒有提供借書接口,無法滿足微信借書系統(tǒng)的全部功能需求;另一種是ACS(Automated Circulation System,自動(dòng)化流通系統(tǒng))接口,該接口通過socket(又稱套接字,應(yīng)用程序通常通過“套接字”向網(wǎng)絡(luò)發(fā)出請(qǐng)求或者應(yīng)答網(wǎng)絡(luò)請(qǐng)求)實(shí)現(xiàn)客戶端與服務(wù)器端數(shù)據(jù)的交互,其優(yōu)點(diǎn)是接口種類豐富,能實(shí)現(xiàn)微信借書系統(tǒng)的所有功能,缺點(diǎn)是開發(fā)者需要了解和運(yùn)用多種接口,會(huì)使得程序復(fù)雜。因此,尋找一種比較合適的數(shù)據(jù)調(diào)用方式成為微信借書系統(tǒng)實(shí)現(xiàn)的難點(diǎn)。

      2 微信借書系統(tǒng)設(shè)計(jì)

      2.1流程設(shè)計(jì)

      銀行業(yè)的微信取款業(yè)務(wù)沒有統(tǒng)一的流程。首先,多數(shù)銀行需要客戶關(guān)注該銀行的微信公眾平臺(tái),將銀行卡與手機(jī)綁定,并開通手機(jī)支付功能;然后,選擇“預(yù)約取款”功能,獲取取款預(yù)約碼;最后,通過手機(jī)號(hào)碼、取款預(yù)約碼和交易密碼到自動(dòng)取款機(jī)上完成取款。圖書館的借書業(yè)務(wù)與銀行的取款業(yè)務(wù)有些類似,但其安全性要求較低,因此,流程上可以進(jìn)行借鑒并簡化銀行的微信取款業(yè)務(wù)。筆者提出的微信借書系統(tǒng)具體流程(見圖1)為:首先,讀者關(guān)注圖書館微信公眾平臺(tái),然后進(jìn)行讀者登錄。如果讀者第一次登錄還需進(jìn)行讀者證與微信openID(即微信客戶端賬號(hào)加密后的字符串,讀者在公眾平臺(tái)可以直接獲取)的綁定。綁定過程采用“三次握手”的方式:讀者先提交讀者證和身份證明給工作人員,工作人員進(jìn)行核實(shí)并生成驗(yàn)證碼,讀者再將讀者證號(hào)、密碼和收到的驗(yàn)證碼進(jìn)行登錄,完成綁定過程。讀者登錄成功后即可進(jìn)行微信借書和查詢業(yè)務(wù)。讀者進(jìn)行微信借書服務(wù)需首先通過微信客戶端申請(qǐng)獲得借書號(hào),再將所需要借的圖書和借書號(hào)交給工作人員,工作人員在后臺(tái)管理模塊中輸入借書號(hào)和圖書條碼號(hào)完成本次微信借書操作。其中,設(shè)置借書號(hào)的作用主要是代替讀者證號(hào),減少工作人員輸入的位數(shù)。

      圖1 微信借書系統(tǒng)流程圖

      2.2功能設(shè)計(jì)

      微信借書系統(tǒng)由讀者使用的前臺(tái)服務(wù)模塊和工作人員使用的后臺(tái)管理模塊兩部分組成。前臺(tái)服務(wù)模塊作為微信公眾平臺(tái)開發(fā)模式的接口服務(wù)器端,其功能包括讀者身份認(rèn)證、指令接收和消息發(fā)送。后臺(tái)管理模塊基于B/S(Browser/ Server,瀏覽器/服務(wù)器)模式開發(fā),其功能包括讀者認(rèn)證審核、微信服務(wù)開通與取消、微信借書等業(yè)務(wù)的處理。

      2.2.1前臺(tái)服務(wù)模塊設(shè)計(jì)

      讀者與微信公眾平臺(tái)的交互方式有發(fā)送消息和菜單click事件[3]。發(fā)送消息的方式需要讀者輸入指令才能啟動(dòng)相應(yīng)功能,其優(yōu)點(diǎn)是功能數(shù)量不受限制,缺點(diǎn)是系統(tǒng)功能不能一目了然,用戶體驗(yàn)不好。菜單方式比較友好,讀者直接點(diǎn)擊微信界面下方的菜單即可使用相應(yīng)功能,缺點(diǎn)是功能數(shù)量有限。前臺(tái)服務(wù)模塊采用界面豐富的菜單式進(jìn)行交互,讓讀者更直觀、快捷地使用微信公眾平臺(tái)的功能。由于自定義菜單最多包含3個(gè)一級(jí)菜單,每個(gè)一級(jí)菜單最多包含5個(gè)二級(jí)菜單[3],因此在功能設(shè)計(jì)上必須簡單、實(shí)用。筆者將微信借書系統(tǒng)的前兩個(gè)一級(jí)菜單作為日常信息查詢和互動(dòng)咨詢服務(wù),用于整合原有公眾平臺(tái)的功能,最后一個(gè)一級(jí)菜單作為微信借書系統(tǒng),其中,包含“我的讀者證”、“讀者登錄”、“申請(qǐng)微信借書”、“借閱查詢”和“圖書續(xù)借”5項(xiàng)功能[4]。

      (1)我的讀者證:用于顯示讀者綁定狀態(tài)和登陸有效期,如果登陸狀態(tài)在有效期內(nèi),還會(huì)顯示讀者證號(hào)、姓名、證類型、有效期、狀態(tài)和欠款等基本信息。

      (2)讀者登錄:用于使用讀者證號(hào)、密碼和微信openID進(jìn)行身份認(rèn)證,默認(rèn)有效期為當(dāng)天,也可以自定義設(shè)置為7天或30天,有效期內(nèi)無需再次登錄。

      (3)申請(qǐng)微信借書:用于申請(qǐng)借書號(hào),申請(qǐng)成功后系統(tǒng)將提供4位隨機(jī)數(shù)字,有效時(shí)間為30分鐘。

      (4)借閱查詢:用于查詢當(dāng)前讀者微信賬戶綁定的讀者證上所借的圖書。

      (5)圖書續(xù)借:用于續(xù)借當(dāng)前讀者微信賬戶綁定的讀者證上所借的圖書。

      2.2.2后臺(tái)管理模塊設(shè)計(jì)

      后臺(tái)管理模塊包括“微信讀者綁定”、“微信借書”和“日志查詢”功能。為了方便工作人員操作,圖書管理系統(tǒng)的辦證和借書窗口中增加了后臺(tái)管理模塊的鏈接,工作人員點(diǎn)擊鏈接按鈕后就可快速打開相應(yīng)功能的頁面。

      (1) 微信讀者綁定:實(shí)現(xiàn)查詢和驗(yàn)證讀者證有效期、生成隨機(jī)驗(yàn)證碼和取消綁定的功能。驗(yàn)證碼有效時(shí)間為5分鐘,讀者必須在有效期內(nèi)完成第一次登錄,超時(shí)需重新申請(qǐng)驗(yàn)證碼。

      (2)微信借書:實(shí)現(xiàn)通過借書號(hào)和圖書條碼號(hào)辦理借書業(yè)務(wù),能自動(dòng)判斷讀者證的狀態(tài)和圖書條碼號(hào)的有效性,并支持以條碼掃描槍方式錄入圖書條碼號(hào)。借書號(hào)被使用后立即失效。

      (3)日志查詢:實(shí)現(xiàn)通過時(shí)間、讀者證號(hào)、操作員、操作類型等條件進(jìn)行日志查詢。

      2.3數(shù)據(jù)庫設(shè)計(jì)

      微信借書系統(tǒng)的數(shù)據(jù)庫WXDB是基于MySQL數(shù)據(jù)庫管理平臺(tái)建立的,包含reader(讀者表)和log(日志表)。reader用于保存與讀者相關(guān)的信息,設(shè)計(jì)的字段有id(序號(hào))、readerid(讀者證號(hào))、rdname(姓名)、weixinid(微信openID)、sfid(身份證號(hào))、bcode(驗(yàn)證碼)、benddate(驗(yàn)證碼失效時(shí)間)、sign(綁定標(biāo)識(shí))、startdate(登錄開始時(shí)間)、enddate(登錄失效時(shí)間)、yznum(借書號(hào))、yzstartdate(申請(qǐng)時(shí)間)、yzenddate(借書號(hào)失效時(shí)間);log用于記錄讀者和工作人員的操作日志,設(shè)計(jì)的字段有id(序號(hào))、type(類型)、readerid(讀者證號(hào))、operator(工作人員)、content(內(nèi)容)、ip(IP地址)、createdate(創(chuàng)建時(shí)間)。

      3 系統(tǒng)功能的實(shí)現(xiàn)

      3.1菜單界面的實(shí)現(xiàn)

      首先,菜單界面的實(shí)現(xiàn)需開啟微信公眾平臺(tái)的開發(fā)模式并通過公眾平臺(tái)的認(rèn)證;然后在后臺(tái)開發(fā)模式下找到公眾平臺(tái)的AppId和AppSecret兩個(gè)ID[5],并把這兩個(gè)ID作為接口https://api.weixin.qq.com/cgi-bin/token? grant_type=client_credential&appid=APPID&secret=APPSECRET中的參數(shù)獲取一個(gè)ACCESS_TOKEN值;最后,進(jìn)入微信公眾平臺(tái)網(wǎng)頁調(diào)試工具輸入ACCESS_TOKEN值和JSON格式的菜單數(shù)據(jù)包并進(jìn)行提交,提交成功后就實(shí)現(xiàn)了微信公眾平臺(tái)的菜單界面。

      3.2消息接口的實(shí)現(xiàn)

      微信借書系統(tǒng)前臺(tái)服務(wù)功能的實(shí)現(xiàn)需要菜單界面和消息接口,其中,消息接口負(fù)責(zé)完成用戶操作事件的處理。其處理的事件有兩類:一類是點(diǎn)擊類事件,主要用于“我的讀者證”、“申請(qǐng)微信借書”、“借閱查詢”和“圖書續(xù)借”4個(gè)功能。消息接口查詢數(shù)據(jù)庫中的數(shù)據(jù),將結(jié)果以圖文消息的格式展現(xiàn)給微信客戶端。另一類是鏈接事件,用于讀者登錄功能。當(dāng)讀者點(diǎn)擊“讀者登錄”菜單后,消息接口打開WAP(Wireless Application Protocol,無線應(yīng)用協(xié)議)登錄頁面引導(dǎo)讀者登錄。這種方式登錄界面比較友好,比文本方式登錄更安全,不會(huì)在微信客戶端留下證號(hào)和密碼,但獲取openID比較繁瑣,需要啟用公眾平臺(tái)管理后臺(tái)的OAuth2.0[3](一個(gè)開放協(xié)議,允許用戶讓第三方應(yīng)用以安全且標(biāo)準(zhǔn)的方式獲取該用戶在某一網(wǎng)站的私密資源)網(wǎng)頁授權(quán)功能,讓讀者授權(quán)WAP登錄頁面。獲得授權(quán)的登錄頁面取得openID后才能實(shí)現(xiàn)讀者登錄。

      3.3借書功能的實(shí)現(xiàn)

      微信借書系統(tǒng)子功能的實(shí)現(xiàn)關(guān)鍵在于對(duì)兩個(gè)數(shù)據(jù)庫的查詢和操作。WXDB數(shù)據(jù)庫由于有詳細(xì)的數(shù)據(jù)字典,因而可以直接進(jìn)行讀寫。圖書管理系統(tǒng)數(shù)據(jù)庫的數(shù)據(jù)字典屬于商業(yè)秘密,公司提供JSON接口和ACS接口以獲取數(shù)據(jù),并且部分接口需要讀者證號(hào)和密碼作為參數(shù)。但是,由于微信借書系統(tǒng)為了讀者數(shù)據(jù)的安全與同步,在WXDB數(shù)據(jù)庫中沒有保存讀者密碼,因此,如果通過接口調(diào)用數(shù)據(jù)會(huì)使系統(tǒng)實(shí)現(xiàn)困難。筆者對(duì)湖南圖書館的圖書管理系統(tǒng)Interlib進(jìn)行研究發(fā)現(xiàn),Interlib完成借書操作需要客戶端向服務(wù)器發(fā)送三次Post(客戶端與服務(wù)器的一種交互方式)請(qǐng)求,第一次是操作員的身份認(rèn)證,第二次是通過讀者證號(hào)查詢讀者基本信息和借閱信息,第三次是錄入圖書條碼號(hào)進(jìn)行借書。在這三次Post請(qǐng)求過程中是不需要讀者密碼的,因此,如果先將借書號(hào)轉(zhuǎn)換成讀者證號(hào),再模擬三次Post請(qǐng)求,即可實(shí)現(xiàn)微信借書的功能。微信借書系統(tǒng)采用CURL[6](一個(gè)利用URL語法規(guī)定來傳輸文件和數(shù)據(jù)的類庫)方法實(shí)現(xiàn)模擬Post請(qǐng)求,實(shí)現(xiàn)微信借書功能的核心代碼非常短(約60行),其算法如下:

      4 結(jié) 語

      隨著微信影響力的擴(kuò)大,微信公眾平臺(tái)已經(jīng)是圖書館宣傳和服務(wù)的較好工具,其能夠擴(kuò)大圖書館在互聯(lián)網(wǎng)時(shí)代的影響力。微信借書作為微信公眾平臺(tái)的一項(xiàng)服務(wù),是改變圖書館傳統(tǒng)借書方式的一次嘗試。微信借書系統(tǒng)采用“三次握手”、隨機(jī)驗(yàn)證碼、限制有效時(shí)間等手段保證了讀者證號(hào)的安全。雖然該系統(tǒng)上線會(huì)少量地增加辦證人員的工作量,但是會(huì)給讀者帶來更多的方便。未來,筆者將研究更多基于微信公眾平臺(tái)的應(yīng)用服務(wù),如微信辦證、微信押金和欠款支付等。

      [1]鳳凰網(wǎng). 微信月活躍用戶數(shù)已達(dá)4.38億[EB/OL]. [2014-08-14]. http://finance.ifeng.com/a/20140814/12925040_0.shtml.

      [2]尹愛蘭. 微信公眾平臺(tái)在高校圖書館使用的調(diào)查分析:基于高校圖書館的實(shí)證分析[J] .農(nóng)業(yè)圖書情報(bào)學(xué)刊, 2014(4):60-63.

      [3]微信公眾平臺(tái)_開發(fā)者文檔[EB/OL]. [2014-08-09]. http://mp. weixin.qq.com/wiki/index.php?title=首頁.

      [4]孔云. 圖書館微信服務(wù)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 圖書館論壇, 2014 (2):90-95.

      [5]張蓓.開發(fā)模式下圖書館微信公眾平臺(tái)服務(wù)的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代圖書情報(bào)技術(shù), 2014(1):87-91.

      [6]Php Curl[EB/OL].[2014-08-09].http://baike.baidu.com/view/ 10902513.htm?fr=aladdin.

      Design and Realization of the Library Book-Borrowing System via Wechat

      The book-borrowing system via Wechat is an application based on Wechat public platform of the library. Without the reader's card, the reader could take advantage of this system to borrow books in the library. However, this system faces some problems during the realization process, such as the weak password of the reader's card, the process design of borrowing the book, and calling data between the book-borrowing system via Wechat and the book management system. Therefore,this system could use ''three-way handshake'', the random verification code and limiting the effective time to guarantee the number safety of the reader's card, and also realize functions of the whole system by simulating Post requests.

      Library; Wechat public platform; Book-borrowing via Wechat

      G250.71

      B

      姚舜男,1982年生,本科,湖南圖書館現(xiàn)代技術(shù)部副主任,館員,研究方向?yàn)閿?shù)字圖書館建設(shè)。

      2014-10-09 ]

      猜你喜歡
      借書菜單公眾
      圖圖借書
      公眾號(hào)3月熱榜
      公眾號(hào)9月熱榜
      公眾號(hào)8月熱榜
      借書去
      公眾號(hào)5月熱榜
      中國新年菜單
      借書
      快樂語文(2018年12期)2018-06-15 09:11:10
      圖圖借書
      本月菜單
      美食堂(2017年1期)2017-01-13 01:37:42
      南江县| 卢湾区| 衡南县| 黄平县| 五华县| 金昌市| 论坛| 克拉玛依市| 固镇县| 蕲春县| 马龙县| 琼结县| 民丰县| 班玛县| 固安县| 鄂托克前旗| 二手房| 安图县| 安远县| 金寨县| 建昌县| 班戈县| 新龙县| 赞皇县| 太仆寺旗| 乡城县| 潼关县| 鹿泉市| 南澳县| 酉阳| 五原县| 邵武市| 和顺县| 邯郸县| 横山县| 彰武县| 虹口区| 武川县| 邓州市| 郑州市| 富蕴县|