国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

微信小程序在圖書館移動服務(wù)中的應(yīng)用實踐

2018-12-14 08:41朱玉強
新世紀圖書館 2018年9期
關(guān)鍵詞:微信小程序

摘 要 論文使用微信開發(fā)者工具編制圖書漂流小程序,解決傳統(tǒng)漂流過程中查詢不便及圖書入庫、借閱、預(yù)約等手續(xù)繁瑣的問題;使用JavaScript作為中間件讀寫數(shù)據(jù)庫、格式化JSON數(shù)據(jù)并與小程序交互,調(diào)用微信API實現(xiàn)用戶統(tǒng)一認證、二維碼掃描等個性化功能。結(jié)果表明,小程序功能確切、操作簡單,非常契合圖書漂流對線上線下連接的功能需求,對推進全民閱讀具有積極意義。

關(guān)鍵詞 微信小程序 圖書館移動服務(wù) 圖書漂流

分類號 G250.7

DOI 10.16810/j.cnki.1672-514X.2018.09.015

Abstract In this paper, with WeChat web development tool, a book-crossing program is designed to solve the problems in traditional book-crossing process, such as difficulties in searching, storage, borrowing, reserving and so on. JavaScript is used as middleware to read and write databases and format JSON data and let it exchange with mini program. WeChat APIs are used to call out user unified authentication, QR code scan to make the program personalized. The result shows that WeChat mini program is reliable with simple operation to meet the need to combine the online and offline book-crossing service, which can actively improve nationwide reading project.

Keywords WeChat mini program. Mobile library service. Book crossing.

“圖書漂流”活動源于上世紀60年代的歐洲,其雛形為讀者將自己擁有但不再閱讀的書籍貼上特定標簽后投放到圖書館、博物館、公園等公共場所,供人無償取閱,閱后再投放公共場所,實現(xiàn)“漂流”。2001年4月,Ron Hornbaker開設(shè)了首家圖書漂流網(wǎng)站www.bookcrossing.com[1],隨后國內(nèi)也陸續(xù)出現(xiàn)www.tspl.me、豆瓣圖書漂流小組、QQ圖書漂流群[2]等線上服務(wù),圖書漂流有了組織者和管理者,并開始嘗試O2O(Online To Offline) 服務(wù)。但是,從網(wǎng)站注冊用戶數(shù)及活躍度來看,上述圖書漂流服務(wù)的實際成效不甚理想。對此,本文基于微信小程序工具,設(shè)計編制圖書漂流移動服務(wù),以供業(yè)界人士借鑒。

1 圖書漂流及相關(guān)研究

近年來,我國圖書館界對圖書漂流的研究熱度持續(xù)不下。馬杰良等[3]收集bookcrossing一個月內(nèi)的漂流信息,建立圖書漂流網(wǎng)絡(luò)模型,證明該模型具有無標度特性和小世界網(wǎng)絡(luò)特性,為系統(tǒng)自動向讀者推薦同類漂流圖書提供理論依據(jù)。錢海鋼[4]介紹了廣東省數(shù)據(jù)庫建設(shè),采用局域網(wǎng)工作站互訪等方式開展捐贈換書中心圖書捐贈、交換、漂流相關(guān)的數(shù)據(jù)管理。郭麗梅[5]以浦東圖書館“愛心圖書漂流”活動為案例,對圖書漂流可持續(xù)發(fā)展與自組織管理進行了探討,強調(diào)前期活動必須與社會組織協(xié)調(diào)合作,建立良好的活動制度。鄂麗君[6]調(diào)研了38所本科高校圖書館、32所區(qū)縣級公共圖書館的圖書漂流開展情況,探討漂流圖書來源、漂流站設(shè)置、漂流政策、回漂率、服務(wù)效果及存在的問題,提出針對性解決方案。馬志杰[7],羅雪英和劉一鳴[8],楊云芳[9],陳敏芳和季鴻斌[10]分別從不同角度指出圖書漂流存在社會認可度低、讀者滿意度低、回漂率低等問題,并分別提出了加強管理、定期評估、豐富漂流圖書種類、構(gòu)建漂流平臺等解決方案。

