基于微信公众平台构建图书馆座位管理系统

2017-01-16 02:34周耀蒋天民
现代情报 2016年12期
关键词:微信公众平台图书馆

周耀+蒋天民

〔摘 要〕鉴于高校图书馆阅览座位“一座难求”的现状,本文分析了现有座位管理系统的缺陷,结合微信的优点,提出了基于微信公众平台构建图书馆座位管理系统的可行性,并以南通大学图书馆为例进行系统开发测试,最后提出了不足及努力方向。

〔关键词〕微信公众平台;座位管理系统;图书馆

〔中图分类号〕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

随着国内高校图书馆阅览条件的日益改善,良好的氛围吸引了众多读者来馆阅览自修,座位变成了紧俏资源,虽然多数高校图书馆座位资源与以往相比大幅增加,但依然滞后于学生的扩招速度。每逢期末和极端天气的时候,“一座难求”和“排队长龙”的现象屡见不鲜,学生起早排队却未必能占到座位,严重影响了睡眠和学习质量,甚至在某些高校因为占座排队拥挤引发危害事故[1]。为了避免发生这种情况,包括南通大学在内的部分高校通过采购或研发的方式引入图书馆座位管理系统,通过自助选位、违章黑名单、座位预约、临时保留座位等功能,在一定程度上缓解了图书馆恶意占座的情况。但在实际使用过程中,此类系统存在一些共性问题:

1)刷卡速度慢,高峰时间段读者有排长队现象;

2)座位预约系统不能支持部分智能手机的操作系统;

3)前端刷卡验证设备昂贵,维修成本高;

4)数据库非实时连通,数据库存在滞后性;

5)界面不够友好,用户体验感差。

微信是一种为智能终端提供跨运营商、跨操作系统的免费即时通讯服务应用程序,可以用很少的流量来发送文字、语音、图片和视频,截至2015年第1季度,微信已经覆盖了全国90%的智能手机,月活跃用户达到5.49亿[2]。伴随着微信的兴起,微信公众平台成为当下最热门、用户最密集的信息载体交互平台,基于微信公众平台构建图书馆座位管理系统,整合已有的系统功能,利用微信的优势进行开发,可以有效缓解先前系统存在的问题。

1 系统可行性分析

高校图书馆的占座现象由来已久,这造成了学校教育资源分配不公,导致图书馆无法充分发挥其服务功能。虽然基于互联网的座位管理系统有不少,但基于微信公众平台构建图书馆座位管理系统,利用微信的扫一扫、跨运营商、跨操作系统的特性,可以简化便利用户操作,提升用户体验[3]。

1.1 用户功能需求分析

基于用户需求和已有系统运行经验,系统需实现功能总结如下:

1)微信账号绑定功能。将用户的微信Openid和学号绑定。

2)空位查询功能。用户通过智能终端即时查询图书馆座位使用情况,有效地节约了用户的学习时间,提高了学习质量。

3)座位预约功能。用户通过智能终端在线实时预约空闲座位,同时遇到特殊情况可以主动取消预约。

4)自助选位和自动选位功能。用户在预约座位过程中,可以自主选择心宜的座位,或者选择自动选位模式。

5)失约违章处理和黑名单功能。对于失约和违章等用户违规行为,通过记入黑名单的方式以实现对用户行为的约束。

6)微信扫描签到功能。用户在预约座位之后,进入指定阅览室后,通过微信的扫一扫功能扫描预约座位上的二维码,实现签到功能。

7)工作人员后台管理功能。工作人员通过后台进行座位管理、查询座位使用情况、用户使用统计以及黑名单管理功能。

以上系统功能模块如图1所示:

1.2 系统运行模式及特点

系统以B/S模式进行开发,用户使用智能手机点击公众号里的菜单,微信客户端将指令发送到腾讯微信服务器,微信服务器再按照事先设定的程序将指令发送至图书馆本地服务器,本地服务器处理完再将结果原路返回,直到返回用户微信客户端,其架构如图2所示:

本系统全程基于互联网运行,只要用户拥有智能移动终端和网络,就可以使用该系统,与传统软件相比,具有简易便捷的特点。

1.3 开发环境支持

南通大学图书馆已建成万兆到馆、千兆楼宇、百兆桌面、多校区光纤直连的专用网络应用系统,建有符合国内一流标准的中心机房,拥有小型机、PC服务器、SAN存储以及数据远程自动备份等功能完备的软、硬件支持系统。同时本馆对本系统提供了配套开发经费,以供开发人员调研和新增设备采购。

2 系统设计

2.1 系统业务流程设计

