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

?

基于微信掃碼技術(shù)的圖書薦購系統(tǒng)的設(shè)計與實現(xiàn)

2017-01-16 02:26:37豆志磊
現(xiàn)代情報 2016年12期
關(guān)鍵詞:掃碼菜單圖書

豆志磊

〔摘 要〕讀者薦購是讀者參與圖書館文獻資源建設(shè)的重要方式,移動互聯(lián)時代的到來為圖書館讀者薦購提供了新的機遇。本文通過分享漯河職業(yè)技術(shù)學(xué)院圖書館開發(fā)的基于微信掃碼技術(shù)的圖書建構(gòu)系統(tǒng)的設(shè)計思路和實現(xiàn)方法,希望能夠為兄弟院校圖書館開發(fā)同類系統(tǒng)提供借鑒和參考,共同推進移動互聯(lián)時代圖書館文獻資源建設(shè)方式方法的創(chuàng)新與發(fā)展。

〔關(guān)鍵詞〕圖書館;微信;掃碼技術(shù);圖書薦購;系統(tǒng)設(shè)計 〔中圖分類號〕G250.71 〔文獻標(biāo)識碼〕A 〔文章編號〕1008-0821(2016)12-0095-04

〔Abstract〕Reader recommendation is an important way for readers to participate in the construction of library resources,the mobile Internet era provides new opportunities for librarys reader recommendation.In this paper,by sharing LuoHe Vocational Technology College librarys design and implementation of book recommendation system,which based on WeChat scan-code technology,provided reference for other colleges and universities library to develop the similar system,in order to jointly promote the innovation and development of library literature resources constructions mode in the mobile Internet Era method.

〔Key words〕library;WeChat;book recommendation system;scan-code technology;the design of the system

隨著移動技術(shù)的發(fā)展,手機、pad等移動客戶端已經(jīng)超越pc成為互聯(lián)網(wǎng)的第一大網(wǎng)絡(luò)接入客戶端[1],移動互聯(lián)網(wǎng)時代已經(jīng)悄然到來。微信產(chǎn)生以來憑借其強大的群發(fā)分享功能、多樣化的多媒體交互、低廉的信息傳輸費用以及開放式的信息服務(wù)方式,深受廣大移動用戶的歡迎,經(jīng)過短短5年的發(fā)展已迅速成為最大的中文網(wǎng)絡(luò)社交平臺[2]。在高校中,微信具有更廣泛的用戶群體和更高的用戶使用黏合度。筆者通過現(xiàn)場調(diào)研的方式對河南地區(qū)的高校在校學(xué)生進行了抽樣調(diào)查,調(diào)查結(jié)果顯示:99%的在線大學(xué)生手機裝有微信客戶端,97%的調(diào)查對象經(jīng)常使用微信,而93%的用戶將微信作為最主要的網(wǎng)絡(luò)交流平臺。微信的普及為圖書館業(yè)務(wù)的宣傳以及相關(guān)服務(wù)的創(chuàng)新提供了新的機遇,圖書館如何利用微信為廣大在校師生服務(wù)也成為了近年來圖書館學(xué)界研究的熱點,相關(guān)研究成果呈現(xiàn)逐年上升趨勢增長[3]。

文獻資源建設(shè)是圖書館的核心業(yè)務(wù)之一,隨著圖書館辦館理念由“收藏”——“借閱”——“服務(wù)”的逐漸變化,圖書館文獻資源建設(shè)的方式和方法也在發(fā)生著轉(zhuǎn)變,越來越多的圖書館開始注重用戶的個性化需求與針對性服務(wù),讓用戶參與到圖書館的文獻資源建設(shè)中已成為當(dāng)代高校圖書館的共識[4]。讀者薦購是讀者參與圖書館文獻資源建設(shè)的重要方式之一,在移動移動互聯(lián)時代如何讓用戶隨時隨地的通過移動客戶端圖書館薦購圖書參與圖書館文獻建設(shè)是圖書館采編工作人員應(yīng)該考慮的問題。

