基于微信公众平台的电视节目查询及点播系统

2014-10-15 01:11舒捷舒展
九江职业技术学院学报 2014年3期
关键词:消息公众数据库

舒捷,舒展

(1.九江电视台,2.九江职业大学,江西九江 332000)

0 引言

微信是由腾讯公司推出的一款免费的手机即时通讯应用程序,自2011年初推出以来,用户数已超3亿。微信不仅表现形式多样,支持语音短信、视频、图片等多媒体类型,还具备地理位置定位,多人群聊等功能,支持android,symbian,BlackBerry,IOS,Windows Mobile等多种智能系统,拥有庞大的潜在用户群,同时朋友圈功能也具有极强的社交媒体性[1]。

微信公众平台是腾讯公司在微信基础功能上新增的一个面向个人和企业的信息推广及服务平台。个人和企业都可以申请微信公众号,实现和特定群体通过文字、图片、语音进行全方位的沟通与互动[2]。微信公众平台通过开放API接口,使得任何机构都可以针对此接口开发建立自己的第三方服务平台,实现机构业务的开展和推广,微信公众平台渐渐成为企业营销渠道和客户关系管理的新工具[3]。

现有的电视节目查询及点播系统,大多为基于网页的B/S结构和基于手机APP的B/S结构,单从满足基本的查询需求方面考虑,是完全能够胜任的。但随着微信用户的增长,微信公众平台业务的扩展,大多数的用户会寻求更为便利、集成化的服务。微信公众平台只需订阅相应的服务帐号,不需要记住任何网址,也不需要再去下载额外的软件,同时,通过简单的输入查询就能够得到相应的信息,从使用上来说,恰恰是符合了现代化便利性生活的需求。

本文将介绍如何构筑基于微信公众平台的电视节目查询及点播系统,实现微信用户对日常生活浏览电视节目的需求,并基于此系统探讨后续可扩展模块的研发与应用。

1 系统设计原理

微信公众平台的基本功能为群发推送、自动回复及一对一对话。微信公众平台的后台管理有编辑模式和开发模式,两种模式互斥存在[4]。编辑模式只提供简单的编辑界面,对设置的部分关键字进行自动回复,功能有限;开发模式则提供开发接口,通过开发人员上传自定义的代码包来实现更加个性化的服务。相较而言,开发模式无论是在功能实现方面,还是应用灵活性方面,甚至是后续功能拓展方面都较编辑模式更为适合本系统的设计与开发,故本系统采用微信公众平台的开发模式进行系统设置与开发。

图1 基于微信公众平台的票务系统设计原理图

本系统将基于微信公众平台提供的API接口,对微信用户推送到查询信息进行提取,通过接口程序的转换,向后台数据库发出查询请求,随后,在获取数据库返回的查询结果后,使用接口程序对结果进行转换,并通过微信公众平台将查询结果返回给微信用户,完成一次一对一的对话过程,如图1所示。在图上也可以很清晰看出,本系统完全可以和基于网页的C/S系统及基于手机APP应用的B/S系统并行使用,互不干扰,并不影响原有的各种服务。

2 系统功能及模块设计

本系统以面向用户日常生活浏览电视节目需求为主,实现对现有各个电视台的电视节目播放时间的查询及点播需求,返回满足用户查询条件的数据。

根据系统需求,结合微信公众平台,本系统主要分为以下几个模块:

1)开发模式启动与测试模块:在微信公众平台上开启开发模式,并对开发模式下的信息传递进行简单的测试;

2)消息接收模块:接收由用户发送过来的信息,并对信息数据进行提取;

3)数据库查询模块:使用信息接收模块提取的数据,向数据库发起查询操作,并获取数据库的查询结果;

4)消息回复模块:从数据库查询模块获取查询结果,并将其返回给用户;

3 系统具体实现

图2 基于微信公众平台的票务系统设计流程图

1)开发模式启动与测试模块

