何蕓
摘要:高校圖書(shū)館可以通過(guò)微信轉(zhuǎn)變服務(wù)模式,將圖書(shū)館各項(xiàng)資源與服務(wù)移動(dòng)化。本文分析了高校圖書(shū)館微信服務(wù)五層系統(tǒng)架構(gòu),包括資源與服務(wù)、資源的整合、微信介入服務(wù)器、微信公眾號(hào)以及服務(wù)對(duì)象,并從技術(shù)上選擇讀者身份信息認(rèn)證、閱讀分享統(tǒng)計(jì)和閱覽室座位預(yù)約,來(lái)闡述高校圖書(shū)館微信移動(dòng)服務(wù)功能代碼的實(shí)現(xiàn)。
關(guān)鍵詞:微信公眾平臺(tái);高校圖書(shū)館;移動(dòng)服務(wù)
中圖分類號(hào):G251 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2017)05-0184-02
1 引言
隨著移動(dòng)互聯(lián)網(wǎng)、數(shù)字出版、新型閱讀器日漸普及,高校圖書(shū)館的資源及服務(wù)逐漸擺脫物理空間、開(kāi)放時(shí)間以及校園網(wǎng)IP范圍的限制?!白x”具一格的移動(dòng)閱讀模式越來(lái)越受到廣大讀者的青睞,特別受到高校師生的鐘愛(ài)。微信社公眾號(hào)與用戶間有較穩(wěn)定的關(guān)系鏈,通過(guò)分析用戶信息實(shí)現(xiàn)更大的價(jià)值。高校圖書(shū)館可轉(zhuǎn)變服務(wù)模式,將圖書(shū)館各項(xiàng)資源和服務(wù)移動(dòng)化,通過(guò)微信公眾號(hào)推送給讀者[1]。
2 服務(wù)系統(tǒng)的架構(gòu)
整個(gè)系統(tǒng)架構(gòu)分為5層,第一層為高校圖書(shū)館的資源和服務(wù),是圖書(shū)館開(kāi)展移動(dòng)服務(wù)的基礎(chǔ),包括館藏資源系統(tǒng)、服務(wù)系統(tǒng)、數(shù)字資源庫(kù)、資源發(fā)現(xiàn)系統(tǒng)及人員信息庫(kù)等。第二層是對(duì)圖書(shū)館已有資源的整合,將圖書(shū)館已有資源服務(wù)整理分類,劃分為我的圖書(shū)館、資源空間和服務(wù)內(nèi)容三個(gè)版塊。第三層是高校圖書(shū)館微信服務(wù)器,可接入微信公眾平臺(tái),在微信公眾平臺(tái)的開(kāi)發(fā)接口基礎(chǔ)上開(kāi)展圖書(shū)館自定義服務(wù)的開(kāi)發(fā)。第四層是高校圖書(shū)館官方微信公眾號(hào),這是高校圖書(shū)館移動(dòng)服務(wù)的入口,通過(guò)官方微信公眾號(hào),圖書(shū)館將自己的資源和服務(wù)與服務(wù)對(duì)象建立聯(lián)系。第五層是高校圖書(shū)館的服務(wù)對(duì)象,也是高校圖書(shū)館官方微信公眾號(hào)的潛在用戶群,包括學(xué)生、教師、教職工、館員以及其他人員。其中最重要的模塊是高校圖書(shū)館微信服務(wù)器,通過(guò)這個(gè)模塊實(shí)現(xiàn)微信公眾平臺(tái)對(duì)接,微信公眾平臺(tái)相當(dāng)于一個(gè)轉(zhuǎn)發(fā)服務(wù)器,高校圖書(shū)館服務(wù)對(duì)象通過(guò)終端(手機(jī)、Pad等)發(fā)起請(qǐng)求至微信公眾平臺(tái),然后微信公眾平臺(tái)將請(qǐng)求轉(zhuǎn)發(fā)給高校圖書(shū)館微信服務(wù)器[2]。高校圖書(shū)館微信服務(wù)器上承載著官方微信自定義服務(wù)的開(kāi)發(fā)實(shí)現(xiàn)功能,如用戶身份的認(rèn)證、Proxy代理、頁(yè)面轉(zhuǎn)換以及資源分析等功能。高校圖書(shū)館微信服務(wù)器將請(qǐng)求服務(wù)處理完畢后返回給微信公眾平臺(tái),微信公眾平臺(tái)再將具體響應(yīng)回復(fù)給高校圖書(shū)館官方微信公眾號(hào)訂閱用戶的個(gè)人微信。
3 服務(wù)功能的實(shí)現(xiàn)
3.1 讀者身份信息認(rèn)證
訂閱用戶點(diǎn)擊菜單“讀者證綁定”之后,圖書(shū)館微信公眾號(hào)會(huì)通過(guò)微信給訂閱用戶一個(gè)身份綁定鏈接,用戶在鏈接中輸入opac系統(tǒng)的賬號(hào)信息然后通過(guò)HTTP(S)傳送給圖書(shū)館微信公眾號(hào)[3]。具體實(shí)現(xiàn)是通過(guò)認(rèn)證Token獲取URL,經(jīng)過(guò)用戶的合法認(rèn)證后將個(gè)人身份信息授權(quán)給圖書(shū)館微信服務(wù)平臺(tái),然后通過(guò)Open ID將用戶的UserName與UserAccount相關(guān)聯(lián),獲取用戶的ID(卡號(hào))、XM(姓名)、BJ( 班級(jí))、User YX(院系) 等信息,并保存至圖書(shū)館微信服務(wù)器端。關(guān)鍵代碼如下:
stringsString = " Select * from User Info where UserName = @ wx Name" ;
Sql Command cSql = new Sql Command (sString,con);
……
Sql Data Adapter dtData = new Sql Data Adapter(cSql);
Data Table a Data Table = new Data Table( ) ;
dt.Fill( a Data Table) ;
if ( a Data Table. Rows. Count > 0)
{cur User. User ID = a Data Table. Rows[0]["ID"]. To String( ) ;
cur User. User XM = a Data Table. Rows[0][" XM "]. To String( ) ;
cur User.UserBJ = a Data Table. Rows[0]["BJ"]. To String( ) ;
cur User. User YX = a Data Table. Rows[0]["User YX "]. To String( ) ;
……
}
3.2 閱讀分享統(tǒng)計(jì)
圖書(shū)館公眾號(hào)在圖書(shū)館微信服務(wù)器端對(duì)訂閱用戶的閱讀分享進(jìn)行分析與統(tǒng)計(jì),主要闡述兩個(gè)部分的關(guān)鍵代碼:
(1)用戶每次訪問(wèn)都會(huì)產(chǎn)生一條閱讀記錄,通過(guò)Openid獲取訪問(wèn)者,通過(guò)網(wǎng)頁(yè)授權(quán)接口,將捕獲的數(shù)據(jù)信息發(fā)給朋友,分享到朋友圈。
If(!string.IsNullOrEmptr(tppeStrl))
{
//識(shí)別分享類型
ShareType type = ShareType.Unknown;
Switch (typeStr)
{
case “timeline”:
type = ShareType.Timeline;
breakl
case “friend”:
type = ShareType.Friend;
break;
}
//構(gòu)造分析記錄
varpageShare = new PageShareEntity()
{
Id = Guid.NewGuid().ToString(),endprint
Url = GetOrigenalUrl(System.Web.HttpContext.Current.Request.QueryString[“url”]),
ParentShareOpenId = System.Web.Httpcontext. Current.Request.QueryString[“s”]),
ShareOpenId = System.Web.HttpContext. Current.Request.QueryString[“u”]),
From = type,
ShareTime = DateTime.Now
};
//保存分享記錄
StatisticsBll.InsertPageShare(pageShare);
}
(2)獲取到的閱讀與分享記錄,對(duì)閱讀的分析記錄按時(shí)間進(jìn)行統(tǒng)計(jì),并以圖表形式展現(xiàn)處理。
//獲取過(guò)去兩天的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)
DataTimestartTime = DateTime.Now.AddDays(-3);
DatatTimeendTime = DateTime.Now.AddDays(1);
List
//HigeCharts時(shí)間軸的起始時(shí)間
ChartDatachartData = new ChartData
{
StartYear = startTime.Year,
StartDay = startTime.Day,
StartMonth = startTime.Month
};
//生成按小時(shí)統(tǒng)計(jì)的數(shù)據(jù)
While(startTime { Statistics.Add(temp.FindAll(e=>e.VisitTime>=startTime&&e.VisitTime startTime = startTime.AddHours(1); } ChartData.Statistics = statistics.ToArray(); Return chartData; 3.3 閱覽室座位預(yù)約 訂閱用戶通過(guò)圖書(shū)館公眾號(hào)自定義菜單進(jìn)入座位預(yù)約界面, 座位預(yù)約系統(tǒng)利用 AJAX 中XMLHttp Request 對(duì)象將用戶預(yù)約的座位信息發(fā)送到圖書(shū)館微信服務(wù)器后臺(tái)[3]。圖書(shū)館微信服務(wù)器獲取座位預(yù)約系統(tǒng)傳來(lái)的用戶預(yù)約信息后將相關(guān)信息存入后臺(tái)數(shù)據(jù)庫(kù),通過(guò)回調(diào)函數(shù)在預(yù)約成功以后更新所有座位信息。關(guān)鍵代碼如下: //新建XMLHttp Request 對(duì)象 var xml Http Req = new XMLHttp Request(); //設(shè)置回調(diào)函數(shù), 選座成功后更新座位信息 xml Http Req.onreadystatechange = callback; //將座位信息傳入后臺(tái) xml Http Req.open("GET", "Back.aspx?number=" + str +"&room =" +room +"&way=" +way+"&num="+ num, true); xml Http Req.send(null); 4 展望 微信服務(wù)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)只是第一步,要使用戶持續(xù)關(guān)注、閱讀并使用圖書(shū)館官方微信公眾號(hào),就必須做到堅(jiān)持為用戶提供有價(jià)值的內(nèi)容。隨著微信公眾平臺(tái)接口的逐漸豐富,圖書(shū)館公眾號(hào)還可以開(kāi)展更多有益的服務(wù),如基于位置的增強(qiáng)現(xiàn)實(shí)服務(wù)、基于身份特征的學(xué)科服務(wù)、實(shí)時(shí)交互的參考咨詢、圖書(shū)館活動(dòng)的群體性推廣等。 參考文獻(xiàn) [1]周耀,董殿永.基于微信公眾平臺(tái)的圖書(shū)館信息服務(wù)系統(tǒng)構(gòu)建[J].現(xiàn)代情報(bào),2014,08:95-99. [2]孫翌,李鮑,高春玲.微信在圖書(shū)館移動(dòng)服務(wù)中的應(yīng)用研究與實(shí)踐[J].圖書(shū)情報(bào)工作,2014,05:35-40. [3]周瑤,劉暢,李建東.圖書(shū)館微信座位預(yù)約應(yīng)用開(kāi)發(fā)——以西北民族大學(xué)為例[J].現(xiàn)代圖書(shū)情報(bào)技術(shù),2015,No.260,No.261Z1:155-159.
數(shù)字技術(shù)與應(yīng)用2017年5期