作為一名圖書館的從業(yè)人員,筆者認為微信能夠為移動客戶端讀者進行圖書薦購提供較為良好的解決方案。首先,微信在大學(xué)生中的廣泛普及讓基于微信的讀者薦購系統(tǒng)有廣泛的用戶基礎(chǔ)。其次,微信允許用戶調(diào)用手機的攝像頭設(shè)備,實現(xiàn)掃一掃功能,為用戶隨時隨時掃描圖書條形碼提供可用的設(shè)備基礎(chǔ)。最后,微信公眾平臺的開放性允許圖書館按照微信提供的借口和權(quán)限進行第三方程序開發(fā),從而為讀者薦購流程與微信開放平臺結(jié)合提供程序?qū)崿F(xiàn)基礎(chǔ)。

漯河職業(yè)技術(shù)學(xué)院圖書館微信公眾平臺掃碼薦購圖書系統(tǒng)自2016年5月開始運行,主要為解決讓用戶隨時隨地通過微信客戶端為圖書館推薦身邊好書的問題而設(shè)計。截至目前,系統(tǒng)整體運行良好,共收到讀者推薦圖書數(shù)據(jù)300余條,對于提升漯河職業(yè)技術(shù)學(xué)院圖書館文獻資源建設(shè)讀者參與度、提高圖書采購的針對性和館藏文獻利用率具有顯著的推動作用[5]。鑒于國內(nèi)圖書館程序開發(fā)技術(shù)力量普遍相對薄弱,筆者希望通過本文分享微信掃碼圖書薦購系統(tǒng)的設(shè)計思路和實現(xiàn)方法,希望能為兄弟院校圖書館開發(fā)同類系統(tǒng)提供借鑒和參考[6]。

1 掃碼圖書薦購系統(tǒng)的設(shè)計

1.1 系統(tǒng)開發(fā)平臺及環(huán)境簡介

系統(tǒng)采用Vaisul Stidio 2010作為開發(fā)平臺,采用NET4.0程序框架集為基礎(chǔ)框架,選用C#為開發(fā)語言,以ACEESS作為管理庫,以IIS為發(fā)布工具。開發(fā)所需軟件全部采用微軟的產(chǎn)品,系統(tǒng)具有較強的兼容性和穩(wěn)定性;本系統(tǒng)通過微信/第三方服務(wù)器方式訪問,用戶無需下載專用客戶端,通過微信客戶端即可與服務(wù)器進行交互訪問,保證了系統(tǒng)的可用度以及對用戶的親合度。

1.2 系統(tǒng)結(jié)構(gòu)框架的設(shè)計

本系統(tǒng)面對的用戶群體為用戶和管理員。對管理員而言,系統(tǒng)主要為管理員提供微信菜單的生成程序,以供管理員生成調(diào)用微信“掃一掃”所需設(shè)備的菜單。對用戶而言,系統(tǒng)主要解決對掃碼后提供的信息進行接收與識別,用戶身份的判斷以及用戶信息的綁定、ISBN信息的提取、當(dāng)當(dāng)網(wǎng)數(shù)據(jù)與館藏圖書數(shù)據(jù)的調(diào)用以及最終推薦圖書信息的確認等問題。系統(tǒng)的結(jié)構(gòu)框架及業(yè)務(wù)流程如圖1所示,其中實線代表實際業(yè)務(wù)操作,虛線代表館藏數(shù)據(jù)的調(diào)用。

2 掃碼圖書薦購系統(tǒng)的實現(xiàn)

2.1 “掃碼薦購圖書”菜單生成模塊的實現(xiàn)