按照功能可以将系统划分为微信端和后台两个部分,其中在微信客户端中实现用户座位预约功能,在后台终端的浏览器中实现工作人员的系统管理功能。因为其操作对象不同,整个系统业务流程分为两部分,如图3所示:

2.2 数据库设计

数据库设计的基本原则是简单性和非冗余性,即支持本系统的后台数据库必须是数据结构比较直观,用户易于理解且没有重复的属性、记录和文件,便于工作人员后期维护,节省了服务器的数据空间。

2.2.1 数据库需求分析与概要设计

按照系统功能及业务流程分析,其后台数据库设计有以下要求:

1)学生信息表。学生信息表本身比较复杂,但在本系统运行过程中,只需要存储学号、姓名、班级等信息,而其他信息并不需要存储,其中学号作为标识学生的惟一信息。

2)座位信息表。对于座位表来说,最重要是座位编号、地点和状态等信息,其中座位编号作为标识座位的惟一信息,座位地点中存储座位所在楼层教室信息,座位状态信息标识座位的可预约情况,其状态为可预约与不可预约。

3)账号绑定表。该表同时存储微信用户Openid和学生学号,通过这两个信息将微信号和学生学号绑定起来,表里还包含学生姓名、微信昵称等信息。

4)黑名单表。即预约座位后未能及时签到,或有其他违章行为,该表以学生学号作为主键,实现了学生查阅违章信息,同时该表存储失约次数、姓名等信息。

根据以上数据库需求分析,得出本系统数据库概念模型E-R图,如图4所示。

其关系模式如下(主外键画横线表示):

学生(学号,姓名,班级,专业,性别)

绑定信息(学号,openid,姓名)

微信号(openid,昵称)

座位(座位编号,座位地点,座位状态)

预约(座位编号,学号,签到信息)

黑名单(学号,姓名,失约次数)

2.2.2 数据库详细设计

按照本系统数据库E-R图详细设计各数据库表,其中学生信息表(tbstudent)用于保存用户的个人信息;座位信息表(tbseat)用于保存用户座位预约状态信息;账号绑定信息表(tbbind)用于保存用户微信Openid与学号绑定的相关信息;黑名单信息表(tbblacklist)用于保存违规次数超过限制的用户信息,表关系如图5所示:

3 系统实现

基于微信公众平台的南通大学座位管理系统环境配置如下:

操作系统:Windows2008

数据库:Sql Server 2012

脚本语言:PHP

3.1 微信接口配置与设计

3.1.1 微信消息处理流程

微信通过配置消息处理接口实现公众平台与座位管理后台系统的连通,其具体过程如下:

1)接口配置。进入公众平台开发者中心配置相关接口,填写后台系统的接口参数URL(服务器地址)和Token(令牌)。提交相关配置信息后,公众平台将向后台系统发送一条验证服务器地址有效性的Get请求,该请求包含4个参数,即Signature(加密签名)、Timestamp(时间戳)、Nonce(随机数)和Echostr(随机字符数)。后台系统对接收的请求中的Signature参数进行校验,如果成功就返回Echostr参数。

2)消息收发机制。微信公众平台将用户发送的消息封装成XML数据包之后,转发给后台系统,后台将数据包解析得到用户的Openid、Msgtype和Content等信息。然后系统对得到的消息内容进行处理并将结果封装成XML数据包返回给公众平台,并最终反馈给用户[4]。

3)消息处理。后台系统接收到平台转发的用户消息后,首先判断账号是否与学号绑定,如果确认则验证消息合法性,并将消息处理结果封装成XML数据包返回。

3.1.2 系统菜单设计

微信公众平台的开发者模式下提供了自定义菜单功能,可以在微信端直接设置菜单,但由于本系统提供的服务功能只是南通大学图书馆微信公众平台众多服务功能中的一项,所以只需要在微信公众平台界面创建菜单:座位管理(类型:view,跳转URL)。由于该菜单归类在“我的”按钮下,本系统使用以下代码创建菜单(参数含义见表1):

{″button″:[{″name″:″我的″,

″subbutton″:[

{″type″:″view″,″name″:″我的借阅″,″url″:″ ″}

……

{″type″:″view″,″name″:″座位管理″,″url″:″ ″}]

}]

}

创建成功后菜单如图6所示。

3.2 子模块功能实现

3.2.1 座位使用查询模块

座位使用查询模块是基于对现有的阅览室进行分组统计,通过计算各个阅览室已使用的座位数,从而实时查询各阅览室的座位使用情况,查询结果由后台系统封装成XML数据包及时反馈给查询用户,查询结果见图7,核心代码如下(参数含义见表2):

