摘 要:微信服务已经深入到人们的生活之中,图书管理系统也应该根据时代的需求进行系统的提升。将两者进行深度融合,构建基于微信服务的图书管理系统平台是必要的。本文阐述了其可行性分析、总体设计思路和关键技术。
关键词:微信;图书管理系统;移动信息服务
中图分类号:TP315 文献标识码:A
Abstract:WeChat service has gone into people's life,the library management system should be based on the needs of the times to improve the system.It is necessary to build a library management system based on WeChat service.In this paper,the feasibility analysis,the overall design ideas and key technologies are described.
Keywords:WeChat;library management system;mobile information service
1 引言(Introduction)
微信于2011年1月21日被腾讯公司推出,它是一款为智能终端提供即时通讯服务的免费应用程序[1]。它通过网络快速发送图片、文字、语音、视频等信息,消耗很少的数据流量,拥有“朋友圈”“摇一摇”“公众平台”等服务插件,极大满足了人们社交的需要。官方统计截止2013年10月24日,微信的用户数量已经超过了6亿,每日活跃用户1亿。2015年虽然没有官方的正式统计数据,但随着智能手机的普及,微信使用者的数量的增长是非常迅猛的。由于它是跨平台,跨通信运营商的,各行各业的企业和机构都开始进驻微信公众平台,积极探索适合行业特点的微信服务方式,探寻新的商机。图书管理系统作为一项公共的服务平台,十分必要探索这一新的服务模式。本文在借鉴和参考其他行业和现在已经拥有的图书馆平台案例,探索基于微信服务的图书管理系统的可行性分析、总体设计思路和实现的关键技术。
2 可行性分析(Feasibility analysis)
2.1 图书馆微信服务需求分析
从目前微信的用户来看,年龄段主要分布在19岁到40岁,学历上以专科及其以上学历为主,由此可见目前的在校的大学生正是微信用户的生力军。这就要求学校的各项服务也要跟上时代的发展,其中包括图书馆服务。国内图书馆微信服务是从2003年开始的,到2015年已经有大量的图书馆开展了这项业务。作为主要信息服务中心的高等院校图书馆,随着微信接口的不断发展,实际上是非常迫切需要建立适应时代需求的微信信息服务平台。图书馆微信服务是符合时代需求的高新技术产品,是被广大用户所需要的。
2.2 图书馆微信服务平台建设可行性分析
图书馆微信服务平台并不是由我们第一个提出的,已经有一些相对成功的案例,例如:另外其他的行业已经成功探索了一些应用案例,例如,商业银行、医院、酒店、京东等各类电商都已经开始使用这个平台;交通广播、等开始建立公众账号推送精选内容。每一个行业都在尽其所能的积极探索适合本行业特点的微信服务方式,并取得了很好的成果。图书馆微信平台可以借鉴这两种成功的案例,它的构建是可行的。
对于微信公众平台,由于它是开放性质的,所以它的用户是不受限制的,个人可以免费申,企业以及其他的机构也可以。同时微信公众平台开放了其API接口,为第三方开发者提供详细的开发文档和代码,第三方开发者可以设计并实现基于开放接口的服务平台。由此可见,它的技术是可行的。
3 图书馆平台搭建(Library platform construction)
3.1 微信公众平台功能简介
微信公众平台提供了最基础常规的功能,包括数据统计、用户管理、实时消息、消息群发、素材管理、设置、一对一交流等。2013年8月,微信公众平台将用户分成订阅号和服务号两种类型。订阅号一天之内可以发送一条群发消息,这条消息将会在用户的订阅号文件夹中显示出来,但是用户不会收到即时消息提醒。因此,订阅号主要的服务是为用户提供信息和资讯。服务号为用户提供服务。服务号一个月内群发信息上线为四条,在发给用户的消息时,会显示在用户的聊天列表中,同时将会提醒用户发送消息了。
用户根据需要选择注册订阅号或者服务号。两种注册用户登录微信平台,都可以通过首页查看数据统计信息,可以查看用户信息例如,每日新增订阅人数,每日接受消息数;可以查看像送达人数,阅读人数和转发人数等的统计信息。打开实时消息,可以看到用户使用账号实时消息和历史消息,同时也可以对用户的消息进行标星。打开用户管理,可以对用户进行分组管理,可以新建分组,把家人、每个年龄段的同学、每个单位的同事、每个时期的朋友放入不同的组,也可以把某些不友好的或者不想联系的人加入黑名单。打开消息群发,可以给用户发送语音、文字、图片、视频等类型的消息,也可以根据具体的需要选择接收消息的用户群。打开素材管理模块,可以图片、语音、视频、文字等素材进行上传、删除、保存等管理。打开设置管理,可以对头像、功能说明和二维码等信息进行设置和维护。
3.2 图书馆微信服务平台的搭建
图书馆微信服务平台是在微信公众平台的基础上建立起来了的,它继承了微信公众平台所有的基础功能,它是基于微信消息接口开发的。微信平台只是提供了一个接口,第三方用户才是它真正的开发者。微信公众平台给第三方用户预留了一个接口,用户只需要考虑如何将自己开发的平台同微信接口无缝对接就可以了。图书馆微信服务平台是千万种的第三方平台之一,因此它不需要考虑微信平台已经有的基础功能,只需要考虑本身的功能建设和对微信公众平台的接口就可以,包括架设接口的基础网络、部署服务器、设计消息接口、高效的系统架设计构。在部署基础网络时,要考虑如何购买假设性价比高,符合需要的服务器硬件平台,是否申请域名,配置对外开放的网络IP地址。WEB服务器的端口一般采用80端口。在平台系统设计时,要设计和开发相应的自定义菜单,要注册一个微信公众账号,用于填写平台单位的基本信息。
3.3 第三方消息接口服务原理
公众平台接口提供第三方平台的接口的信息传递的能力。信息的传递过程是,首先用户把相关消息发送给公众号,然后微信公众平台服务器对接入的网址进行消息推送,最后第三方服务器通过响应包回复[2]。在信息的传递过程中可以通过“POST”主动“POST”到微信服务器,即第三方服务器把要发送的内容、用户名和用户标识用固定的格式发给微信服务器,微信服务器收到信息后解析XML文档,最后将内容发送给用户。例如,第三方平台想要给用户小王推送一条信息“窗边的小豆豆这本书很好”,首先服务器将要发送的内容“窗边的小豆豆这本书很好”和小王的openid发送给平台接口,平台接口进行xml封装,然后发给微信服务器,微信服务器收到信息就知道要做什么,通过解析XML,把“窗边的小豆豆这本书很好”内容发给了小王。
除了主动传递,还有被动传递方式。即当微信用户点开公众号,微信服务器可以主动去接口获取数据,例如,用户小王给公众号发送“可以介绍一下你们的服务么”,微信服务器就会将内容和用户小王的用户标识发送到第三方的服务器上。第三方根据请求进行处理,然后把结果再次发送给微信服务器。微信服务器除了保存某些必要的接口,其他的资源是需要放在第三方的服务器上的。
4 关键技术(Key technology)
(1)消息接口的实现方案
微信官方提供的消息接口实现方案是基于PHP网站构建技术的,Web服务器采用的是apache。实际上消息接口的实现方案不仅仅是这一种php+apache、JAVA、.NET等网络编程技术像都可以代替php,同理tomcat、iis等都可以作为WEB服务器。系统架构师可以根据需要构建适合自己单位的接口技术实现方案。设计和实现用于接收信息参数的方法,用于验证接口合法性的方法,用于身份验证的方法等。
(2)消息推送的格式实现方法
消息推送是微信用户向公众账号发送消息。微信用户不仅可以推送文本消息和图片消息,它也可以将语音、视频、地理位置和链接消息推送。在推送的过程中是有一定限制的,例如文字限制在600字以内,图片大小不超过两兆,bmp、png、jpeg、jpg、gif格式均可以。以视频信息为例,具体推送消息的XML结构中要有开发者微信号ToUserName;微信用户发送账号FromUserName为;CreateTime代表消息创建时间;MsgType是指视频为video;MediaId是指视频消息媒体id,可以调用多媒体文件下载接口拉取数据;ThumbMediaId为视频消息缩略图的媒体id,可以调用多媒体文件下载接口拉取数据;MsgId消息id。
消息解析是指当第三方消息接口服务器收到用户推送的信息后,将消息进行解析。具体解析的内容为开发者微信号(ToUserName)、发送账号(FromUserName)、信息类型和信息内容等关键信息进行解析,具体实现可以参考文献[2]。
(3)消息回复的格式和消息封装方法
对于任意一个POST请求,传递的信息不论是文本、图片、还是语音、视频,或者是音乐,开发者都会根据不同信息格式,给出不同的响应,响应包的格式是xml结构。这个过程就是消息的回复,它是第三方消息接口自动回复的。具体的格式请参考文献。如果能够将这个消息回复的过程进行打包,把文本回复封装成一个函数、把图文回复封装成一个函数、同样把语音回复、视频回复等都分别分装成函数,在需要回复文本的时候直接调用文本封装函数,在需要回复视频的时候直接调用视频函数。同样回复消息的结构也是xml结构。具体的封装格式可以参考文献[3]。
5 结论(Conclusion)
经过测试与运行,基于微信服务的图书馆平台已经在运行,主要实现了以下几方面的功能,一是消息主动推送。当发生紧急事件或者非常有价值的信息时,可以通过消息推送功能将信息推送给每一位读者。同时将读者经常提到的问题像开馆的时间,馆藏分布等形成标准答案,方便读者查询。二是记录功能。将微信接口与图书馆门禁系统以及自修座位充分结合,来记录图书馆的人员数目和自修座位的剩余情况。当进入借阅室的,通过门禁就记录一次,当学生进入自修区域也要记录一次。这样可以随时掌握图书馆状况,学生可以根据图书馆人数的多少来图书馆借书、自习,不会造成人员过多的情况。
微信作为一种新兴的即时通讯技术和产品,目前仍然在不断地成长和完善之中。开发虽然简单,但是也有很多地方容易出错,例如验证token。另外开发测试需要在手机上进行,不是很方便。第三方服务平台的发展主动权仍然掌控在腾讯公司,开放的自由比较少。尽管如此,微信如火如荼的发展起来,各种业务和应用都延伸到微信平台上,基于微信平台的图书管理系统为学生提供了一个崭新的环境,不同于过去,这个环境是随着社会的发展,会适应时代的发展。
参考文献(References)
[1] 百度百科.微信[EB/OL].http://baike.baidu.com/subview/5117297/15145056.htm,2016.6.20.
[2] 优白工作室.微信的消息类型解析[EB/OL].http://www.cnblogs.com/logoove/p/3413641.html,2015.6.29.
[3] 孔云,等.图书馆微信服务平台的设计与实现[J].图书馆论坛,2014(2):90-95.
作者简介:
苏红丽(1979-),女,硕士,讲师.研究领域:计算机网络.