此模塊主要解決在微信公眾號的菜單中添加可供用戶點擊的“掃碼推薦圖書”按鈕,用戶通過微信公眾號點擊此子菜單時,會調(diào)用手機的攝像頭呈現(xiàn)掃一掃界面,供用戶去掃描圖書的條形碼。此處掃一掃與微信界面左上角“掃一掃”的區(qū)別在于通過公眾號菜單去掃條形碼返回的信息可以包含用戶的個人信息openid(即個人與此微信公眾號對應(yīng)的惟一標(biāo)識),通過此惟一標(biāo)識可以讓微信通過第三方程序處理后的信息能夠準(zhǔn)備的返回到用戶手機的微信公眾號界面,從而實現(xiàn)用戶與微信公眾號的點對點交互,而通過掃一掃則不能實現(xiàn)交互功能,故通過微信菜單添加“掃碼”功能為實現(xiàn)掃碼推薦圖書的基礎(chǔ)、入口和必備條件。微信掃描推薦圖書菜單樣式如圖2所示,其主要實現(xiàn)代碼如下:

protected void updatemenuClick(object sender,EventArgs e)

{string menu=″″;

menu=@″{″″button″″:[{″″name″″:″″新聞資訊″″,″″subbutton″″:[{″″type″″:″″scancodewaitmsg″″,″″name″″:″″掃碼推薦圖書″″,″″key″″:″″lala1″″}]}]}″;

string appid=″* * * * * *″;∥此處填寫微信第三方開發(fā)的appid

string appsecret=″* * * * * * *″;∥此處填寫微信第三方開發(fā)的appsecret

string accesstoken=wx.GetMyAccessToken(appip,appsecret);

string m=wx.GetPage(″https:∥api.weixin.qq.com/cgi-bin/menu/create?accesstoken=″+accesstoken,menu);}∥調(diào)用自建getpage()方法于微信交互,將菜單信息傳遞給微信服務(wù)器,生成菜單。

2.2 掃碼推薦圖書模塊的實現(xiàn)

用戶掃碼成功后,會將掃碼結(jié)果及個人信息傳送給騰訊微信服務(wù)器,騰訊微信服務(wù)器根據(jù)第三方開發(fā)者參數(shù)設(shè)置將信息傳給發(fā)微信公眾指定第三方處理程序。第三方程序接收到轉(zhuǎn)發(fā)的信息,并對該信息進行加工處理,將接受到的XML轉(zhuǎn)換為第三方程序可以處理的格式化信息。信息轉(zhuǎn)換后,第三方程序首先根據(jù)用戶的openid與本地數(shù)據(jù)庫進行匹配判斷是否為已綁定用戶,如果為非綁定用戶則提醒用戶通過讀者證號和密碼綁定身份信息。如果為已綁定用戶,則對接收到的掃碼數(shù)據(jù)進行處理,提取集中的ISBN信息,并將得到的ISBN與圖書館館藏數(shù)據(jù)庫中的數(shù)據(jù)進行匹配,判斷是否為圖書館已有圖書;如果為已有圖書則直接讀取館藏圖書文獻信息數(shù)據(jù);如過為館藏圖書,則調(diào)用直接根據(jù)ISBN訪問當(dāng)當(dāng)網(wǎng)進行圖書檢索,將檢索結(jié)果臨時保存在服務(wù)器中,通過對臨時數(shù)據(jù)的截取獲取圖書的書名、作者出版社、圖書封面等信息;無論獲取的是館藏圖書信息還是當(dāng)當(dāng)網(wǎng)的圖書信息,最終都將與用戶信息進行合并,形成最終反饋數(shù)據(jù),程序?qū)Ψ祷財?shù)據(jù)進行加工(格式程序)生成微信可以接受的xml文檔,提交微信,由微信根據(jù)用戶的openid通過微信公眾號講信息反饋到用戶手機。掃碼推薦模塊為本系統(tǒng)處理的核心模塊,其主要實現(xiàn)代碼如下:

if(HttpContext.Current.Request.HttpMethod.ToLower()== ″post″)