有學(xué)者探討了微信小程序應(yīng)用于圖書館服務(wù)的可能性和可行性,如王天泥[11],朱玉強[12]也以排架游戲為例探討了微信小程序在圖書館移動服務(wù)中的應(yīng)用實踐。

2 圖書漂流小程序設(shè)計思路及方案

騰訊微信于2017年1月9日正式上線“微信小程序”,用戶通過搜索小程序名稱或掃描二維碼即可找到并打開小程序,關(guān)閉即釋放占用資源,無需安裝和卸載。小程序不支持dom、window、jquery等第三方JavaScript框架,架構(gòu)為Client/Server,代碼隨用隨下載,執(zhí)行效率普遍高于HTML5應(yīng)用,強調(diào)“場景”和“服務(wù)”,而非“流量”與“紅利”,正好解決圖書漂流線上線下連接問題,同時契合讀者“招之即來、用完就走”的需求。

本文基于微信設(shè)計了圖書漂流小程序,該程序由服務(wù)器端、JavaScript中間件層、微信小程序?qū)雍涂蛻舳私M成,如圖1所示。服務(wù)器端存儲漂流圖書信息數(shù)據(jù)庫、數(shù)據(jù)接口等;中間件層負責收割客戶端數(shù)據(jù)、讀寫圖書庫并分發(fā)給小程序;微信小程序前臺為客戶提供捐書、借書、還書、預(yù)約等友好操作界面,后臺與服務(wù)器端交換數(shù)據(jù)實現(xiàn)功能。

2.1 圖書漂流項目框架

項目框架如圖2所示。程序視圖層由app.wxss、image目錄及pages各子目錄下wxml、wxss文件實現(xiàn),程序邏輯層由app.js、app.json和pages各子目錄下js、json文件實現(xiàn)。index.wxml提供donate.wxml、borrow.wxml等頁面入口,實現(xiàn)捐書、借書等友好前臺界面,并借助相應(yīng)js文件實現(xiàn)數(shù)據(jù)收割及與服務(wù)器的數(shù)據(jù)交互。

2.2 圖書漂流小程序既定功能

小程序核心模塊有9個,分別是:使用微信賬號登錄小程序、捐書、書目查詢、借書、還書、預(yù)約、借閱史查詢、OpenID查詢、公告板。

(1) 使用微信賬號登錄小程序。小程序直接調(diào)用微信接口wx.login實現(xiàn)用戶登錄。其主頁界面分別顯示捐書、查詢、借書、還書、預(yù)約、借閱史六大模塊供讀者使用。

(2) 捐書。小程序內(nèi)置“捐書掃碼”功能,捐書人攜書至漂流管理處,管理員和捐書人分別使用小程序掃描圖書ISBN二維碼,前者掃碼為小程序提供該書信息,后者提供捐書人相對于當前小程序具唯一性的OpenID。當捐書人在任何應(yīng)用場景都拒絕公開其微信號時,OpenID是捐書人唯一身份標識。新書上傳至數(shù)據(jù)庫并初始化為“可借”,如數(shù)據(jù)庫已有該ISBN號,則在“ISBNalias”(ISBN別名)字段順序標記不同復(fù)本,以確保數(shù)據(jù)庫記錄唯一性?!癐SBNalias”字段并不區(qū)分具體圖書、不與具體圖書一對一綁定,只在邏輯上與讀者借出或還回此ISBN圖書的順序綁定。小程序詢問捐書人在該圖書借出時是否顯示捐書人微信號并記錄,允許則在“dv2b”字段記作“1”,此后捐書人亦可隨時聯(lián)系超級主管開關(guān)此選項。新書入庫后在小程序“公告板”模塊實時、自動展示。圖書受捐入庫時寫入數(shù)據(jù)表的部分字段示例如表1所示。

