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