{System.IO.Stream s=System.Web.HttpContext.Current.Request.InputStream;

byte[]b=new byte[s.Length];

s.Read(b,0,(int)s.Length);

postStr=System.Text.Encoding.UTF8.GetString(b);∥以上為接收數(shù)據(jù)

if(!string.IsNullOrEmpty(postStr))

{string inputXml=postStr;

XmlDocument xmlDoc=new XmlDocument();

xmlDoc.LoadXml(inputXml);

Dictionaryfields=new Dictionary();

foreach(XmlNode x in xmlDoc.SelectSingleNode(″/xml″).ChildNodes)

{fields.Add(x.Name,x.InnerText);}∥以上為對xml數(shù)據(jù)進行整序并保存在Dictionary類型中

if(fields[″Event″].Trim().ToLower()==″scancodewaitmsg″&& fields[″EventKey″]==″lala1″)

{Dictionary fieldssed=new Dictionary();

foreach(XmlNode x in xmlDoc.SelectSingleNode(″/xml/ScanCodeInfo″).ChildNodes)

{fieldssed.Add(x.Name,x.InnerText);}

string cnt1=fieldssed[″ScanResult″];string isbn =″″;

if(fieldssed[″ScanResult″].Contains(″,″))

{isbn=cnt1.Substring(cnt1.LastIndexOf(″,″)+1);}

else if(fieldssed[″ScanResult″].Contains(″,″))

{isbn=cnt1.Substring(cnt1.LastIndexOf(″,″)+1);}

OleDbConnection con=dbxuan.linklib();

con.Open();

string sqlstr=″select count(*)from(SELECT REPLACE([標(biāo)準(zhǔn)編號],-,)as sbn FROM wxxxb)as t1 where charindex(″+cnt1+″,t1.sbn)>0″;

OleDbCommand cmd=new OleDbCommand(sqlstr,con);

int c =Convert.ToInt32(cmd.ExecuteScalar().ToString());

con.Close();

if(c == 0)

{Getddtsinfo(isbn);∥通過函數(shù)獲取當(dāng)當(dāng)圖書數(shù)據(jù)

updatets(fields[″FromUserName″],isbn,title,zy,zuozhe,dj,cbs,fmimgurl);∥將獲取圖書數(shù)據(jù)寫入圖書推薦數(shù)據(jù)庫

string url=″http:∥tsgwx.lhvtc.edu.cn/tx.aspx?isbn=″+isbn+″&user=″+fields[″FromUserName″];

string returnXml=wxnews.OneNewsToXml(fields[″FromUserName″],fields[″ToUserName″],″″,title.ToString(),zy.ToString()+″\n\n點擊下方″查看全文″按鈕推薦此書給圖書館″,fmimgurl,url);

context.Response.ContentType=″text/xml″;

context.Response.Write(returnXml);}

else{String eturnXml=wxnews.OneNewsToXml(fields[″FromUserName″],fields[″ToUserName″],″″,″書名″,″作者+出版社+館藏位置等信息″,″″,″″);}

2.3 獲取當(dāng)當(dāng)網(wǎng)圖書數(shù)據(jù)

當(dāng)當(dāng)網(wǎng)圖書數(shù)據(jù)的獲取主要通過public void Getddtsinfo(string cnt)函數(shù)實現(xiàn),其原理為:在圖書館服務(wù)器端后臺訪問當(dāng)當(dāng)網(wǎng)檢索頁面:http:∥search.dangdang.com/?medium=01&key4=″+isbn;并對訪問頁面的進行源碼臨時保存,然后對源碼中的第一條圖書數(shù)據(jù)進行分析和截取,逐步獲得圖書的書名、作者、出版社、封面圖片等重要信息,并以字符串?dāng)?shù)組的形式返回,獲取這些數(shù)據(jù)的目的讓用戶對擬推薦的圖書進行確認,以免造成錯誤推薦等。其代碼如下:

public static string dj=″″;public static string zy=″″;

public static string zuozhe=″″;public static string cbs=″″;

public static string fmimgurl=″″;public static string title=″″;

public void Getddtsinfo(string cnt)

{int start=cnt.IndexOf(@″

· 最先出現(xiàn)的位置

stringstr=cnt.Substring(start);∥截取從start+1開始,到;

int over=str.IndexOf(@″″);∥<最后出現(xiàn)的位置

str=str.Substring(0,over + 5);∥截取從start+1開始,到;

string str2=str.Substring(str.IndexOf(@″定價″));

str2=str2.Substring(str2.IndexOf(@″?″)+5);

dj=str2.Substring(0,str2.IndexOf(@″″));

zy=str.Substring(str.IndexOf(@″

″)+19,str.IndexOf(@″

″)-(str.IndexOf(@″

″)+19));

string str3=str.Substring(str.IndexOf(@″

″)+30);

zuozhe=str3.Substring(0,str3.IndexOf(@″″));

string str4=str.Substring(str.IndexOf(@″name=Pcbs″));

str4=str4.Substring(str4.IndexOf(@″>″)+1);

cbs=str4.Substring(0,str4.IndexOf(@″″));

zuozhe=NoHTML(zuozhe);

fmimgurl=GetImgUrl(str).Replace(″″,″″);

title=str.Substring(str.IndexOf(@″

2.4 薦購圖書信息的確認與數(shù)據(jù)提交

通過菜單的“掃碼推薦圖書”按鈕調(diào)用“掃一掃”掃碼后系統(tǒng)經(jīng)過上述系統(tǒng)流程,用戶微信會收到推薦的展示信息,如圖3所示。根據(jù)提示,用戶點擊查看詳情按鈕即可對已推薦的圖書進行確認,確認后,用戶微信端會收到提示信息,證明圖書推薦成功。至此,整個基于微信公眾號的圖書薦購系統(tǒng)的讀者端開發(fā)完成,圖書館可通過后臺程序?qū)ψx者推薦的圖書進行統(tǒng)計整理,形成最終的圖書采購計劃進行采購。采購工作完成后,微信可以根據(jù)流通管理系統(tǒng)新增數(shù)據(jù)的變化通過微信來提醒用戶圖書到館,邀請讀者前來借閱。

要求用戶通過“詳情”按鈕確認選購圖書主要作用在于一方面便于用戶核對來自于當(dāng)當(dāng)網(wǎng)的圖書信息是否與主管意識推薦的實體圖書信息是否一致,確保推薦圖書數(shù)據(jù)的準(zhǔn)確性,另一方面,可以通過isbn和用戶openid的驗證來保證用戶提交數(shù)據(jù)來自于用戶本人的微信,防止非法用戶盜鏈行為的發(fā)生,增加系統(tǒng)的安全性。用戶確認圖書信息代碼如下:

protected void PageLoad(object sender,EventArgs e)

{string isbn=Request.QueryString[″isbn″].ToString();

string openid=Request.QueryString[″openid″].ToString();

OleDbConnection con=dbxuan.linklib();

con.Open();

string sqlstr=″select count(*)from[tjts]where isbn=″+isbn+″and openid=″+openid+″″;

OleDbCommand cmd=new OleDbCommand(sqlstr,con);

int c=Convert.ToInt32(cmd.ExecuteScalar().ToString());

if(c==0){this.Label1.Text=″提交數(shù)據(jù)格式不正確,請通過微信提交″;}

else{cmd=new OleDbCommand(″update[tjts]set tj=yeswhere isbn=″+isbn+″and openid=″+openid+″″,con);

cmd.ExecuteNonQuery();

this.Label1.Text=″數(shù)據(jù)以提交至圖書館,圖書館將盡快為你采購圖書,圖書到館后圖書館將通過此微信號提醒你的到館借閱,敬請留意!″;}

con.Close();}

3 結(jié)束語

本文設(shè)計和實現(xiàn)的基于微信的掃碼圖書薦購系統(tǒng)具有以下優(yōu)勢:①用戶通過掃描圖書條形碼,可以隨時隨地地推薦圖書。②通過調(diào)用當(dāng)當(dāng)網(wǎng)的數(shù)據(jù),直接生成對應(yīng)圖書的名稱、作者出版社等信息,無需用戶手動輸入,具有較高的用戶體驗。③通過掃描圖書信息與圖書現(xiàn)有館藏信息比配,可以判斷推薦的圖書是否為本地已有圖書,可以避免圖書的重復(fù)推薦與采購。④通過身份識別與驗證可以保證用戶身份的合法性以及推薦圖書信息的準(zhǔn)確性。此微信掃描圖書薦購系統(tǒng)為漯河職業(yè)技術(shù)學(xué)院微信移動圖書館一個功能子模塊,為共同推進移動互聯(lián)時代圖書館文獻資源建設(shè)方式方法的創(chuàng)新與發(fā)展提供參考。

參考文獻

[1]孔云,廖寅,資蕓,等.圖書館微信服務(wù)平臺的設(shè)計與實現(xiàn)[J].圖書館論壇,2014,(2):90-95.

[2]張蓓,竇天芳,張成昱,等.開發(fā)模式下圖書館微信公眾平臺服務(wù)的設(shè)計與實現(xiàn)[J].現(xiàn)代圖書情報技術(shù),2014,(1):87-91.

[3]鄧媛,張駿毅,楊九龍.高校圖書館微信資源共建系統(tǒng)的設(shè)計與實現(xiàn)[J].圖書館學(xué)研究,2014,(10):41-47.

[4]肖秋紅.高校圖書館微信數(shù)字參考咨詢生態(tài)模型設(shè)計與實施[J].圖書館學(xué)研究,2014,(12):85-88.

[5]李白楊,白廣思.面向知識咨詢的圖書館移動服務(wù)設(shè)計與實現(xiàn)——以微信公共平臺為例[J].圖書館學(xué)研究,2013,19:69-72.

[6]姚舜.圖書館微信借書系統(tǒng)的設(shè)計與實現(xiàn)[J].圖書館建設(shè),2015,(2):84-87.

[7]張正.圖書館微信公眾平臺的構(gòu)建[J].國家圖書館學(xué)刊,2014,(2):26-31.

[8]王保成,鄧玉.微信公眾平臺在國內(nèi)圖書館服務(wù)中的應(yīng)用實踐研究[J].圖書情報工作,2013,20:82-85.

[9]吳錦輝.基于功能需求的圖書館微信內(nèi)容建設(shè)分析[J].國家圖書館學(xué)刊,2015,(1):52-58.

(責(zé)任編輯:孫國雷)

猜你喜歡
掃碼菜單圖書
臍橙連上物聯(lián)網(wǎng) 掃碼便知“前世今生”
山之高
圖書推薦
南風(fēng)(2020年22期)2020-09-15 07:47:08
中國新年菜單
歡迎來到圖書借閱角
中國進入“掃碼”時代
伙伴(2018年1期)2018-05-14 10:49:15
班里有個圖書角
本月菜單
美食堂(2017年1期)2017-01-13 01:37:42
掃碼看直播
留學(xué)(2016年11期)2016-08-26 01:05:30
一個“公海龜”的求偶菜單
鴨綠江(2013年10期)2013-03-11 19:41:55
梁河县| 抚宁县| 绥芬河市| 南汇区| 普洱| 安化县| 启东市| 平南县| 秀山| 建阳市| 渝北区| 河东区| 兴安盟| 华亭县| 台安县| 安丘市| 新龙县| 山丹县| 平江县| 丰顺县| 睢宁县| 两当县| 商水县| 白山市| 阿图什市| 渝中区| 尚义县| 义马市| 灵武市| 宜兴市| 郯城县| 钟祥市| 桂林市| 贵南县| 额济纳旗| 景德镇市| 新巴尔虎右旗| 龙山县| 中牟县| 鄄城县| 右玉县|