sql=″SELECT * FROM seatinfo″;

seats=db->query(sql);

message=″地点 人数 座位数\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 座位预约模块

座位预约模块是用户根据喜好自主预约选择座位,用户选择好座位后,系统首先判断此座位是否被占用,如果没有则将预约结果写入系统数据库,用户预约成功,其运行界面见图7,核心代码如下(参数含义见表3):

∥判断选定座位是否空闲

sql=″SELECT FROM seatinfo WHERE seatnum=′″.seatnum.″′AND roomname=′″.roomname.″′″;

seats=db->query(sql);

If(seats[′isbooked′]==0)

{

∥弹出对话框信息

message=″您已经成功预订座位,阅览室:″.roomnum.″,座位号:″.seatnum;

∥将预约信息写入数据库

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 扫描签到模块

扫描签到模块是利用微信自带的扫一扫功能,通过扫描每张座位上的二维码实现签到功能。座位二维码是座位信息的链接参数且与座位号一一对应,使用方便快捷,降低了传统系统的硬件成本。签到功能是通过时间限制来区分“签到”、“迟到”和“失约”3种状态,其中“失约”状态将被系统记录下来,为记入黑名单提供依据,其伪代码如下:

if(签到时间处于″开放时间″)

{

if(扫描的座位没有被签到)

{

if(签到时间处于″签到″时段)

{对座位进行签到,并给出提示″签到状态″为″已签到″}

else(签到时间处于″迟到″时段)

{对座位进行签到,并给出提示″签到状态″为″迟到″}

}

else{座位已被签到,给出提示″无法二次签到″}

}

4 问题与对策

基于微信公众平台的南通大学图书馆座位管理系统目前已经开通测试,在试用过程中,出现了以下的问题:

4.1 存在问题

1)有用户反馈系统使用不便,体验感差,大致原因归为3类:部分读者因为使用习惯问题,希望继续体验传统图书馆服务;部分读者没有智能手机而无法使用系统;阅览室空闲时无须使用系统就有座位,而高峰座位紧张时部分读者临时使用手足无措。

2)由于图书馆开放时间比较固定,高峰时段用户大量涌入签到,导致系统响应速度缓慢,出现了响应超时,导致用户无法使用系统,体验感下降。

3)系统功能对应的阅览规则没有调整到位,例如黑名单用户并没有真正受到处罚。

针对以上问题,通过与馆领导、一线工作人员和用户代表的沟通,提出以下对策:

4.2 对 策

1)采用多元化包容的方式在大部分阅览室运用新系统,同时留下部分座位资源满足有各种体验需求的读者,继续改进系统,丰富系统内容,简化使用步骤,提升读者体验。

2)提高图书馆的无线网络速率,提升后台系统硬件水平,从而有效减少高峰时间段的访问缓慢问题。

3)严格制定与系统相配套的阅览规则,坚决规范各种浪费座位资源的不文明行为。

5 结束语

“读者第一,服务至上”是图书馆的服务宗旨[5]。合理利用先进技术改善图书馆服务水平,提升用户体验是图书馆员的职责和使命。本系统运用微信公众平台管理南通大学图书馆座位资源,充分发挥了微信用户多、易使用和跨平台等优点,提高了座位资源利用率,同时降低了系统建设成本,具有较强的实用性,为南通大学图书馆服务创新积累了宝贵的经验。

参考文献

[1]河北农大学霸为占座挤爆图书馆钢化玻璃门[EB/OL].http:∥hebei.news.163.com/15/0114/16/AFUDEM9Q02790BD4.html,2015-01-14.

[2]微信用户最新数据:月活跃用户达到5.49亿,支付用户4亿左右[EB/OL].http:∥tech.163.com/15/0601/13/AR1F5KE000094ODU.html,2015-06-01.

[3]周瑶,刘畅,李建东.图书馆微信座位预约应用开发——以西北民族大学为例[J].现代图书情报技术,2015,(7/8):155-159.

[4]张蓓,窦天芳,张成昱,等.开发模式下图书馆微信公众平台服务的设计与实现[J].现代图书情报技术,2014,(1):87-91.

[5]黄宗忠.服务是图书馆的永恒主题——兼评国外图书馆服务的新理念、新方法[J].图书馆论坛,2005,(6):22-29.

(责任编辑:孙国雷)

猜你喜欢
微信公众平台图书馆
图书馆
基于微信公众平台的高校综合素质社团建设
基于微信公众平台的阅读推广案例研究
基于微信的大学生微型学习平台的设计与实现
基于微信公众平台的碎片化学习研究