(3) 書目查詢。通過小程序內(nèi)置的“書目查詢”功能,用戶可隨時隨地瀏覽漂流圖書庫所有書目信息,包括ISBN、書名、作者、出版社、出版年、頁碼、價格、復(fù)本數(shù)、是否已借出、借書人微信號(當且僅當借書人允許公開其微信號時可查看,否則顯示“匿名”)等信息,亦可通過書名進行查詢。

(4) 借書。小程序內(nèi)置“借書掃碼”功能,用戶在漂流管理處取書并在管理員監(jiān)督下掃描圖書ISBN二維碼,如該書狀態(tài)為“可借”,管理員掃描ISBN二維碼,小程序?qū)峙浣o該用戶,數(shù)據(jù)庫中“借書人OpenID”字段與該書“ISBNalias”字段綁定。圖書成功借出后,小程序自動給出提示并顯示所借圖書的書名及作者信息。當同一ISBN有多個未借出復(fù)本時,以ISBN號“9787209087421”為例,假設(shè)該書庫存5本,3本已借出,有讀者借此書時,將其OpenID與數(shù)據(jù)庫中“ISBNalias”為“9787209087421-004”的記錄綁定。如借書人與該書捐書人OpenID相同,則在借書成功后提供“是否停止該書漂流并重歸個人所有”選項,選“是”則將該書信息從數(shù)據(jù)庫中刪除,書目信息寫入“歷史漂流”數(shù)據(jù)表以備后查。用戶可選擇是否公開自己的微信號及借閱時間,方便喜歡同種圖書的用戶聯(lián)系交流。借書不限時長,不提供續(xù)借功能。圖書借出30天后如讀者仍未歸還,則小程序自動在“公告板”模塊對借書人OpenID或微信號(當且僅當公開微信號時)發(fā)出“請還書”的格式文本,借閱時長和催還格式文本可由超級主管自定義設(shè)置。

(5) 還書。小程序內(nèi)置“還書掃碼”功能,讀者將所借圖書交還漂流管理處時,管理員和讀者分別使用小程序掃描該書ISBN二維碼,根據(jù)讀者OpenID核實此書確為該微信用戶借閱后,小程序?qū)⒃摃跏蓟癁椤翱山琛保瑫r記錄讀者已歸還圖書,并將該書的書目信息寫入該讀者OpenID對應(yīng)借閱史數(shù)據(jù)表,供“借閱史”模塊調(diào)用。還書成功后如該書對應(yīng)ISBN號有預(yù)約信息,小程序提示第1位預(yù)約成功讀者的OpenID或微信號(當且僅當讀者預(yù)約時允許公開微信號時),并自動將格式文本如“@User1 @User2 書名為《Book》 的圖書已還至漂流管理處,請OpenID(或微信號)為‘User1的讀者3日內(nèi)來取,過期則自動分配給下一位OpenID(或微信號)為‘User2的預(yù)約者。詳情請洽管理員微信:jingfei2011?!钡人椭良糍N板,方便管理員通過微信群通知用戶取書,同時該信息自動發(fā)布在小程序“公告板”模塊。超級主管可自定義該格式文本內(nèi)容。

(6) 預(yù)約。讀者通過小程序內(nèi)置“書目查詢”模塊瀏覽或檢索圖書,當且僅當想借圖書所有復(fù)本都被借出后,讀者可通過輸入該書ISBN號進行預(yù)約。如同種圖書有多個預(yù)約者,以預(yù)約時間先后記錄預(yù)約者OpenID或微信號(當且僅當讀者預(yù)約時允許公開微信號時)。預(yù)約成功后,小程序自動提示用戶關(guān)注“公告板”及微信群取書通知,并給出超期不取預(yù)約失效聲明。

(7) 借閱史查詢。小程序內(nèi)置“借閱史查詢”功能,讀者可查詢本人通過小程序借書的全部歷史記錄。

