智能手机辅助课堂教学课题:基于手机微信的实验教学资源推广平台构建
智能手机辅助课堂教学课题:基于手机微信的实验教学资源推广平台构建图1基于手机微信实验室教学资源推广平台功能结构设计示意图基于手机微信的实验室教学资源推广平台客户端主要包含以下功能模块:基于手机微信的实验教学资源推广平台主要由两个模块组成,一是用户关注后的移动端微信公众平台,二是管理员操作的微信公众平台后台,主要以网络服务器、数据库搭建技术、微信接口开发模式二次开发技术、微信显示微网站构建技术等为基础,设计实现基于手机微信的实验教学资源推广微平台,其功能结构设计示意图如图1所示。浙江省高校实验室工作研究项目(YB201520)在高速发展的信息科技时代,微信已经有了亿级的用户,逐渐成为人们信息交流的主流[1]。微信公众平台是腾讯公司新增的功能模块,通过这一平台,可以实现特定群体的文字、图片、语音的全方位沟通,还可以设定关键词进行自动回复或一对一的用户交流。随着网络教学的发展,网络教学资源也越来越丰富,怎样更有效地管理教学资源成为开展网络教学的关键[2]。另
郑万挺,胡震寰,白宝钢
(温州医科大学 信息与工程学院,浙江 温州 325035)
摘要:随着Internet和网络技术的发展与应用,教育技术和方法也进入了一个新的发展阶段,出现了数字化教学资源平台。基于微信公众平台的实验室教学资源推广平台实现了资源共享、便捷查看信息的功能,满足多层次和多用户的需求,推动了院校实验室教学资源的建设。它可以展现文字、图片、视频等丰富多样的课程教学,并结合其他教学资源链接,全面满足学生自助式学习的要求,也是促进主动式、协作式、研究型、自主型学习,形成开放、高效的新型教学模式。
0引言
浙江省高校实验室工作研究项目(YB201520)在高速发展的信息科技时代,微信已经有了亿级的用户,逐渐成为人们信息交流的主流[1]。微信公众平台是腾讯公司新增的功能模块,通过这一平台,可以实现特定群体的文字、图片、语音的全方位沟通,还可以设定关键词进行自动回复或一对一的用户交流。随着网络教学的发展,网络教学资源也越来越丰富,怎样更有效地管理教学资源成为开展网络教学的关键[2]。另外,微信正成为移动互联网时代的新宠儿,可以为高校教学资源提供一个共享平台。
本文设计了基于手机微信的实验教学资源推广平台,编程语言为PHP语言,服务器为新浪SAE服务器,主要从手机端用户关注的微信公众平台和管理员微信公众平台后台两个方面来研究,通过验证配置接口与服务器链接,实现上传代码数据。本微信推广平台设计合理,稳定性和可靠性高,成本也不高。
1系统整体概述
基于手机微信的实验教学资源推广平台主要由两个模块组成,一是用户关注后的移动端微信公众平台,二是管理员操作的微信公众平台后台,主要以网络服务器、数据库搭建技术、微信接口开发模式二次开发技术、微信显示微网站构建技术等为基础,设计实现基于手机微信的实验教学资源推广微平台,其功能结构设计示意图如图1所示。
图1基于手机微信实验室教学资源推广平台功能结构设计示意图基于手机微信的实验室教学资源推广平台客户端主要包含以下功能模块:
(1)关注回复:用户登录微信后,在“添加朋友”里输入本教学资源平台的公众号或微信号,输入正确就可以搜图3创建数据库和数据表到该平台,添加关注后,用户就可以收到一条自动回复消息,表示已经成功关注了该平台,可以正常使用该平台上的功能以及接收来自平台的资源信息。
(2)消息自动回复:分为关键词自动回复和消息自动回复。当用户在平台上输入关键词时,系统会根据输入的关键词自动回复相应的消息,为用户带来了便捷性的查询;当用户发送的信息无法匹配设置的关键词自动回复返回的内容时,系统会自动给出回复,这也充分展现了平台的人性化。
(3)位置天气查询:当用户发送位置消息时,系统根据位置信息获取当地天气并发送回给用户。
(4)图片消息回复:当用户发送的信息为图片信息时,系统会自动针对图片消息做出回复。
(5)自定义菜单响应回复:在平台界面的最下方有3个菜单栏,每个菜单栏下有子菜单,用户通过点击子菜单,可以得到系统相应的消息回复,有文字消息、网页消息和图文消息。菜单功能使得用户对平台的各种资源一目了然,也实现了平台对资源信息推广的功能。
(6)实时推送消息:只要用户关注了本平台就可定期接收来自平台推送的消息,让用户更及时地了解当前实验室教学资源的实时信息,也是真正意义上实施教学资源推广的表现。
2数据库的构建
本系统采用新浪SAE中的MySQL,在MySQL的管理页面中集成的PhpMyAdmin里创建数据库和数据表[3]。首先获取数据库连接的主机名、账号、密码、端口,在SAE上运行一下脚本,获取连接信息。
得到了SAE的数据库连接信息,就可以连接MySQL了,使用SAE提供的常量名而不是上面打出来的信息,因为可能这些信息会发生变化,连接SAE MySQL脚本如图2所示。
图2连接SAE MySQL的脚本打开新浪SAE的管理后台后,进入服务管理的MySQL模块,在MySQL的管理页面中集成的PhpMyAdmin里创建数据库和数据表[4] 如图3所示。
3系统实现的关键技术
3.1系统的准备工作
SAE的注册地址为:http://sea.sina.com.cn/m=dashboard,创建新应用页面后,依次填写二级域名(AppId)、应用名称、验证码,开发语言选择PHP,应用类型选择Web应用后即可生成新的应用。进入新应用页面的代码管理页面,显示了应用的链接,此链接用于微信公众平台开发者中心的接口配置;代码管理模块也是后期上传代码的地方。
3.2后台的注册
后台的注册即是申请微信公众账号。首先在网上搜索“微信公众平台”或者直接输入网址“https://mp.weixin.qq.com/”进入到微信公众平台界面,点击右上角的“立即注册”跳转到注册界面,在注册界面中填写基本信息、邮箱激活、选择类型、信息登记、填写公众号信息,就完成注册了。
3.3开发者中心接口配置
在SAE的管理页面中上传签名及接口验证代码,开发者通过检验signnature和私有的checkSignature方法对请求进行校验,进入微信公众平台后台的开发者中心页面,填写服务器的URL和Token[5]。
3.4手机端微信公众平台
3.4.1关注回复
在PHP语言中,公有的responseMsg方法是微信回复的关键,用户端发送的数据将保存到变量$postStr中[6]。将$postStr变量解析赋予变量$postObj,simplexml_load_string函数是PHP中的一个解析XML函数。为了实现关注回复,给$type赋予值event,$customevent赋予值subscribe,返回文本信息。其关键代码如下:
public function responseMsg
{
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
//获取微信用户端发来的消息
if (!empty($postStr))//用户端数据不为空
{
libxml_disable_entity_loader(true);
$postObj = simplexml_load_string($postStr 'SimpleXMLElement' LIBXML_NOCDATA);
}}
3.4.2消息自动回复
用户端微信发来的文本内容(关键词)赋予变量$keyword,根据不同的关键词使用if语句来回复不同的文本。另外,天气咨询的查询调用了天气预报接口,用$placeobj、$todayobj、$weatherobj、$windobj、$temobj变量来获取城市、日期、天气、风力和温度信息[7]。关键实现代码如下:
if($type=="location")
{
$weatherurl="http://api.map.baidu.com/telematics/v2/weather?location={$longitude} {$latitude}&ak=1a3cde429f38434f1811a75e1a90310c";//天气预报接口
$apistr=file_get_contents($weatherurl);
$apiobj=simplexml_load_string($apistr);
$placeobj=$apiobj->currentCity;//读取城市
$todayobj=$apiobj->results->result[0]->date;//读取星期
$weatherobj=$apiobj->results->result[0]->weather;
//读取天气
$windobj=$apiobj->results->result[0]->wind;//读取风力
$temobj=$apiobj->results->result[0]->temperature;
//读取温度
$contentStr ="{$placeobj}{$todayobj}天气{$weatherobj},风力{$windobj},温度{$temobj}";
$msgType = "text";
$resultStr = sprintf($textTpl $fromUsername $toUsername $time $msgType $contentStr);
echo $resultStr;
}
3.4.3图片消息自动回复
当用户端向微信公众帐号发送图片时,系统的消息类型$type为image,并且提供了图片链接的保存地址。
当用户发送位置图片消息时,系统的消息类型$type为location,Location_X和Location_Y分别表示纬度和经度,通过$latitude和$longitude来获取客户发送的纬度和经度信息,返回到用户端的消息为天气咨询[8]。
3.4.4自定义菜单相应回复
在接口调试工具中,接口类型选择自定义菜单,接口列表选择自定义菜单创建接口/menu/creat,access_token是上文中获得的,菜单的body是以POST的方式向微信服务器提交的,POST的数据为JSON格式数据,button为一级菜单,sub_button为二级子菜单。若返回JSON数据包为{"errcode":0 "errmsg":"ok"},表示菜单创建成功[8]。
菜单的事件推送分为click菜单型和view菜单型。click类型需要菜单key值,用于消息接口推送,变量Eventkey被赋予菜单body中的key值;view类型引用网页链接,用户点击菜单可打开链接。本平台的菜单事件主要以图文消息类型进行响应,图文消息有单图文消息和多图文信息,当用户点击子菜单时,系统就会响应事件推送信息到用户端。
4系统实现
(1)系统通过整合实验教学资源,利用PHP编程语言、新浪SAE服务器,开发实现了消息自动回复、关键字查询、图片消息回复、位置消息回复、自定义菜单创建等功能模块,如图4、图5所示。
图5位置消息回复界面(2)系统服务端实时监听平台上新增的实验教学资源信息动态,以POST的方式向微信服务器提交推送指令,事件主要以图文消息类型进行响应,图文消息有单图文消息和多图文信息,如图6所示。
(3)系统实现师生交流互动功能及学生关键词咨询的自动回复,辅以人工回复。
(4)系统在微信公众平台后台对用户进行分组管理,统计各项数据以及素材的管理,实现学生订阅用户增长统计、学生咨询统计、学生专业分类统计、学生咨询关键词统计等功能。
5结论
基于手机微信的实验教学资源推广平台可以提供文字、图片、视频等丰富多样的实验课程教学资源及其他教学资源链接,全面满足学生自助式学习的要求,实现师生交流互动功能及学生关键词咨询的自动回复。微信公众平台后台可以对用户进行分组管理,统计各项数据以及素材的管理,实现学生订阅用户增长统计、学生咨询统计、学生专业分类统计、学生咨询关键词统计等功能。两者的结合使实验教学资源的推广更加便捷。
参考文献
[1] 孔云 廖寅 资芸 等.基于微信公众账号的图书馆移动信息服务研究[J].情报杂志 2013,32(9):167170,198.
[2] 谢新洲 安静.微信的传播特征及其社会影响[J].中国传媒科技 2013(6): 2123.
[3] 陈梦轶.微信公众平台的传播学解读[J].三明学院学报 2014,31(1):7680.
[4] 白浩 郝晶晶.微信公众平台在高校教育领域中的应用研究[J].中国教育信息化(基础教育) 2013(2):7881.
[5] HILSEN I A HELVIK T.The construction of self in social medias such as facebook[J].Ai & Society 2014 29(1):310.
[6] 王勇 李怀苍.国内微信的本体功能及其应用研究综述[J].昆明理工大学学报(社会科学版) 2014 14(2):100108.
[7] 鞠文飞.利用微信公众平台构建移动设备教学辅导环境[J].电脑编程技巧与维护 2013(12):139141.
[8] 朱小燕 安容宇.浅谈PHP语言在网站后台建设中的优势[J].电子制作 2013(9):100.