微信公众平台开发模式采用接口URL和Token(开发者签名)来实现网址接入。公众平台用户提交信息后,微信服务器将发送GET请求到填写的URL上,并带上signarture(微信加密签名)、timestamp(时间戳)、nonce(随机数)、echostr(随机字符串)四个参数。开发者通过将Token,timestamp,nonce三个参数进行字典排序、shal加密后与signarture进行对比,标识该请求来源于微信,并确认此次GET请求来自微信服务器,随后原样返回echostr参数内容,使接入生效,完成网址接入设置[5]。在本系统中Token根据项目功能设置为WeChat Ticket.

完成接口配置后,所有发送至本微信公众号的消息都将从微信公众平台服务器转发至接口URL,并由系统的后续模块完成信息的解析与回复。

2)消息接收模块

在每次本系统接收微信公众平台服务器转发的用户信息的时候,微信都会先带上上述校验信息,本系统通过对签名的校验来判断此条消息的真实性。在确定此消息真实有效后,本系统调用消息接收模块,对由微信转发过来的POST消息的XML数据包进行数据提取。微信支持的开发模式下用户能发送的消息类型有:文本消息、图片消息、语音消息、视频消息、地理位置消息和链接消息共六种。

以文本消息为例,其参数字段如下表:

表1 微信公众平台开发模式文本消息XML代码字段信息

至于其他类型消息,根据其MsgType字段值的不同,将会有不同的参数字段替换掉Content字段,在此就不冗述了。

鉴于本系统主要任务为实现对文本消息查询请求的回复,故现只讨论文本信息的处理过程。通过对微信转发到POST消息的XML数据包中MsgType类型进行判断,提取出Text类型消息的Context字段,并对字段按照一定的规则进行数据提取。这个规则一般是依据第一次用户关注本微信公众平台帐号时,由本系统推送出的帮助信息样本。

例:请输入要查询的节目名称——九江新闻

3)数据库查询模块

如图1所示,本系统直接调用已有的基于网页/手机APP的查询模块,无需再重新建立数据库查询模块,不仅提高了代码效率,优化了模块设置,同时也使得整个系统对数据库的操作标准化,提高了整体系统的安全性。

4)消息回复模块

图3 系统运行测试

当数据库查询模块完成查询操作后,会把查询结果传递给消息回复模块。消息回复模块将依次把broadcadate(日期),broadcasttime(播放时间),rebroadcast(是否重播),(视频链接地址)字段进行整合,形成新的Content字段,并结合先前接收到的POST的XML数据包中的信息,生成一个Get包返回给微信公众平台服务器。随后微信公众平台服务器根据Get包中的ToUserName,MsgType,Content,将返回的消息按照文本类型发送给指定的用户,即响应用户的查询请求。

至此,整个系统完成一次用户发送查询,系统后台响应查询并返回查询结果的操作。

4 结束语

电视节目查询及点播是日常生活电视浏览的常用的服务需求,通过建立本系统能够满足微信用户的需要,为人们出行提供更为便利的帮助。同时,微信公众平台仍在不断完善和发展中,根据其发展趋势,可以推测,后续的发展应该会整合流媒体播放、用户自定义列表等功能。根据其发展方向,本系统后续可进行在线点播、自主节目单设定等功能模块的设计与开发。

〔1〕张蓓,窦天芳等 .开发模式下图书馆微信公众平台服务的设计与实现 [J].现代图示情报技术,2014,(01).

〔2〕孔云,廖寅等 .基于微信公众帐号的图书馆移动信息服务研究 [J].情报杂志,2013,(09).

〔3〕王保成,邓玉 .微信公众平台在国内图书馆服务中的应用实践研究 [J].图书情报工作,2013,(20).

〔4〕黄浩 .基于OTT即时通讯工具的供电智能互动服务系统研究 [J].信息通信,2013,(10).

猜你喜欢
消息公众数据库
公众号3月热榜
公众号9月热榜
公众号8月热榜
公众号5月热榜
一张图看5G消息
数据库
数据库
数据库
数据库
消息