基于微信公众平台的高校移动图书馆系统的设计与实现

2015-04-27 01:27王心妍西安培华学院西安710125
山东工业技术 2015年4期
关键词:指令消息解析

王心妍(西安培华学院,西安 710125)

基于微信公众平台的高校移动图书馆系统的设计与实现

王心妍
(西安培华学院,西安710125)

微信公从平台的兴起为图书馆提供了更广阔的发展空间,使移动图书馆服务得到长足发展和应用。本文基于微信公众平台的独特性,结合图书馆自身特点,介绍了基于微信公共平台的移动图书馆的设计与实现。

开放接口;微信公众平台;图书馆

1 引言

微信是一款比QQ更加便捷的手机即时通讯APP,由它所引领的“微生活”方式正逐渐渗透到我们生活的方方面面[1]。截止到2014年12月,全球的微信注册用户已突破11.2亿,其中月活跃用户高达4.4亿,微信在智能手机中渗透率接近100%,是亚洲地区最大用户群体的移动即时通讯软件。其用户主要是一线城市的年轻人,特别是高校的学生群体。

对于高校而言,微信的使用群体最为密集,图书馆服务与微信公众平台的有效结合定将有益于广大学生。自从腾讯公司2012年推出微信公众平台后,全国各大图书馆也积极利用微信平台开展图书馆的各项服务,如新书和讲座的消息推送服务、自动咨询应答服务、借阅信息查询和续借办理服务等。截止2014年6月底,已有23所高校图书馆开通了其微信公众平台,为学生和老师提供信息服务。但很多图书馆仅限于基本的信息推送和自动应答服务,没有对其公众平台进行更深层次的开发。本文主要介绍高校图书馆微信公众平台的二次开发,以此来拓展移动图书馆的高级功能,向读者提供更便捷、更快速的个性化服务。

2 图书馆微信公众平台的功能设计

2.1 注册

微信公众平台面向所有企业或个人,在注册界面输入验证邮箱和密码,根据提示在注册邮箱中点击链接进行激活。邮箱验证成功后就可以进入资料提交界面,在类型选择时有政府、媒体、企业、其他组织和个人,图书馆服务则选择其他组织。随后填写图书馆的真实信息,包括名称、邮箱、邮编、地址、电话、机构代码、组织机构加盖公章扫描件、运营者身份证号码及名称、职务、运营者手持证件照片、手机号码、短信验证码和授权运营书,一般会在7个工作日内通过审核。

2.2账号设置

注册成功后的微信公众号可以进行基本的账号设置,比如头像设置、公众号名称和微信号码设置(设置好后不允许更改)、功能介绍和二维码,并选择回复设置——自动回复、消息回复和自定义回复,回复设置的选择是图书馆实现自动查询功能的基础。

2.3功能设计

微信公共平台可以实现群发消息、用户管理、资源内容管理、API开放接口等多个强大的功能。本文根据普通高校图书馆的特点,设计以下功能:

2.3.1图书证的绑定与解绑功能

读者通过向公众账号发送具有个人图书证编码和密码的信息,图书馆的微信服务端对其身份进行一对一的验证,验证成功后发送服务操作指令,实现图书证与公众号的绑定,便可随时随地获得快速信息查询和续借等服务。如果解除绑定,则将取消一切服务。

2.3.2借阅信息查询功能

通过微信公从平台,读者在开发的菜单上点击“查询借阅信息”命令,将会在手机上快速查看自己图书证上已借图书情况。

2.3.3图书预约与续借功能

通过微信公从平台,读者在菜单上点击“预约”或“续借”命令,图书馆微信服务端接收命令后会及时向读者返回,便可快速办理图书的预约续借服务。

2.3.4新书通报功能

利用微信的群发功能,及时有效地将新书信息发送到每位读者,可以让读者通过微信平台更加积极地互动,有效提高新书利用率和周转率。

2.3.5通知、新闻等功能

微信群发可以使图书馆的讲座通知、新闻以及培训等信息第一时间发送给读者。

3 图书馆微信公众平台实现的关键技术

3.1 消息接口配置

微信公众号审核通过后,就可利用微信公众平台“高级功能”菜单中的“开发模式”实现对该公众号的二次开发。二次开发的首要环节就是配置消息接口,登记图书馆用于消息处理的服务器资源URL和用于生成签名的Token值,实现网址的接入。

