APP下载

基于微信公众平台的学校教育互动实践

2015-06-01金琦

中国信息技术教育 2015年9期
关键词:服务器公众微信

金琦

编者按:当下很多学校正在尝试或已经搭建了属于自己学校的微信公众平台。不同的学校对微信公众平台的理解不同,也决定了微信公众平台具体的教育实现理念。但无论如何,由于微信公众平台的便利互动性,很容易黏合学生、教师、家长、校友等学校关联者,进而通过图片、文字、声音、视频的富媒体传播形式给予他们一个展示自己更自由、更活跃思想的舞台。因此,学校建立微信公众平台的意义不亚于开展一个综合教育平台项目。如何搭建一个有实用价值且有教育内涵的微信公众平台,是我们教育者应该思索的问题,这两期主持人和嘉宾将一起来探讨微信公众平台在学校教育中的具体实践。

作为一个目前注册用户量已突破6亿的应用,微信已经成为当之无愧的亚洲地区最大用户群体的移动即时通讯软件。微信公众平台是腾讯公司在微信的基础上新增的功能模块,通过这一平台,个人和组织都可以创建一个微信公众账号,用来实现与特定群体的文字、图片及语音的全方位沟通与交流,同时因其发展的快速和现今新媒体数字化下虚拟教育的需求,微信公众平台在教育领域中崭露头角,它的出现,将促进教学理念创新、教学模式和手段的改革。

通过建立微信公众平台,与学校教育事业相关联,同时利用新媒体具有的交互性和跨时空的特点,及其消解力量——消解传统媒体(电视、广播、报纸、通信)之间的边界,消解国家与国家之间、社群之间、产业之间的边界,消解信息发送者与接收者之间的边界,消解学校与学生、学校与教师、教师与学生之间的边界,进而提升学生和教师的学习和工作效率。而公众平台除了开放性、交互性、即时性等一般特点外,还具有传播便捷性、交流灵活性、内容简洁性等特点,对于喜欢展现自我、向往平等交流、渴望新型师生关系的学生来说,微信公众平台必将成为虚拟教育之路上里程碑式的一步。

● 微信公众平台适合在学校教育中推广

1.用户基数大,移动端即可实现多方操作

首先,微信具有移动即时通讯软件的巨大客户基数,且使用的人群会因社交圈的增长而成扩散式增长。这为教育事业提供了一个较为广阔的应用平台,尽管现在对中小学生使用移动智能终端设备(手机、平板)还有很大争议,但我们也应该看到学生移动智能终端设备普及面一直在扩大,这也从另一个角度要求教育者要在有效媒介上提供丰富有效的教育资源,如果教师将相应的教育资源上传至微信公众平台(除了移动设备,桌面设备也可以完成这一过程),所有用户都可以使用教育资源进行移动学习,这就提供了极为方便的学习方式。其次,教师通过基于微信公众平台发展的各类“轻应用”能及时接收和反馈信息,可随时查看更新的动态及公告,与社会进行多接口联系,能及时掌握最新消息,在教育信息化高速发展的时刻,领先别人一大步。最后,还可与学校相关社会对象(家长、校友)利用碎片化的时间通过移动终端获取学校、教师传递的信息,与学校建立长期有效的联系渠道。

2.具有强大的互动功能,辅助传统学习方式

微信平台操作信息具有新媒体教学方式即时性的特点。其后台对用户进行跟踪保证了教学的时效性,以前学生在课下遇到的问题只能在学校里请教教师,这就造成了问题不能及时得到解决、宝贵的时间因来回奔波而被浪费的问题。而微信的即时性可以有效地解决传统教学方式遗留下来的问题,其实时留言、消息推送等功能,能够随时随地通过移动设备进行无距离式解答,省去了学生课余的补课费用,也能让教师足不出户就能辅导学生。

学生通过二维码、微信推送等功能连接互联网上的几乎所有学习资源,进而扩充学习面,掌握最新学习资料与教学动态。并通过微信平台的快速分享,与周围教师和同学建立良好的学习氛围,一起互帮互助,共同查漏补缺。

综上所述,微信本身并不是一个类似数据库一样的学习资源载体,而是一个可以快速整合网络学习资源和实现多方互动的强大平台。

● 学校微信公众平台开发基本原则

微信公众平台开发系统的基本原则是以系统总体目标为宗旨,为用户提供一个技术先进、成熟可靠、灵活适用、性能优秀的调用系统。因此,系统设计将遵循如下原则。

1.开放性

系统在设计时考虑到功能的可扩展性与维护的方便性,使用的操作平台类型,应用服务器、编程语言和数据库,将遵循通用性、开放性原则,以期达到减少后续功能增加、修改的难度,减少由于维护方、后续服务方的变更,带来系统二次开发、维护的难度。

