周耀+蔣天民
〔摘 要〕鑒于高校圖書館閱覽座位“一座難求”的現(xiàn)狀,本文分析了現(xiàn)有座位管理系統(tǒng)的缺陷,結合微信的優(yōu)點,提出了基于微信公眾平臺構建圖書館座位管理系統(tǒng)的可行性,并以南通大學圖書館為例進行系統(tǒng)開發(fā)測試,最后提出了不足及努力方向。
〔關鍵詞〕微信公眾平臺;座位管理系統(tǒng);圖書館
〔中圖分類號〕G250.7 〔文獻標識碼〕A 〔文章編號〕1008-0821(2016)12-0114-06
〔Abstract〕In view of the current situation that its difficult to find an empty seat in some college libraries,this paper analyzed the shortcomings of the existing seat management system and the advantages of WeChat,then proposed the feasibility of constructing the library seat management system based on Micro Message Public Platform.Taking Nantong University Library as an Example,the paper conducted the system development test and finally put forward the shortages and the future direction.
〔Key words〕micro message public platform;seat management system;library
隨著國內(nèi)高校圖書館閱覽條件的日益改善,良好的氛圍吸引了眾多讀者來館閱覽自修,座位變成了緊俏資源,雖然多數(shù)高校圖書館座位資源與以往相比大幅增加,但依然滯后于學生的擴招速度。每逢期末和極端天氣的時候,“一座難求”和“排隊長龍”的現(xiàn)象屢見不鮮,學生起早排隊卻未必能占到座位,嚴重影響了睡眠和學習質(zhì)量,甚至在某些高校因為占座排隊擁擠引發(fā)危害事故[1]。為了避免發(fā)生這種情況,包括南通大學在內(nèi)的部分高校通過采購或研發(fā)的方式引入圖書館座位管理系統(tǒng),通過自助選位、違章黑名單、座位預約、臨時保留座位等功能,在一定程度上緩解了圖書館惡意占座的情況。但在實際使用過程中,此類系統(tǒng)存在一些共性問題:
1)刷卡速度慢,高峰時間段讀者有排長隊現(xiàn)象;
2)座位預約系統(tǒng)不能支持部分智能手機的操作系統(tǒng);
3)前端刷卡驗證設備昂貴,維修成本高;
4)數(shù)據(jù)庫非實時連通,數(shù)據(jù)庫存在滯后性;
5)界面不夠友好,用戶體驗感差。
微信是一種為智能終端提供跨運營商、跨操作系統(tǒng)的免費即時通訊服務應用程序,可以用很少的流量來發(fā)送文字、語音、圖片和視頻,截至2015年第1季度,微信已經(jīng)覆蓋了全國90%的智能手機,月活躍用戶達到5.49億[2]。伴隨著微信的興起,微信公眾平臺成為當下最熱門、用戶最密集的信息載體交互平臺,基于微信公眾平臺構建圖書館座位管理系統(tǒng),整合已有的系統(tǒng)功能,利用微信的優(yōu)勢進行開發(fā),可以有效緩解先前系統(tǒng)存在的問題。
1 系統(tǒng)可行性分析
高校圖書館的占座現(xiàn)象由來已久,這造成了學校教育資源分配不公,導致圖書館無法充分發(fā)揮其服務功能。雖然基于互聯(lián)網(wǎng)的座位管理系統(tǒng)有不少,但基于微信公眾平臺構建圖書館座位管理系統(tǒng),利用微信的掃一掃、跨運營商、跨操作系統(tǒng)的特性,可以簡化便利用戶操作,提升用戶體驗[3]。
1.1 用戶功能需求分析
基于用戶需求和已有系統(tǒng)運行經(jīng)驗,系統(tǒng)需實現(xiàn)功能總結如下:
1)微信賬號綁定功能。將用戶的微信Openid和學號綁定。
2)空位查詢功能。用戶通過智能終端即時查詢圖書館座位使用情況,有效地節(jié)約了用戶的學習時間,提高了學習質(zhì)量。
3)座位預約功能。用戶通過智能終端在線實時預約空閑座位,同時遇到特殊情況可以主動取消預約。
4)自助選位和自動選位功能。用戶在預約座位過程中,可以自主選擇心宜的座位,或者選擇自動選位模式。
5)失約違章處理和黑名單功能。對于失約和違章等用戶違規(guī)行為,通過記入黑名單的方式以實現(xiàn)對用戶行為的約束。
6)微信掃描簽到功能。用戶在預約座位之后,進入指定閱覽室后,通過微信的掃一掃功能掃描預約座位上的二維碼,實現(xiàn)簽到功能。
7)工作人員后臺管理功能。工作人員通過后臺進行座位管理、查詢座位使用情況、用戶使用統(tǒng)計以及黑名單管理功能。
以上系統(tǒng)功能模塊如圖1所示:
1.2 系統(tǒng)運行模式及特點
系統(tǒng)以B/S模式進行開發(fā),用戶使用智能手機點擊公眾號里的菜單,微信客戶端將指令發(fā)送到騰訊微信服務器,微信服務器再按照事先設定的程序將指令發(fā)送至圖書館本地服務器,本地服務器處理完再將結果原路返回,直到返回用戶微信客戶端,其架構如圖2所示:
本系統(tǒng)全程基于互聯(lián)網(wǎng)運行,只要用戶擁有智能移動終端和網(wǎng)絡,就可以使用該系統(tǒng),與傳統(tǒng)軟件相比,具有簡易便捷的特點。
1.3 開發(fā)環(huán)境支持
南通大學圖書館已建成萬兆到館、千兆樓宇、百兆桌面、多校區(qū)光纖直連的專用網(wǎng)絡應用系統(tǒng),建有符合國內(nèi)一流標準的中心機房,擁有小型機、PC服務器、SAN存儲以及數(shù)據(jù)遠程自動備份等功能完備的軟、硬件支持系統(tǒng)。同時本館對本系統(tǒng)提供了配套開發(fā)經(jīng)費,以供開發(fā)人員調(diào)研和新增設備采購。
2 系統(tǒng)設計
2.1 系統(tǒng)業(yè)務流程設計
按照功能可以將系統(tǒng)劃分為微信端和后臺兩個部分,其中在微信客戶端中實現(xiàn)用戶座位預約功能,在后臺終端的瀏覽器中實現(xiàn)工作人員的系統(tǒng)管理功能。因為其操作對象不同,整個系統(tǒng)業(yè)務流程分為兩部分,如圖3所示:
2.2 數(shù)據(jù)庫設計
數(shù)據(jù)庫設計的基本原則是簡單性和非冗余性,即支持本系統(tǒng)的后臺數(shù)據(jù)庫必須是數(shù)據(jù)結構比較直觀,用戶易于理解且沒有重復的屬性、記錄和文件,便于工作人員后期維護,節(jié)省了服務器的數(shù)據(jù)空間。
2.2.1 數(shù)據(jù)庫需求分析與概要設計
按照系統(tǒng)功能及業(yè)務流程分析,其后臺數(shù)據(jù)庫設計有以下要求:
1)學生信息表。學生信息表本身比較復雜,但在本系統(tǒng)運行過程中,只需要存儲學號、姓名、班級等信息,而其他信息并不需要存儲,其中學號作為標識學生的惟一信息。
2)座位信息表。對于座位表來說,最重要是座位編號、地點和狀態(tài)等信息,其中座位編號作為標識座位的惟一信息,座位地點中存儲座位所在樓層教室信息,座位狀態(tài)信息標識座位的可預約情況,其狀態(tài)為可預約與不可預約。
3)賬號綁定表。該表同時存儲微信用戶Openid和學生學號,通過這兩個信息將微信號和學生學號綁定起來,表里還包含學生姓名、微信昵稱等信息。
4)黑名單表。即預約座位后未能及時簽到,或有其他違章行為,該表以學生學號作為主鍵,實現(xiàn)了學生查閱違章信息,同時該表存儲失約次數(shù)、姓名等信息。
根據(jù)以上數(shù)據(jù)庫需求分析,得出本系統(tǒng)數(shù)據(jù)庫概念模型E-R圖,如圖4所示。
其關系模式如下(主外鍵畫橫線表示):
學生(學號,姓名,班級,專業(yè),性別)
綁定信息(學號,openid,姓名)
微信號(openid,昵稱)
座位(座位編號,座位地點,座位狀態(tài))
預約(座位編號,學號,簽到信息)
黑名單(學號,姓名,失約次數(shù))
2.2.2 數(shù)據(jù)庫詳細設計
按照本系統(tǒng)數(shù)據(jù)庫E-R圖詳細設計各數(shù)據(jù)庫表,其中學生信息表(tbstudent)用于保存用戶的個人信息;座位信息表(tbseat)用于保存用戶座位預約狀態(tài)信息;賬號綁定信息表(tbbind)用于保存用戶微信Openid與學號綁定的相關信息;黑名單信息表(tbblacklist)用于保存違規(guī)次數(shù)超過限制的用戶信息,表關系如圖5所示:
3 系統(tǒng)實現(xiàn)
基于微信公眾平臺的南通大學座位管理系統(tǒng)環(huán)境配置如下:
操作系統(tǒng):Windows2008
數(shù)據(jù)庫:Sql Server 2012
腳本語言:PHP
3.1 微信接口配置與設計
3.1.1 微信消息處理流程
微信通過配置消息處理接口實現(xiàn)公眾平臺與座位管理后臺系統(tǒng)的連通,其具體過程如下:
1)接口配置。進入公眾平臺開發(fā)者中心配置相關接口,填寫后臺系統(tǒng)的接口參數(shù)URL(服務器地址)和Token(令牌)。提交相關配置信息后,公眾平臺將向后臺系統(tǒng)發(fā)送一條驗證服務器地址有效性的Get請求,該請求包含4個參數(shù),即Signature(加密簽名)、Timestamp(時間戳)、Nonce(隨機數(shù))和Echostr(隨機字符數(shù))。后臺系統(tǒng)對接收的請求中的Signature參數(shù)進行校驗,如果成功就返回Echostr參數(shù)。
2)消息收發(fā)機制。微信公眾平臺將用戶發(fā)送的消息封裝成XML數(shù)據(jù)包之后,轉發(fā)給后臺系統(tǒng),后臺將數(shù)據(jù)包解析得到用戶的Openid、Msgtype和Content等信息。然后系統(tǒng)對得到的消息內(nèi)容進行處理并將結果封裝成XML數(shù)據(jù)包返回給公眾平臺,并最終反饋給用戶[4]。
3)消息處理。后臺系統(tǒng)接收到平臺轉發(fā)的用戶消息后,首先判斷賬號是否與學號綁定,如果確認則驗證消息合法性,并將消息處理結果封裝成XML數(shù)據(jù)包返回。
3.1.2 系統(tǒng)菜單設計
微信公眾平臺的開發(fā)者模式下提供了自定義菜單功能,可以在微信端直接設置菜單,但由于本系統(tǒng)提供的服務功能只是南通大學圖書館微信公眾平臺眾多服務功能中的一項,所以只需要在微信公眾平臺界面創(chuàng)建菜單:座位管理(類型:view,跳轉URL)。由于該菜單歸類在“我的”按鈕下,本系統(tǒng)使用以下代碼創(chuàng)建菜單(參數(shù)含義見表1):
{″button″:[{″name″:″我的″,
″subbutton″:[
{″type″:″view″,″name″:″我的借閱″,″url″:″ ″}
……
{″type″:″view″,″name″:″座位管理″,″url″:″ ″}]
}]
}
創(chuàng)建成功后菜單如圖6所示。
3.2 子模塊功能實現(xiàn)
3.2.1 座位使用查詢模塊
座位使用查詢模塊是基于對現(xiàn)有的閱覽室進行分組統(tǒng)計,通過計算各個閱覽室已使用的座位數(shù),從而實時查詢各閱覽室的座位使用情況,查詢結果由后臺系統(tǒng)封裝成XML數(shù)據(jù)包及時反饋給查詢用戶,查詢結果見圖7,核心代碼如下(參數(shù)含義見表2):
sql=″SELECT * FROM seatinfo″;
seats=db->query(sql);
message=″地點 人數(shù) 座位數(shù)\n″;
while(row=db->fetchRow(seats))
{
room=row[′roomname′];
count=row[′count′];
seatsnum=row[′seatsnum′];
message=message.room.″ ″.count.″ ″.seatsnum.″\n″;
}
echomessage;
3.2.2 座位預約模塊
座位預約模塊是用戶根據(jù)喜好自主預約選擇座位,用戶選擇好座位后,系統(tǒng)首先判斷此座位是否被占用,如果沒有則將預約結果寫入系統(tǒng)數(shù)據(jù)庫,用戶預約成功,其運行界面見圖7,核心代碼如下(參數(shù)含義見表3):
∥判斷選定座位是否空閑
sql=″SELECT FROM seatinfo WHERE seatnum=′″.seatnum.″′AND roomname=′″.roomname.″′″;
seats=db->query(sql);
If(seats[′isbooked′]==0)
{
∥彈出對話框信息
message=″您已經(jīng)成功預訂座位,閱覽室:″.roomnum.″,座位號:″.seatnum;
∥將預約信息寫入數(shù)據(jù)庫
sql=″SELECT FROM seatinfo WHERE seatnum=′″.seatnum.″′AND roomname=′″.roomname.″′″;
sql=″UPDATE seatinfo SET isbooked=1,wechatid=′″.wechatid.″′,idcard=′″.idcard″′,booktime=′″.booktime.″′WHERE id=″.seats[′id′];
db->query(sql);
3.2.3 掃描簽到模塊
掃描簽到模塊是利用微信自帶的掃一掃功能,通過掃描每張座位上的二維碼實現(xiàn)簽到功能。座位二維碼是座位信息的鏈接參數(shù)且與座位號一一對應,使用方便快捷,降低了傳統(tǒng)系統(tǒng)的硬件成本。簽到功能是通過時間限制來區(qū)分“簽到”、“遲到”和“失約”3種狀態(tài),其中“失約”狀態(tài)將被系統(tǒng)記錄下來,為記入黑名單提供依據(jù),其偽代碼如下:
if(簽到時間處于″開放時間″)
{
if(掃描的座位沒有被簽到)
{
if(簽到時間處于″簽到″時段)
{對座位進行簽到,并給出提示″簽到狀態(tài)″為″已簽到″}
else(簽到時間處于″遲到″時段)
{對座位進行簽到,并給出提示″簽到狀態(tài)″為″遲到″}
}
else{座位已被簽到,給出提示″無法二次簽到″}
}
4 問題與對策
基于微信公眾平臺的南通大學圖書館座位管理系統(tǒng)目前已經(jīng)開通測試,在試用過程中,出現(xiàn)了以下的問題:
4.1 存在問題
1)有用戶反饋系統(tǒng)使用不便,體驗感差,大致原因歸為3類:部分讀者因為使用習慣問題,希望繼續(xù)體驗傳統(tǒng)圖書館服務;部分讀者沒有智能手機而無法使用系統(tǒng);閱覽室空閑時無須使用系統(tǒng)就有座位,而高峰座位緊張時部分讀者臨時使用手足無措。
2)由于圖書館開放時間比較固定,高峰時段用戶大量涌入簽到,導致系統(tǒng)響應速度緩慢,出現(xiàn)了響應超時,導致用戶無法使用系統(tǒng),體驗感下降。
3)系統(tǒng)功能對應的閱覽規(guī)則沒有調(diào)整到位,例如黑名單用戶并沒有真正受到處罰。
針對以上問題,通過與館領導、一線工作人員和用戶代表的溝通,提出以下對策:
4.2 對 策
1)采用多元化包容的方式在大部分閱覽室運用新系統(tǒng),同時留下部分座位資源滿足有各種體驗需求的讀者,繼續(xù)改進系統(tǒng),豐富系統(tǒng)內(nèi)容,簡化使用步驟,提升讀者體驗。
2)提高圖書館的無線網(wǎng)絡速率,提升后臺系統(tǒng)硬件水平,從而有效減少高峰時間段的訪問緩慢問題。
3)嚴格制定與系統(tǒng)相配套的閱覽規(guī)則,堅決規(guī)范各種浪費座位資源的不文明行為。
5 結束語
“讀者第一,服務至上”是圖書館的服務宗旨[5]。合理利用先進技術改善圖書館服務水平,提升用戶體驗是圖書館員的職責和使命。本系統(tǒng)運用微信公眾平臺管理南通大學圖書館座位資源,充分發(fā)揮了微信用戶多、易使用和跨平臺等優(yōu)點,提高了座位資源利用率,同時降低了系統(tǒng)建設成本,具有較強的實用性,為南通大學圖書館服務創(chuàng)新積累了寶貴的經(jīng)驗。
參考文獻
[1]河北農(nóng)大學霸為占座擠爆圖書館鋼化玻璃門[EB/OL].http:∥hebei.news.163.com/15/0114/16/AFUDEM9Q02790BD4.html,2015-01-14.
[2]微信用戶最新數(shù)據(jù):月活躍用戶達到5.49億,支付用戶4億左右[EB/OL].http:∥tech.163.com/15/0601/13/AR1F5KE000094ODU.html,2015-06-01.
[3]周瑤,劉暢,李建東.圖書館微信座位預約應用開發(fā)——以西北民族大學為例[J].現(xiàn)代圖書情報技術,2015,(7/8):155-159.
[4]張蓓,竇天芳,張成昱,等.開發(fā)模式下圖書館微信公眾平臺服務的設計與實現(xiàn)[J].現(xiàn)代圖書情報技術,2014,(1):87-91.
[5]黃宗忠.服務是圖書館的永恒主題——兼評國外圖書館服務的新理念、新方法[J].圖書館論壇,2005,(6):22-29.
(責任編輯:孫國雷)