当有消息提交时,微信服务器即刻向所登记的服务器资源URL发送GET请求。消息服务器首先检验加密签名Signature,验证成功则原样返回随机字符串Echostr的内容,以表明成功接入,反之则接入失败。消息接口配置成功后,URL就会接收到发送至微信公众号的所有消息,而对于消息的解析和回复,则交由指令解析模块和各个服务子模块来完成。

3.2 指令解析

3.2.1消息接收

微信一般是通过消息的交互来实现其应用的,对消息的解析由指令解析模块来负责。我们通常采XML作为请求消息格式,采用Dom4j来对其进行解析。当微信服务器接收POST请求,指令解析模块就会匹配消息类型和指令,并调用服务子模块来进行具体的处理。其中所涉及到的主要代码和解释如下:

解析指令内容,确定子模块及调用参数:functionexecuteCommand(cmd)

执行子模块,完成指令要求功能:(module,params)=parseCommand(cm d)ExecuteModule(module,params)

本设计中微信公众平台所支持的文本消息指令包括两种:

(2)复杂功能性指令:例如“cs#t:题名”(按题名查询图书)、“jy#证号,PIN码”(查询个人借阅情况)等。

3.2.2消息回复

对接收到消息指令进行解析后,服务子模块就会对其进行响应和处理,并将查询结果返回给指令解析模块进行重新封装,从而生成XML格式的回复消息。以回上例中的消息为例,输入指令“cs#t:人生”,将得到如下回复消息。

<xm l>

<MsgType><![CDATA[text]]></MsgType>

<Content><![CDATA[共3本1.《人生》...chx/Y?SEARCH=t:人生]]></Content>

<FuncFlag>0</FuncFlag>

</xm l>

3.3 服务子模块的实现

图书馆微信公众平台在进行二次开发时,为了使其服务子模块具备良好的扩展性,在消息处理时可以自由添加一些功能。但这并不意味着可以随意设置功能模块,因为服务子模块的实现方式还和第三方系统的开放程度有关,因此各子模块的实现也会有所不同。例如图书馆的预约续借管理系统如果能够提供完整的功能接口,该微信服务子模块的实现就比较简单,通过直接调用该功能接口,将预约或续借情况的信息封装成微信消息。但是如果第三方系统没有提供现成的接口,子模块的实现就有点复杂。例如图书馆的书目查询系统没有提供现成的接口,实现时则需要使用HTMLParser模拟查询操作,并通过解析查询结果页面,而获得查询信息。

除了将微信与图书馆传统服务集成外,还可以通过微信传播更丰富的图书馆信息。图书馆有书展、培训讲座等动态信息,如果通过人工维护的方式在微信应用中提供这些信息,工作量大且难以保证信息的及时同步,因此可充分利用已有的RSS源,实现热点消息查询子模块[2]。当用户向微信公众号发送指令(如“新闻”)时,系统将读取相应的RSS源,程序解析后将以回复文本消息的形式,返回包含新闻标题和网址的XML。

4 结束语

基于微信公众平台构建的高校移动图书馆服务系统具有灵活开放、功能强大等优点,可以极大地节约建设成本,提高图书馆移动服务水平。本文设计并实现了微信图书馆公众平台的二次开发,希望可以给我校图书馆在建设移动图书馆时提供一种选择和参考。

[1]黄浩波,何卫华,叶青微信及其在图书馆信息服务中的应用[J].图书馆学刊,2013(01):62-64.

[2]张蓓,窦天芳,张成昱.图书馆微信公众平台服务的设计与实现[J].现代图书情况技术2014(01):87-90.

本文系西安培华学院2014年度校级科研课题“基于微信公众平台的高校移动图书馆系统的设计与实现”(项目编号:PHKT20140745)的研究成果。

王心妍(1978-),女,陕西西安人,讲师,研究生,研究方向:计算机应用技术。

猜你喜欢
指令消息解析
三角函数解析式中ω的几种求法
《单一形状固定循环指令G90车外圆仿真》教案设计
一张图看5G消息
关于ARM+FPGA组建PLC高速指令控制器的研究
基于Qt和OpenDDS的船舶电力模拟训练系统指令处理方法
晚步见道旁花开
睡梦解析仪
复合场中类抛体运动解析
对称巧用解析妙解
太空第一人