(8)OpenID查詢。當小程序用戶在任何應(yīng)用場景都拒絕公開其微信號時,OpenID是其在當前小程序內(nèi)的唯一身份標識。用戶登錄個人微信后,可一鍵查詢該微信號在當前小程序?qū)?yīng)的具唯一性O(shè)penID,如“oQt09s2e_Dh679HSJNn2mStZAT0o”。

(9) 公告板。小程序內(nèi)置“公告板”模塊,包括“隨數(shù)據(jù)表動態(tài)變化自動更新”(如“新書通報”“預(yù)約到書”“借書超30天溫馨提示”)、“管理員主動更新重要公告”“文藝副刊”(如書評等) 三個版塊。

3 圖書漂流小程序?qū)崿F(xiàn)的關(guān)鍵方法與技術(shù)

3.1 JavaScript中間件的設(shè)計與實現(xiàn)

為使小程序輕量化,同時滿足小程序?qū)?shù)據(jù)傳輸強制使用https協(xié)議需求,小程序與服務(wù)器進行數(shù)據(jù)交換時使用中間件。小程序向服務(wù)器提交數(shù)據(jù)時,中間件搜集并格式化數(shù)據(jù),傳遞給數(shù)據(jù)庫處理程序,后者根據(jù)中間件提交的參數(shù)來選擇對應(yīng)數(shù)據(jù)表,執(zhí)行數(shù)據(jù)新增、修改、刪除、查詢等功能。中間件的另一項功能是從數(shù)據(jù)表提取數(shù)據(jù),并將其格式化為JSON數(shù)據(jù)集以供小程序讀取。

小程序向服務(wù)器提交數(shù)據(jù)時,通過WebSocket連接并發(fā)送數(shù)據(jù)。先使用wx.connectSocket連接服務(wù)器,使用wx.onSocketOpen獲得連接回調(diào)信息,確認連接成功再使用wx.sendSocketMessage提交數(shù)據(jù),代碼如下。

wx.onSocketOpen(function (res) {

}

})

}

以ISBN號為“9787209087421”的圖書為例,豆瓣網(wǎng)根據(jù)ISBN號查詢圖書信息的API接口為:https://api.douban.com/v2/book/isbn/9787209087421,摘錄此網(wǎng)址返回的部分JSON數(shù)據(jù)如下。

{"author":["馬繼業(yè)"],"pubdate":"2014-10",

"pages":"172","publisher":"山東人民出版社","title":"靈巖寺史略","price":"22.00元"}

如豆瓣未收錄指定ISBN圖書,取回文本串中有“book_not_found”字樣,小程序自動到國家圖書館等其他網(wǎng)站抓取圖書信息,或提示管理員手工輸入。

用戶執(zhí)行“書目查詢”時,客戶端向服務(wù)器發(fā)送瀏覽或檢索請求,服務(wù)器端中間件JavaScript提取圖書總庫數(shù)據(jù)表中“ISBN”和包含庫存信息的字段值,循環(huán)調(diào)用豆瓣網(wǎng)API逐一抓取相應(yīng)ISBN的JSON數(shù)據(jù)供小程序使用wx.request讀取,構(gòu)建視圖層并建立頁面內(nèi)搜索機制(篩選特定JSON值構(gòu)建結(jié)果頁面),此處不贅述代碼。

4 圖書漂流小程序的應(yīng)用效果評價

內(nèi)測期間,使用小程序可綁定20位體驗用戶機會,每輪各綁定10位Android和iOS操作系統(tǒng)終端用戶,每位用戶自主、隨機選取小程序某項完整功能(如“捐書”)展開測試10次,共進行5輪實驗,計1000個實驗結(jié)果。測試表明,本文編寫的小程序可穩(wěn)定運行于Android v4.2.2-v7.0和iOS v7-v8操作系統(tǒng)移動終端(微信版本為v6.5.3-v6.5.7),無需手機或平板電腦超級管理員權(quán)限。小程序各核心模塊和中間件功能準確完備,界面簡潔明了,客戶端與服務(wù)器端交換數(shù)據(jù)流暢,成功率和準確率均為100%。