2.高性能

微信公众平台设计架构和硬件搭配要适应未来大数据不断增长的要求。以便关注者可以查看的数据更多、更全、更细;以便学校可以挖掘更多精细化、个性化的数据统计功能加以利用。

3.实用性

微信公众平台以中心需求为目标,以方便用户为原则,在吸取先进管理经验的基础上,量身定做;在统一的用户界面下提供各种实用功能,尽可能降低使用前的培训和使用中的维护投入。提供微信前端开发的无缝连接。

4.安全性

充分考虑系统及数据资源的容灾、备份、恢复的要求。为系统提供强大的数据库备份工具。充分考虑微信公众平台的安全要求,作到内外网分离,信息发布管理责任到人。

● 建立微信教育平台的具体步骤

1.微信公众账号的注册和认证

教育者在建立公众平台时,首先需要选择创建的是订阅号还是服务号,当运营主体是学校时,我们可以选择创建订阅号或者服务号。如果运营主体是教师本人时,只能创建订阅号。二者区别见下表。

由上表可见,如果学校只注重简单的学校消息推送,那么创建订阅号就可以了,但如果想作为有教育理念的学校的微信公众平台就不能单纯一味推送消息,即使发送教育鸡汤文章也会引起关注者的“审美疲劳”,它的作用应该在于:用户关注了你的公众号之后,立即能得到他想要的服务。因此可以搭建自己的平台,定制调用相关高级接口。如果考虑到学校微信号能显示在通讯录第一层次内,消息提示更显著,也要选择注册服务号。

首先去https://mp.weixin.qq.com填写注册信息,按照信息提示激活邮箱。公众号开发有两个模式:编辑模式和开发模式。编辑模式提供了简单的消息自动回复和关键字自动回复功能,但功能太局限。对学校的微信公众平台而言,它是为学生、教师和家长提供交流的平台,而非新闻媒体那般主动与用户进行交互。这也是订阅号和服务号的又一个区别。前者是用户主动进行交互,后者是根据用户主动需求而提供个性服务。现在的主要要求是针对学校特殊教学功能进行自行开发,所以我们着眼于开发模式。

2.微信公众账号开发模式下的环境介绍

(1)开发平台

