您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 营销创新 > 基于微信公众平台的图书馆服务系统设计与实现
武汉职业技术学院学报二一八年第十七卷第二期︵总第九十四期︶基于微信公众平台的图书馆服务系统设计与实现谢海欧,李富仁(湖南理工学院图书馆,湖南岳阳414000)摘要:针对当前高校图书馆公众平台集成能力不足和缺乏个性化、精准化的知识服务,提出构建基于微信公众平台的高校图书馆服务系统的设计方案,阐述了平台的关键模块的实现技术。根据用户的需求以及原有PC端提供的服务,采用PHP语言与MySQL数据库,开发一个以图书馆馆藏服务为核心功能的个性化服务定制系统。主要包含微信公众平台交互、手机网页交互以及后台数据管理模块。在湖南理工学院实际运行三年来表明,运行稳定,系统能够满足用户的基本需求,为广大用户提供了移动图书馆服务渠道。关键词:微信公众平台;用户忠诚;图书馆服务中图分类号:G252文献标识码:A文章编号:1671-931X(2018)02-0061-06收稿日期:2018-03-02基金项目:湖南省教育厅一般项目野高校数字图书馆用户价值与忠诚度关系实证研究冶渊项目编号院HN20141205冤曰2016年湖南省普通高等学校教学改革研究项目野基于大学生创新创业教育的高校图书馆创客空间研究与实践冶渊项目编号院551冤遥作者简介:谢海欧渊1982-冤袁男袁湖南邵阳人袁硕士袁湖南理工学院图书馆馆员袁研究方向院创客素养尧知识发现尧数据挖掘遥一、引言微信作为一种即时通讯产品袁是移动互联网的核心入口遥2017年1月上线的微信小程序向我们展示了其连接服务与内容的能力袁为微信的延伸和和在各行业的使用增添无限的可能和想象空间遥各行各业纷纷开通微信公众服务号尧订阅号尧小程序袁把微信当成媒体平台尧服务平台尧购物平台等来开展各种宣传尧营销尧搜索尧购物尧支付尧实体店预约等服务[1]遥据CNNIC第40次中国互联网络发展状况统计报告袁手机网民占比达96.3%袁高校图书馆的用户基本人手一个手机等移动设备遥高校图书馆作为高校的信息服务中心袁应基于微信这一高校读者移动互联网核心入口工具袁进行二次开发袁扩展图书馆特色服务袁提供图书馆服务能力遥本文通过微信提供的API接口袁基于湖南理工学院图书馆微信公众平台二次开发袁让图书馆服务在移动互联网上延伸袁扩展湖南理工学院图书馆的服务渠道袁同时给其他高校图书馆建设微信公众平台提供参考遥二、相关服务现状针对高校图书馆微信公众平台的设计袁国内外进行了大量研究遥2017年12月26日袁在清博指数里分类取野分类冶关键词取野图书馆冶检索袁509家图书馆开通了微信平台袁通过认证的图书馆微信账号421个遥通过抽取栏目分析袁内容推送上集中在馆内资讯尧活动与讲座预告尧资源介绍尧图书推荐等内容曰微信回复方面袁大部分是人工回复袁只有华中科技大学图书馆尧南京大学图书馆等少数图书馆采用智能回复曰自定义菜单主要集中在馆内动态尧公告尧通知资源动态尧查询书目尧续借等方面遥·院校治理·61武汉职业技术学院学报二一八年第十七卷第二期︵总第九十四期︶图1微信运行机制比较有特色的栏目发现袁馆藏查询和资源一站式检索是链接到图书馆网页的馆藏查询尧资源一站式检索门户的链接曰数字资源则是链接了博看期刊尧超星阅读等商家提供的网页曰阅览室座位查询尧座位预约也是链接了商家提供的网页[2]遥综合调研袁我们发现我国高校图书馆微信没有充分利用微信的连接能力遥所提供的服务各自为政袁没有统一用户ID和统一的界面袁集成能力不足袁更缺乏个性化尧精准化的知识服务遥在智慧校园建设的浪潮下袁打造用户ID统一的图书馆微信公众平台不仅为给读者带来智慧便捷的移动服务袁提升用户体验曰而且为做好用户画像做好数据基础遥三、设计方案(一)系统功能模块在参考大量文献和实际案例的调研基础上袁我们确定了与PC端网站和移动APP保持一致尧融合微信的连接能力尧注重个性化移动服务尧为高校信息化建设采集数据四大原则遥根据这些原则袁我们将其他高校图书馆的做法和湖南理工学院的具体需求建立需求池袁邀请20名优秀读者和5位图书馆馆员对需求打分袁得出我们的具体需求袁将他们进行聚类袁形成如下的功能规划院1.信息推送院将图书馆读书活动尧资源试用尧讲座尧图书馆新闻尧精品图书等消息推送给师生袁还有预约提醒等遥2.智能问答院开馆时间尧馆藏分布尧参考咨询服务尧数据库使用等问题的自动机器人服务遥通过自建智能数据库袁通过编程实现智能回答遥当问题无法自动解决时袁人工解决袁并把好的答案写入智能回答数据库遥3.信息查询院图书馆借阅信息查询袁馆藏查询袁新闻阅读遥4.信息交互服务院师生对信息服务的咨询袁即用户对图书馆意见或建议的反馈遥5.手机网站院将微信交互的信息使用手机网页显示出来袁以另外一种形式呈现袁给用户多种获取信息的渠道遥6.后台管理院通过后台系统来控制微信交互端与手机网站交互端的内容显示袁实现内的动态添加修改删除遥主要包括系统配置尧内容管理袁微信交互内容管理以及后台管理员的管理遥(二)系统架构根据需求袁本系统分为微信公众平台模块尧手机网站模块尧后台管理模块遥模块的具体架构设计如下院1.微信公众平台模块在本模块中袁用户通过关注的湖南理工学院图书馆微信公众平台与系统进行交互袁模块中采用面向对象开发模式袁将每一个功能模块作为一个对象来处理袁这样降低了系统在逻辑上的耦合度尧使系统便于维护与拓展遥其数据流程大致为院用户操作渊点击菜单或发送文本冤寅微信服务器渊接收尧处理和转发用户消息冤寅开发者服务器渊接收尧处理和回复数据冤寅微信服务器渊接收尧处理和转发系统消息冤寅微信用户渊接收消息冤遥本模块的运行机制如图1所示院2.手机网站模块本系统在手机网站中采用渊MVC冤模型-视图-控制器设计模式遥MVC是一种将应用程序的逻辑层和表现层进行分离的方法遥模型渊Model冤代表数据结构遥通常来说袁你的模型类将包含取出尧插入尧更新你的数据库资料这些功能遥视图渊View冤是展示给用户的信息遥一个视图通常是一个网页袁在视图中袁一个视图也可以是一个页面片段袁如页头尧页尾遥它还可以是一个RSS页面袁或任何其它类型的野页面冶遥控制器渊Controller冤是模型尧视图以及其他任何处理HTTP请求所必须的资源之间的中介袁并生成网页遥在系统中使用了Smarty模板引擎来使模型与视图通过控制器有序的结合起来遥在这个模块的页面中袁使用Ajax异步请求以及一个Server服务代码文件来从微信公众平台模块的数据模块中获取数据袁目的是为了复用一些共同的东西袁把一些各层都用到的东西抽象出来袁进行统一封装袁以减少代码的重复编写遥由于移动用户在网络方面有极大限制袁在本模块中不应该将请求对象化袁而是将不同的请求封装不同的文件袁这样可以加速服务器对用户的响应遥同时使用Smarty引擎生成缓存文件袁减少服务器不必要的处理遥大致架构如图2所示院3.后台管理模块在本系统中后台采用了和手机网站同样的架构MVC袁在后台管理过程中袁在这个模块的开发中加入用户系统服务器发送处理后的回复信息发送用户请求信息服务器回复消息服务器发送系统用户操作信息微信服务器谢海欧,李富仁:基于微信公众平台的图书馆服务系统设计与实现InstitutionalGovernance院校治理62武汉职业技术学院学报二一八年第十七卷第二期︵总第九十四期︶谢海欧,李富仁:基于微信公众平台的图书馆服务系统设计与实现图2手机网站运行机制图3后台文件夹分布面向对象的思想袁将功能整合为一个对象袁不同的页面对应不同的函数袁在目录结构上应该分为控制器袁视图袁模型袁公共文件袁函数库等几个模块遥在模块中使用自动加载文件类袁加入注册树模式来提高后台系统的运行效率遥在物理结构上袁把后台文件独立出来袁这样可便于后期的维护与开发遥其文件结构如图3所示院4.汇文数据获取模块在需求中袁需要获取读者的在图书馆的个人信息以及馆藏信息袁在这个系统中袁我们单独将这个获取的过程封装为一个单一入口的模块袁为了数据的安全性袁在入口处添加认证处理机制袁当认证失败时返回错误操作信息而不返回用户任何汇文数据库中的信息来保证数据的安全遥同时因为图书馆在安全方面做了一些处理袁只能够允许内网的服务器访问汇文数据库袁故将汇文数据获取独立出来放置在图书馆服务器上遥本模块大致分为以下几个部分院渊1冤入口文件院处理验证以及更具请求调用相对应的类中的方法袁封装数据返回曰渊2冤公共文件院MySQL以及Oracle数据库分装类和配置曰渊3冤获取和设置文件院将获取和设置信息分装为两个不同的类文件袁便于维护以及系统请求遥四、关键模块的实现我们采用nginx+php+mysql+oracle环境进行开发袁工具上选择ZendStudio遥ZendStudio集成开发环境拥有PHP所有必须的开发部件袁为专业开发人员提供了很大的便利袁开发人员可以使用这个软件完成PHP的整个开发周期遥PHP是一种服务器端脚本语言袁专注于WEB开发袁市场超过80%遥PHP基于开源的LNMP袁适合快速开发尧开发成本低袁可在几乎所有的操作系统和平台中免费的部署在大多数Web服务器上遥MYSQL源码开放袁一般中小型网站的开发都选择MySQL作为网站数据库遥由于其社区版的性能卓越袁搭配PHP和Nginx可组成良好的开发环境遥图书馆PC端使用是汇文图书馆管理系统袁它是一个联机公共目录查询系统渊OPAC冤遥它使用的数据存储技术是Oracle数据库遥(一)通用模块实现为了避免代码的重复袁将一些在各个模块都需要用到的代码独立封装出来袁供系统其他模块调用遥在本系统中将访问MySQL数据库的操作封装为mydb类遥有关mydb类的成员变量与方法说明如院1.成员变量渊1冤private$link_id院数据库连接资源ID曰渊2冤private$handle院数据库连接句柄曰渊3冤private$is_log院是否开启日志记录曰渊4冤private$time院记录查询时间遥2.方法渊1冤publicfunction__construct渊$dbname=''冤院构造方法袁用来初始化数据库连接参数以及创建日志相关代码曰渊2冤publicfunctionconnect渊$dbhost袁$dbuser袁$dbpw袁$dbname袁$pconnect=0袁$charset='utf8'冤院连接数据库函数曰渊3冤publicfunctionquery渊$sql冤院数据库查询函数袁返回查询后的结果曰渊4冤publicfunctionget_one渊$sql袁$result_type=MYSQL_BOTH冤院从数据库中按查询语句获取一条记录曰渊5冤publicfunctionget_all渊$sql袁$result_type=MYSQL_BOTH冤院从数据库中根据查询语句获取全部记录曰渊6冤publicfunctioninsert渊$table袁$dataArray冤院插入数据库记录曰渊7冤publicfunctionupdate渊$table袁$dataArray袁$condition=冤院更新数据库记录曰渊8冤publicfunctiondelete渊$table袁$condition=冤院删除数据库记录曰渊9冤publicfunctionfetch_array渊$query袁$result_type=MYSQL_ASSOC冤院返回查询结果集曰渊10冤publicfunctionnum_rows渊$results冤院获取查询记录条数曰渊11冤publicfunctionfree_result渊冤院释放结果集遥缓存Smarty视图View模型Model控制器Controller公共文件Common后台管理系统文件结构客户端服务器返回页面数据用户请求首页网站页面数据源获取数据手机网站源程序模板引擎存在缓存时当不存在缓存时缓存不存在时生成缓存文件模板页面缓存开发者服务器静态页面模板InstitutionalGovernance院校治理63武汉职业技术学院学报二一八年第十七卷第二期︵总第九十四期︶图4微信菜单界面在该类中还存在几个记录查询时间的函数以及记录日志的函数袁这些函数是为了系统的安全而设计的遥以上函数中只是简单的封装了系统与MySQL数据库简单的交互操作袁例如系统想查询user表中的
本文标题:基于微信公众平台的图书馆服务系统设计与实现
链接地址:https://www.777doc.com/doc-7912493 .html