目前,小程序尚未提供數(shù)據(jù)異步加載解決方案,當漂流管理處不止一處時,數(shù)據(jù)讀寫有可能發(fā)生堵塞現(xiàn)象,還有待完善。但從長遠角度來看,使用微信開發(fā)者工具編制的圖書漂流小程序可用于公共圖書館、高校圖書館、主題公園、社區(qū)文化站等統(tǒng)籌管理圖書漂流項目,投入成本不高但社會效益很大,可以為圖書館等文化部門開展O2O服務(wù)提供新方法和新思路。

參考文獻:

中山大學(xué)圖書館.中山大學(xué)圖書館——圖書漂流[EB/OL].[2017-04-02].http://202.116.65.75/c/portal/layout?p_l_id=PUB.1023.171.

江麗霞,張建莉.基于QQ群的同城少兒圖書漂流實踐[J].新世紀圖書館,2014(8):58-60.

馬杰良,宋艷,潘貞貞,等.圖書漂流網(wǎng)絡(luò)模型實證研究[J].計算機科學(xué),2015(3):51-54.

錢海鋼.論捐贈換書中心數(shù)據(jù)庫建設(shè)[J].數(shù)字圖書館論壇,2013(8):53-57.

郭麗梅.圖書漂流可持續(xù)發(fā)展與自組織管理機制探究:以浦東圖書館“愛心圖書漂流”活動為案例[J].圖書館學(xué)研究,2014(1):16-19.

鄂麗君.圖書館主導(dǎo)的圖書漂流活動調(diào)查研究[J].圖書情報工作,2015(9):64-67.

馬志杰.高校圖書館“圖書漂流”發(fā)展模式與策略研究[J].圖書館工作與研究,2013(9):50-53.

羅雪英,劉一鳴.我國“圖書漂流”的尷尬與超越[J].出版科學(xué),2013(5):75-78.

楊云芳.校園圖書漂流:高校圖書館閱讀推廣可取形式:以浙江師范大學(xué)圖書館組織圖書漂流活動為例[J].高校圖書館工作,2015(4):88-90.

陳敏芳,季鴻斌.校園“圖書漂流”服務(wù)的深化路徑[J].圖書館雜志,2016(4):48-51,64.

王天泥.當圖書館遇上微信小程序[J].圖書與情報,2016(6):83-86.

朱玉強.微信小程序在圖書館移動服務(wù)中的應(yīng)用實踐:以排架游戲為例[J].圖書館論壇,2017(7):132-138.

朱玉強 山東師范大學(xué)圖書館宣傳推廣中心主任、副研究館員。 山東濟南,250014。

(收稿時間:2017-10-10 編校:謝艷秋,曹曉文)

猜你喜歡
微信小程序
基于微信小程序的停車位租賃平臺設(shè)計與實現(xiàn)
微信小程序在高校英語教學(xué)中的應(yīng)用
微信小程序?qū)Υ髮W(xué)生使用APP意愿的影響
基于微信小程序的點餐系統(tǒng)
基于Webpy+Apache HTTP Server 微信小程序架構(gòu)搭建研究
基于微信小程序的醫(yī)囑服務(wù)研究
圖書館微信小程序的應(yīng)用現(xiàn)狀及前景分析
基于CNKI的微信小程序研究文獻計量分析
信息技術(shù)與專業(yè)課程融合路徑探索
當圖書館遇上微信小程序
黄骅市| 怀安县| 临澧县| 喜德县| 龙州县| 高邮市| 太原市| 临潭县| 松江区| 沙坪坝区| 新巴尔虎左旗| 深泽县| 九江市| 德阳市| 阿克陶县| 文安县| 商河县| 铜鼓县| 铜山县| 长宁区| 香港 | 东至县| 兴宁市| 黄梅县| 绥滨县| 延安市| 浦城县| 乌兰县| 杭州市| 黄陵县| 南平市| 镇远县| 泽州县| 集安市| 金阳县| 沙湾县| 鄂尔多斯市| 德江县| 洞口县| 栖霞市| 常山县|