潘旭武
摘 要:为拓展高校教务处现代化服务渠道,针对高校教务处对微信关注和应用的不足,基于微信公众平台的开发模式并利用其提供的接口,本课题设计了与学校已有的教务管理系统能信息实时交换的教务处微信服务平台,实现了利用微信APP完成用户信息绑定、课表查询、成绩查询、信息推送等多种功能。通过微信公众平台在教务处的应用,不仅丰富了教务处的服务形式,还拉近了教务处与师生的距离。
关键词:微信;微信公众平台;开发模式;教务处
中图分类号:TP393 文献标志码:B 文章编号:1673-8454(2016)11-0051-03
微信公众平台是腾讯公司为个人、企业和组织研发的业务服务和用户管理平台,与微信APP一脉相承。通过微信公众平台打造的微信公众账号能为用户提供消息推送、信息查询、宣传营销等多种个性服务[1]。
由于微信服务构建成本低、用户基础庞大、互动性强、功能全面等优势,微信公众平台已在多行业普遍使用[2]。高校也开始利用微信为师生提供教务管理服务,但目前国内高校教务处在使用微信上存在如下不足:(1)深入开展微信服务的高校偏少;(2)利用微信宣传推广的力度不够;(3)技术人员匮乏,微信服务平台建设力量薄弱;(4)尚未充分利用微信平台所提供的用户使用行为分析工具,不完全了解用户需求及缺乏对用户使用状态的有效跟踪。本课题在研究微信公众平台的基础上,设计与开发了教务处微信服务平台,成功实现微信与学校已有教务管理系统的对接,旨在利用微信服务的便利性为学生、教师和管理人员提供个性化、高效的服务。
一、教务处微信平台设计方案
1.设计思路
微信公众平台提供了两种消息管理模式:编辑模式和开发模式,两种模式不能同时选择。编辑模式所有操作在微信官方服务器上,操作简单又节约成本,但是功能扩展性差,针对这一弱点微信公众平台推出了基于第三方消息接口的开发模式,开发模式提供了丰富的接口[3]。在研究了微信公众平台提供的管理模式和各种接口的基础上,为了实现微信服务与教务处已有的教务管理系统互相连接,实现课表、排考、教室和成绩的实时查询功能,本课题确立了开发模式下构建教务处微信平台的设计思路。在开发模式下,微信公众平台虽然保留了消息群发和一对一交流的功能,但为了方便管理和功能扩展,本课题消息处理方法主要采用基于编程的关键词自动回复。
2.服务流程及构架
基于上述设计思路,教务处微信平台服务架构如图1所示,具体流程为:
(1)管理员在微信公众平台启用开发模式并配置消息接口,接入教务处开发的微信消息处理模块;
(2)微信用户通过http传输协议向微信公众号发送消息指令,微信服务器将消息转发至微信的官方服务平台;
(3)根据微信公众平台提供的第三方消息接口将消息发送给预先开发的消息处理模块;
(4)根据用户发送消息内容的关键词,消息处理模块按照一定的业务规则生成回复消息。消息处理模块是教务处微信服务平台的核心,它负责分析消息指令、调用相应服务子模块和生成回复消息并转发给微信公众平台。
(5)微信用户最终接收到微信服务器回复的信息,完成微信的一次信息传递。
二、系统实现
1.微信账号类型的选择
微信公众平台提供了三种账号类型:订阅号、服务号和企业号,三种不同类型的账号提供的功能不同[4],见表1。
不同的账号类型面向不同需求的用户:订阅号偏向为用户提供信息和咨询,服务号旨在为用户提供服务交互,企业号则为组织内部通信而设计。高校教务处在申请微信账号时要根据自身的需求选择申请合适的微信账号类型。要关注企业号,用户必须要提供身份验证,这就限制了企业号在高校的使用。目前,微信在高校教务处成功的案例账号类型几乎都选择订阅号或者服务号。订阅号每天可以群发一条消息,且认证后的订阅号所提供的服务接口能满足高校教务管理的绝大部分需求,因此,为了兼顾教务处的信息传达和服务交互需求,本课题选择了订阅号。
2.微信公众平台与教务管理系统的对接
课表查询、成绩查询等多个功能的实现需要从教务管理系统中读取记录,然后再发送到微信公众平台上,这就要求微信公众平台和学校现有的教务管理系统对接以满足微信服务器和教务管理服务器数据交换的需求。在微信公众平台高级模式下启动开发模式后,输入学校教务管理系统的URL地址和Token令牌。
微信服务器将以GET方式发送请求到学校教务管理系统的URL上,GET请求带有四个参数:signature(微信加密签名,signature结合了开发者填写的Token参数和请求中的timestamp参数、nonce参数)、timestamp(时间戳)、nonce(随机数)和echostr(随机字符串)。消息处理服务器将检验signature,若确认此次GET请求来自微信服务器,表示接入生效,反之接入失败。验证教务管理系统的URL有效性成功后即表示微信服务器与教务管理服务器的对接成功。
3.消息格式
当微信用户向教务处微信公众账号发消息时,微信服务器将POST消息的XML数据包到开发者填写的URL上。以学生查询课表为例,推送XML数据包结构如下:
数据包中的ToUserName和FromUserName是消息接收者和发送者的微信号,微信号不是微信的昵称,是微信公众平台分配给每个用户对应不同的公众号分配的唯一的OpenID。MsgType是消息的类型,这里是文本消息,也可以是图片、语音等其他多媒体消息格式。Content是消息发送的内容,对于该消息,微信用户以“课表”作为关键词检索本人的课表。
4.服务子模块的实现
图1的教务处微信平台服务架构中,服务子模块是微信公众平台和教务管理系统数据交换和加工的中心,在开发模式下微信可以自由添加消息处理逻辑,因此本构架下服务子模块可以根据各个高校教务系统开放程度添加需要的服务。我校微信实现的需要读取教务管理系统数据的服务有用户绑定和解绑,课表查询,成绩查询和教室查询。以学生查询课表为例,其消息流程见图2。
微信平台首先判断用户是否为新关注的用户,如果是,则给出欢迎信息和系统使用的帮助信息;服务子模块首先判断消息指令是否正确,如果正确,再判断学生账号是否已经绑定,绑定是指用户的微信号是否和教务系统的账号绑定(如用户将自己的微信号和教务管理系统的学号绑定),再进入调用课表查询程序生成XML文件包发回微信平台,用户将收到本学期的课表信息。
三、用户行为分析
微信公众平台提供了丰富的统计功能:用户分许、图文分析、消息分析和接口分析功能。微信平台管理员可以利用用户行为统计分析功能来详细掌握微信平台的运行情况,了解用户增长情况、用户的属性、图文消息发出后七天内的阅读人数、消息发送的人数、消息发送的次数、以及基础消息接口的使用情况。图3为接口调用次数趋势图,此图可以清晰的了解用户调用接口的次数,掌握用户一段时间内的需求。
四、结束语
本课题将微信公众平台与学校现有的教务系统对接,实现了利用微信APP完成用户信息绑定、课表查询、成绩查询、信息推送等功能,笔者坚信随着技术的发展,微信公众平台在高校教务管理活动中拥有非常广阔的前景。为实现微信在教务管理活动中深层次应用,还有很多问题有待解决,如:(1)微信公众平台自身功能如数据传输速度,支持的语音素材规格等尚无法完全满足教务管理的需要;(2)主动通过微信推送教务管理信息的意识不够,推送内容的质量不高;(3)本校教务处微信服务平台的服务尚处于提供信息查询等基本功能的初级阶段,需要进一步开发诸如选课管理、考试报名、学生评教等高级应用。
参考文献:
[1]王萍.微信移动学习的支持功能与设计原则分析[J].远程教育杂志,2013,219(6):34-41.
[2]江波,覃燕梅.基于微信的移动图书馆APP服务系统设计与实现[J].现代情报,2013,33(6):41-44.
[3]腾讯公司.公众平台开发者文档[EB/OL].http://mp.weixin.qq.com/wiki/home/index.html,2015-10-22.
[4]腾讯公司.公众平台服务号、订阅号、企业号的相关说明[EB/OL].http://kf.qq.com/faq/120911VrYVrA130805by M32u.html,2015-10-22.
(编辑:王晓明)