首页 期刊简介 最新目录 过往期刊 在线投稿 欢迎订阅 访客留言 联系我们
新版网站改版了,欢迎提出建议。
访客留言
邮箱:
留言:
  
联系我们

合作经济与科技杂志社

地址:石家庄市建设南大街21号

邮编:050011

电话:0311-86049879
友情链接
·中国知网 ·万方数据
·北京超星 ·重庆维普
经济/产业

信息类别

首页/本刊文章/第469期/信息/科技/正文

发布时间

2013/7/1

作者

□文/倪志宏

浏览次数

1285 次

基于微信公众平台的掌上高校网络信息服务系统研究
  [提要] 针对当前高校在信息发布、查询、问题反馈等方面存在的问题,提出使用微信公众平台完善高校网络信息服务系统的方法,就如何在高校综合信息服务系统中应用微信公众平台进行交流探讨。
  关键词:微信;微信公众平台;移动互联网
  中图分类号:F49 文献标识码:A
  收录日期:2013年5月8日
  一、前言
  随着高校信息化建设的迅速发展,多数高校已经构建了自己的网络信息服务系统,学校中各教学单位、管理机构大多已经构建了自己的网站,资产、教务、图书、财务等均已实现网上管理。这些网络信息系统的使用,极大地提高了办公效率,方便了师生获取相关信息。但是,多数师生在使用计算机网络时并不在意学校网站上发布的通知公告,重要通知不能在网站上发布,还需要使用传统手段与其配合才能及时告知相关师生。另外,由于受到计算机终端数量的限制,网上选课、网上评教等工作需要分批次进行,长时间占用学校机房资源,对教学秩序和教学质量产生一定的影响。本文以此作为研究背景,提出使用微信公众平台解决通知及时下发和操作终端不足的问题。
  二、基于微信公众平台的掌上高校网络信息服务系统
  (一)微信及微信公众平台简介。微信是腾讯公司于2011年1月21日推出的一款通过网络快速发送语音短信、视频、图片和文字,支持多人群聊的手机聊天软件。用户可以通过微信与好友进行类似于短信、彩信、语音对讲等方式的联系,截至2013年1月24日,仅用3年时间,微信用户已达3亿,特别是在大学生群体中,微信的使用率极高,几乎是大学生手机上必装的应用。
  微信公众平台是腾讯公司在微信的基础上新增的功能模块,通过这一平台,个人和企业都可以打造一个微信的公众号,实现和特定群体的文字、图片、语音的全方位沟通、互动。利用微信公众平台,公众号可以直接推送重要的通知消息到用户的手机,还可以设定关键词进行自动回复,也可以一对一地和用户进行交流。除此之外,微信公众平台还提供了“开发模式”,使用微信公众平台的开发接口,公众号可在自身服务器上接收用户的微信消息,并可按需回复相应用户。在线翻译、在线订票、天气预报等应用已经在微信公众平台上相继上线。
  (二)微信公众平台注册与推广。在使用微信公众平台服务之前需注册一个微信公众账号,微信公众账号需使用电子信箱进行绑定注册,注册过程较为简单,使用浏览器登录微信公众平台网站:http://mp.weixin.qq.com/,找到“立即注册”链接,点击进入注册页面,按注册要求填写基本信息,邮箱激活,进行个人信息或单位信息登记,最后完善公众号信息即可。
  注册成功后,登录微信公众平台后台,在设置页面中的账号信息处会看到“微信号”和“二维码”,通过在微信搜索微信号或扫描二维码图片即可关注相关公众号。将含有微信号和二维码的说明信息发布到网站,张贴到学校海报栏,很快就会得到了学生们的关注。
  (三)微信公众平台消息接口。公众平台消息接口为开发者提供与用户进行消息交互的能力。对于成功接入消息接口的公众账号,当用户发消息给公众号,微信公众平台服务器会使用HTTP请求对接入的网址进行消息推送,第三方服务器可通过响应包回复特定结构,从而达到回复消息的目的。
  1、网址接入。启用“开发模式”时需要提供URL和Token两个参数,其中URL必须以“http://”开头,且只支持80端口,Token由开发者任意填写,用作生成签名。当公众平台用户提交这两个参数时,微信服务器将发送GET请求到填写的URL上,并且带上以下四个参数,如表1所示。(表1)
  开发者通过检验signature确认此次GET请求是否来自微信服务器,如果校验通过,原样返回echostr参数内容,接入生效,否则接入失败。加密/校验流程如下:
  ①将token、timestamp、nonce三个参数进行字典序排序;
  ②将三个参数字符串拼接成一个字符串进行sha1加密;
  ③开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。
  2、消息推送。当普通微信用户向公众账号发消息时,微信服务器将POST该消息到填写的URL上。以推送文本消息为例,消息xml的结构及相关参数说明如下:
  <xml>
  <ToUserName><![CDATA[toUser]]></ToUserName>
  <FromUserName><![CDATA[fromUser]]></FromUserName>
  <CreateTime>1348831860</CreateTime>
  <MsgType><![CDATA[text]]></MsgType>
  <Content><![CDATA[this is a test]]></Content>
  <MsgId>1234567890123456</MsgId>
  </xml>(表2)
  3、消息回复。对于每一个POST请求,开发者在响应包中返回特定xml结构,对该消息进行响应(现支持回复文本、图文、语音、视频、音乐和对收到的消息进行星标操作)。微信服务器在五秒内收不到响应会断掉链接。以回复文本消息为例,回复消息的xml的结构及相关参数说明如下:
  <xml>
  <ToUserName><![CDATA[toUser]]></ToUserName>
  <FromUserName><![CDATA[fromUser]]></FromUserName>
  <CreateTime>12345678</CreateTime>
  <MsgType><![CDATA[text]]></MsgType>
  <Content><![CDATA[content]]></Content>
  <FuncFlag>0</FuncFlag>
  </xml>(表3)
  4、系统设计
  (1)系统架构的选择。通过微信“开发模式”接口,我们看到与微信进行信息交互的其实就是一个Web网站,构建一个Web网站在操作系统、Web服务器、开发语言及后台数据库等方面有多种选择,由于本系统功能较为简单,但访问量可能巨大,而且还可能需要经常针对一些特殊情况增加功能,因此我们选择LNMP(Linux+Nginx+MySQL+PHP)这种网站服务器架构。
  (2)程序流程和功能。程序流程如图1所示。(图1)系统有两个功能:数据查询和智能聊天。在数据查询这里我们目前实现了考场查询、考试分数查询、学生课表查询和自习室占用情况查询。智能聊天功能使用了一套基于AIML的PHP开源聊天项目,查询消息以外的其他对话将由这套系统进行智能答复,增加了系统的人性化和趣味性。
  三、结束语
  经过实际应用,系统运行良好,得到了近半数在校生的关注,通过公众平台发布的通知消息的浏览量远超传统网站,在公布考试成绩期间,日查询峰值达12万次,有效地解决了校内查询终端不足的问题,达到了预期效果。(作者单位:河北大学计算中心)

主要参考文献:
[1]百度百科-微信[EB.OL].http://baike.baidu.com/view/5117297.htm.
[2]百度百科-微信公众平台[EB.OL]. http://baike.baidu.com/view/9212662.htm.
[3]腾讯微信公众平台API文档[EB.OL].http://mp.weixin.qq.com/wiki/index.php.
[4]许登旺,邹天思,潘凯华.PHP程序开发范例宝典[M].人民邮电出版社,2007.
 
版权所有:合作经济与科技杂志社 备案号:冀ICP备12020543号
您是本站第 31451620 位访客