开发个性服务号,公众号开发平台搭建一般分为两种方式:学校具备独立公网IP的对外服务器;或者选择部分免费的云平台进行开发,如百度BAE应用引擎BAE(http://developer.baidu.com/bae)和新浪云平台(http://sae.sina.com.cn)。考虑到与学校现有OA系统数据库的方便对接,用户可选择在学校对外服务器上搭建环境。后面的模型实例也都是叙述在学校服务器上如何搭建平台。

(2)开发环境

由于微信服务器请求公众账号服务使用的是HTTP协议,因此在公众账号服务器上必须要运行一个HTTP服务并打开端口(目前腾讯公司只允许标准的80端口),所以公众平台的处理程序其实就是一个Web项目,负责接收和响应微信服务器发送的HTTP请求,即微信服务器将用户发送的消息以XML格式提交给用户所设置的服务器地址。由服务器进行处理然后返回一个XML数据给微信服务器,微信服务器再返回给用户。因此,只要是支持动态Web开发的编程语言(Java、PHP、ASP.NET),都能够用于公众平台开发。如果是教师自己初次开发,为了能参考腾讯官方给出的众多PHP代码和为后期采用更稳定的Linux版本的Nginx、PHP-FPM、MySQL做铺垫,可先尝试使用Windows上的AppServ(http://www.appservnetwork.com)作为开发和调试环境,AppServ是一个软件集合,包括Apache(搭建Web服务器软件)、PHP(网页程序设计语言)、MySQL(数据库管理系统软件)、PHPMyAdmin(对MySQL进行图形界面管理)四个组成部分,AppServ把这些软件集合在一起的目的是使在Windows上部署整套环境变得更简单。另外,用户还可使用Zendstudio作为PHP开发的IDE环境进行开发体验,因为它具有我们开发时必需的高亮显示和智能提示功能,较方便。

3.微信开发平台搭建实例

为了方便文章叙述与读者实践,接下来我将以“浙师大附中”微信公众平台为实例来叙述。

(1)校验URL接入

微信公众平台将校验URL是否正确接入,校验完成就可以进行开发,可以删除官方代码,也可以在官方代码基础上进行开发。官方示例代码可以到http://mp.weixin.qq.com/mpres/htmledition/res/wx_sample.zip下载。安装好后,将配置PHP文件填入URL地址,Token应与配置PHP里的一致。由于篇幅关系代码就不贴上来了,有兴趣的读者们可以自行下载,学校微信平台服务器API接口配置如图1所示。

在这里,我们简要分析一下示例代码的意思,示例代码大致分成了四个部分:①Token定义。②定义一个类WeChatCallbackapiTest。③创建类WeChatCallbackapiTest的一个实例对象$wechatObj。④调用新的valid()方法。该代码只是官方给出的简单示例代码,如果要做复杂的开发,开发者还是要按照API改写。然后就以该公众号的菜单顺序,分模块进行讲解。

(2)使用第三方平台发布新闻消息

由于微信服务号一个月只能群发四次消息给用户。我们还可以用在本地服务器上搭建信息发布平台的方法来弥补这一不足。学校一般都要推送一些文章,通知兼顾美观和便捷,这里推荐Wordpress平台,浙师大附中公众号里的校园微新闻就是通过Wordpress平台发布的。鉴于已经搭建好了AppServ平台,直接去Wordpress官网下载最新安装包,解压程序压缩包得到一个Wordpress命名的文件夹。将文件夹内容拷贝到wwwroot目录下,访问域名/PHPmyadmin。先建立一个Wordpress数据库和一个账号,然后访问域名,填好账号密码,安装。

安装完毕后,为了适配移动端显示,需要安装Angela插件。接着只要使用WordPress后台发布新闻,返回给用户新闻链接地址以图文消息的方式,用户就可以收到如图2的提纲页和图3的详情页效果了。

(3)保存微信平台历史消息

由于微信平台默认新关注者和注销微信号后重新登录是不能接受以往推送消息的,尤其是一个月只能推送四条消息的服务号。对学校来说,一些以往经过精心编辑的消息“淹没”了的确比较可惜,用户可以通过“历史消息”菜单链接到微信后台的图文消息中去,具体链接地址为:http://mp.weixin.qq.com/mp/getmasssendmsg?__biz=MzA3MzE3Nzg5MA==#wechat_webview_type=1&wechat_redirectbiz=MzA3MzE3Nzg5MA==#wechat_webview_type=1&wechat_redirect(注:每个公众号的历史消息链接都不相同,此链接在普通电脑浏览器上无法打开,需要使用微信内置浏览器才能打开。)

(4)文本交互实例——成绩查询功能

微信公众平台不仅仅可以成为如前所述展示类似学校网站官方消息的一个微平台,我们还可以对微信公众号开发更多具备移动手持终端特色的交互功能。例如,当下学校都会面对这样一个教育活动——教师对学生、家长及时进行成绩反馈。很多教师都会在教室后墙上贴上很多成绩报表,或者不厌其烦地接听家长的查询电话,这样抛开实时性不说,还给教师增加了很大的工作压力。如果通过微信公众号整合学校传统教务系统在移动设备上以聊天窗口形式的交互方式来查询学生成绩,用户体验将会更好。将成绩文件存入MySQL数据库(如图4),然后按照示例文件写好PHP页面,将用户输入参数调入PHP页面,经过一系列查询转换后,输出成绩给用户。这里我们采用了班级、姓名、日期三个参数来查询成绩,班级姓名定义查询者,日期定义某次考试,最后以文本内容回复给用户。从目前我校学校实践来看,非捆绑访问者在单位时间内能进行三次成绩查询,就可以安全地满足访问者的成绩查询需要。主要代码如下所示,图5为移动端查询样例。

function score_search($class,$classnum,$stuname,$examtime,$fromUsername,$toUsername){

$msgType = "text";

$time = time();

$con = odbc_connect('****',"","");

//$examtime = iconv("utf-8","gb2312//IGNORE",$examtime);

$sql = "select * from xscj where 考试时间 = {^$examtime} and 班内序号 = $classnum and 姓名 = '$stuname' and 班级名称 = '$class'"; //

$sql = iconv("utf-8","gb2312//IGNORE",$sql);

$query = odbc_exec($con, $sql);

$textTpl = "<xml>

从图6可以看到,基于文本的查询方式,符合移动端开放、交互、便捷的特征,目前在我校使用比较普遍,从微信服务号后台中可以看到其使用热度。

“自动回复”是微平台的一个基本特征,下页图7是用户学校智能回复范例。除了以上针对性开发文本回复外,还可以设置一个自动聊天机器人来满足学生们的好奇心和增加平台的黏度。这里我校引用了第三方自动聊天机器人(图灵)API,对API返回的数据进行提取,然后反馈给用户(如下页图8)。增加了平台的亲和力。在其自备的智能回答外,用户还可以定制诸如“招生”、“教师基本情况介绍”等一些社会关心的问题,统一导入全校教师基本情况介绍。

(5)触屏交互——教师办公

除了文本交互方式外,用户还可利用移动设备的触屏功能,拓展触屏交互,在此实例上PHP通过添加微软sqlsrv系列函数来连接学校现有OA的MS-SQL数据库,进而引用了jQueryMobile模板,使之在触摸屏幕上呈现得更加美观。jQuery Mobile是jQuery在手机上和平板设备上的版本。jQuery Mobile不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架。其最大特点就是可以快速开发出所需要的移动客户端页面,而且兼容性也非常好。jQuery Mobile同时提供了针对移动端浏览器的事件,这些事件使得页面的展示更加精美。当然现在主流的前段开发框架还有bootstrap等。在这个jQuery mobile和html5的基础上,可以根据自己学校的需求进行开发,如进行网上的授课、学校办公(一周安排、校务公开、校内邮件、教师工资)功能。图9是“一周工作安排”实例。

4.微信公众号开发注意事项

微信工作平台开发是一项庞大而复杂的工作,在尝试时可能会遇到一些问题。下面列举几种常见问题的解决办法,供大家参考。

(1)Token校验失败

在使用开发者模式时,用户有时候把URL与Token填入开发者中心后,会出现“token验证失败”字样这种现象。要解决这个问题先要深入理解URL和Token的意义。前面已经简要提到过,URL其实是放置了API程序的网址,API程序存在于用户在自己的服务器或者虚拟主机上。Token顾名思义就是一个令牌,它的作用在于维护你的服务器与微信服务器之间的身份认证,防止非法数据影响。所以可以用追踪HTTP的方法来查看服务器是收到了请求未回应,还是根本没有收到请求。

因此,在API程序中可加入:

$_SERVER["QUERY_STRING"];

$_SERVER["REMOTE_ADDR"];

通过这两个系统变量就可以追踪是否收到了HTTP请求。如果没有问题,那先检查Token填写的是否和程序中的一致,再检查程序是否有问题。

(2)订阅号在添加自定义菜单时候显示unauthorized

发生这种情况一半是因为用户的微信号属于未认证的订阅号。无论是用微博关联认证还是微信认证的订阅号,都没有使用高级自定义菜单的权限,去微信认证后即可开启高级自定义菜单。

(3)Access_Token的获取

Access_Token和Token完全是两种事物。它是公众号的唯一根据。由于Access_Token的保存期只有两个小时,需要定时获取。为了方便,贴上获取Access_Token的代码。

<?PHP

define("APPID", "YourAppID");

define("APPSECRET", "YourAppSecret ");

$token_access_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . APPID . "&secret=" . APPSECRET;

$res = file_get_contents($token_access_url);    //获取文件内容或获取网络请求的内容

//echo $res;

$result = json_decode($res, true);   //接受一个 JSON 格式的字符串并且把它转换为 PHP 变量

$access_token = $result['access_token'];

echo $access_token;

PHP>

(4)隐藏微信平台底部的导航栏

通过在网页中增加以下JavaScript代码,隐藏网页在微信中网页底部导航栏:

document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {

WeixinJSBridge.call('hideToolbar'); });

● 对微信教育平台和虚拟化教育的展望

随着科技的快速发展,虚拟世界正在不断地融入我们的日常生活中。但是,对于现实中的校园,却往往显得束手无策,不知道如何融合,总是感觉到虚拟化教育的不真实。事实上,微信公众平台就是很好的融入接口。它是数字化、信息化时代的产物,是建设“数字化校园”很好的切入口,除了前面叙说的我校在搭建微信公众平台上的“软应用”开发外,用户还可以在公众平台上做些“硬应用”开发。例如,在微信公众平台上捆绑教师证件号,将教室诸如电脑、投影、幕布、空调控制都由教师手机来控制。甚至还可以捆绑公众平台业已成熟的商业支付功能,家长和学生只需要在公众平台就可以完成对学费支付、饭卡充值、寝室电费支付等工作。我们正处在教育信息化的转变时期,学校使用公众平台促进虚拟化教育正是一种创新,不尝试又怎么会有收获呢?这就是现在我们就可以做的改变!只要你做了,你就会慢慢地感觉到,教师们对于数字化教学更深层次的感受,以及潜移默化的认可。现在已经有较多的学校开发了个性化的微信公众号平台,方便服务师生、校友、家长。相信以后越来越多具有学校办学特色并给关注者带来实际帮助的学校微信公众号平台会不断涌现。

猜你喜欢

服务器公众微信
古代诗人玩转公众号
2018年全球服务器市场将保持温和增长
追踪潮流前线,一定不能错过这几个公众号
微信
魔镜告诉我,你缺少时髦的APP公众号
微信
微信
关于我国公众环保意识的几组数据
用独立服务器的站长注意了
定位中高端 惠普8路服务器重装上阵