基于微信公众平台的琴房管理系统设计与实现
2017-12-12张国华徐建军彭晓寒王海林
张国华,徐建军,彭晓寒,王海林
(南京师范大学 泰州学院,江苏 泰州 225300)
基于微信公众平台的琴房管理系统设计与实现
张国华,徐建军,彭晓寒,王海林
(南京师范大学 泰州学院,江苏 泰州 225300)
目前音乐专业的琴房实验室管理方法、授课手段相对陈旧落后,设备利用率较低,原有Web琴房管理系统信息化程度不高,普及率低,使用不便捷。对此,利用微信强大的开发接口和广泛的学生基础,实现教学视频录制和推送、设备使用预约和管理,上课质量监控,测验及考核等功能,更加便捷和科学化的管理琴房,广大师生可随时使用该系统传递和获取信息,大大提高了琴房实验室使用率和教学质量,可有效解决上述问题,具备一定的应用价值。
琴房管理; 微信平台; 开发接口; 可扩展标记语言
0 引 言
钢琴课是音乐等艺术专业的核心课程,也是为培养具备弹奏技能、音乐表演技能和歌曲伴奏编配技能艺术人才的基础课程。无论是否为钢琴专业的学生,是否有钢琴基础知识,都将是每个音乐相关艺术类学生必修的一门技能课。钢琴课与其他一般理论课教授不同,它既需要做到口传心授,又需要跟学生面对面、甚至手把手才能做好教学,而且学生一定需要多观摩,多练习并且及时得到指导才充分掌握该项技能。一味强调老师重复教学既浪费教学资源,学生学习效果差,也会逐渐丧失学习的信心。由此可见,为学生提供一个课程配套的学习支持平台非常重要。
随着国家对于艺术类应用型本科的建设要求,针对独立学院现有学生、师资配置的实际情况,如何培养高素质、动手能力强的音乐相关艺术类专业人才,使其艺术专业成为独立学院与一本、二本院校竞争的优势学科,成为亟待解决的问题。
本文在原有信息平台基础上,拓展融合已有的琴房管理系统,并与微信公众平台对接,迅速在广大师生中普及和推广该系统,激发学生学习积极性,在整个使用过程中不断积累经验,取得了显著的效果。
1 技术路线对比与选择
目前,国内高校的实验琴房管理系统平台大多采用了以下几种模式:
1.1基于传统的客户/服务器(C/S)架构模式
该种模式要求所有服务器端及客户端的计算机都必须先下载安装相应程序才能使用。学生,教师都不太愿意接受这种模式,原因是使用过于繁琐,例如预约琴房,得找一台计算机下载相应客户端软件才能使用相应功能。
1.2基于浏览器/服务器(B/S)架构的模式
这种模式相对于第一种模式,客户端无需安装程序,只需在浏览器上输入网址就可以访问,有了一些进步,但是用户依然可能记不住网址,且浏览器的类型也众多,很难让系统兼容所有的浏览器。
1.3基于智能手机的APP模式
随着智能手机的不断普及,该种方式顺应了时代的潮流,但也存在一些问题,例如手机操作系统多元化,对于最常见的安卓和IOS操作系统,同样功能和需求的系统需分平台开发,开发代价较大,同样都需要手机终端下载对应APP[1]才能使用,很多用户考虑到手机内存、安全性等因素大多不愿意安装和使用。综上所述,虽然很多高校的实验琴房表面上基本采用信息系统来管理数据,实际上信息化管理的程度依旧很低,起不到提高琴房使用效率,便捷用户的作用。
1.4基于微信公众号的方式
微信在高校师生中的普及率极高,据微信团队最新发布的《2016微信数据报告》中显示,仅9月份一个月,微信单日登录用户达到7.68亿,比2015年同期增长了35%,50%用户使用微信的时长达到90 min,在大学里的普及程度超过95%,涵盖手机主流操作系统,基于微信平台的信息系统,仅需关注,不占手机内存空间,且可对原有基于B/S架构信息系统的迁移和整合,能大幅节约开发成本,推广更容易。微信公众号是供程序员在微信公众平台上能申请的应用账号,该应用帐号可与腾讯的其他应用账号互连互通,只要关注该公众号,就可在微信平台上实现与对应群体的文字、图、语音、视频等多媒体信息的全方位沟通、交流。形成能同时在线上线下互动的开放应用平台。微信开发平台主要分为订阅号、服务号、企业号3种。个人可以申请订阅号,服务号是为客户提供服务的平台,而企业号则是企业进行相应管理的平台,通过加载第三方应用,能实现与员工沟通、协作。最近公众号又提出了微信小程序的功能,目前处于测试阶段,暂不考虑该项技术,综合考虑平台成本,技术难度,本文选择了订阅号作为原有基于B/S架构的Web琴房信息系统的拓展开发形式。
2 设计方案
2.1基础平台的架构
微信平台的基本定位是群发消息推送,移动视频学习,在线讨论与交流。它支持开发模式与编辑模式,编辑模式仅提供简单的界面设计,无法实现与其他信息系统的数据交换,开发模式则可以对接其他信息平台,可以实现便捷的个性化操作。本文阐述的是基于B/S架构的Web琴房信息系统继续开发的基于微信平台的信息系统,因此需要准备好一些基础软硬件平台,其拓扑结构如图1所示。
图1 基础平台拓扑图
(1) Web服务器。支持外网访问,分配固定IP地址,亦可申请DNS服务,获取相应的域名地址。本系统采用IIS6.0作为Web服务器的运行平台,操作系统选用了Windows Server 2013版本。
(2) 数据库服务器[1]。不支持外网访问,分配固定的内网IP地址,确保外网用户无法直接供给破坏数据库,软件采用SQLSERVER2015作为数据存储媒介,硬件采用双阵列磁盘实现自动数据备份。
(3) 视频服务器[2]集群。主要存储教师的教学,学生的上课监控,考核视频等,数据量增长速度快,因此采用了集群服务器,并且支持流媒体传输及断点下载方式。
2.2功能设计
结合逻辑业务与系统设计分析,整个系统的功能可以划分为8个主要模块,功能描述如图2所示。
(1) 主动推送消息[3-4]。微信平台最大的一个优势是普及率高,并且可以为关注的订阅号主动推送图文信息,作为教学实验室管理平台使用,可以为广大师生提供推送通知,琴房状态信息,相关教学视频网址等服务。
图2 基于微信公众号的琴房管理功能图
(2) 琴房检索。可以通过微信平台,随时查询琴房状态,每个琴房的课表安排情况。
(3) 互动问答系统。可以为关注了微信公众号的师生提供互动交流平台,对于常见的技能问题,可以利用微信机器人[5-6]自动发送解答方案,对于需要单独解答的问题会自动转发至相应专业学生或老师微信上去,拉近了学生与学生之间,学生与老师之间的距离。
(4) 教学视频库。该视频库主要由专业教师利用全景视频录制平台录制,可作为考核教师授课质量的一个重要指标,优秀学生亦可发布教学视频,但需专业教师审核通过,同样可以成为教学视频,快速丰富视频库。
(5) 考核系统。该系统主要分为两部分,对于学生平时、期中、期末考核全部通过全景视频录制[7-8],教师可以利用碎片化时间[8]去完成评分,更加客观。同样教师的评教系统也结合平时教师的授课视频,学生,教务员等共同完成对专业教师的考核。
(6) 课程监控系统。该系统主要监控学生的学习进度,教师授课进度是否与教学大纲匹配,教学效果是否能达到相应的要求,老师亦能及时了解班级学生的技能水平,能及时督促学生完成相应的练习任务。
(7) 在线预约琴房。为了确保学生能公平使用的琴房,充分利用琴房,该系统在规定的开放时间内,只要琴房状态可用,学生教师都亦可以预约,且遵循“先来先服务”的原则去分配琴房。
(8) 设备报修检修。进入琴房一旦发现琴键发音不准或其他设备问题,可立即通过微信报修并会立即通知实验室管理人员检查,大大缩短了设备保修,检查,维修的时间。
2.3微信服务流程及架构
基于原有的系统架构的基础上,整体的微信服务架构[9-10]如图3所示。
3 微信平台的具体实现
3.1创建开发者帐号
登录微信公众平台(https://mp.weixin.qq.com/),启用“高级功能”下的“开发模式”[11-12],接着生成登记接口的URL和Token,实现网页的接入,生成微信二维码及菜单,仅需关注一下二维码就可访问该系统,并且与手机操作系统平台无关。
图3 基于微信公众平台的服务架构
3.2Web页面接入微信菜单
本系统的Web页面采用Asp.Net开发,并且已经放入支持外网访问的IIS服务器中运行,因此接入微信菜单需填写的URL和Token。URL是指琴房管理系统信息处理的网页地址,信息传递时,需包含必要的4个参数,本系统用函数MyCheckSignature来判断来表示接入成功或失败,成功接入后,在微信平台传送的数据可与Web网页实现对接,实现解析与回复等功能。
///lt;summarygt;
//验证微信签名
//lt;/summarygt;
//*将微信公众平台注册的token,timestamp,nonce3个参数进行字典序排序
//*将三个参数字符串拼接成一个字符串进行sha1加密
//*开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。
//返回true表示接入成功,否则失败。
private bool MyCheckSignature()
{
String signature=Request.QueryString["signature"].ToString();
string timestamp=
Request.QueryString["timestamp"].ToString();
string nonce=Request.QueryString["nonce"].ToString();
string[] ArrmyTmp={Token,timestamp,nonce};
Array.Sort(ArrmyTmp); //字典排序
string tmpStr=string.Join("",ArrTmp);
tmpStr=
FormsAuthentication.HashPasswordForStoringInConfigFile(tmp
Str,"SHA1");
tmpStr=tmpStr.ToLower();
if(tmpStr==signature)
{ return true; }
else
{ return false; }
3.3信息发送与接收
微信服务器[13-14]将组装一个信息发送给琴房Web服务器,琴房Web服务器然后回复生成一个时间,同时将该时间按特定规则组装,回复给琴房管理系统的公众账号,公众账号将信息传递给用户,在整个收发过程中,发送方与接收方进行了对调(ToUserName和FromUserName值互换),收发方都是以可扩展标记语言(XML)数据格式在后台进行传输的,以下是传递视频的XML示例(其余文字,图像,声音等多媒体信息与之类似):
(1) 发送示例
〈xml〉〈ToUserName〉〈![CDATA][qfh_680bdefc8c5d]]〉〈/ToUserName〉
〈FromUserName〉〈![CDATA[otDr7jqA89SyTOP4xR0pS9O_ru04hsfk]]〉〈/FromUserName〉
〈CreateTime〉13545424186〈/CreateTime〉
〈MsgType〉〈![CDATA[video]]〉〈/MsgTe〉
〈Mediald〉〈![CDATA[DBVFRlj29LB2hxuYpcOR6V LyxwgyCHZPbRj_lls6YaGhutyXUKtFSDcSCPeoqUYr]]〉〈/Mediald〉
〈ThumbMediald〉〈![CDATA[mxUJ5gcCeesJwx2T9qsk62 YzlclCP_HnRdfTQcojlPeT2G9Q3d22UkSlyBFLZ01J]〉〈/ThumbMediald〉
〈Msgld〉5836981613212624665〈/Msgld〉
〈/xml〉
其中:ToUserName是信息接收者的微信账号,FromUserName是信息发送者的微信;CreateTime为信息创建的时间;MsgType为信息类型(视频);MediaId为多媒体信息序号;ThumbMediaId是多媒体信息缩略序号;MsgId则为信息的序号。学生数据发送到微信平台,效果如图4所示。
图4 数据发送示例
(2) 接收示例
〈xml〉
〈ToUserName〉〈![CDATA[cllc4jygdO_cRnVXk_wc3eSywcc Q3]]〉〈/ToUserName〉
〈FromUserName〉〈![CDATA[gh_b629c48b653e]]〉〈/FromUserName〉
〈CreateTime〉1372310544〈/CreateTime〉
〈MsgType〉〈![CDATA[video]]〉〈/MsgType〉
〈Title〉〈!关键字检索数据]〉〈/Title〉
〈Description〉〈!CDATA[关键字检索数据]]〉〈/Description〉〈Mediald〉〈![CDATA[DBVFRlj29LB2hxu YpcOR6VLyxwgyCHZPbRj_lls6YaGhutyXUKtFSDcSCPeoqUYr]]〉〈/Mediald〉
〈ThumbMediald〉〈![CDATA[mxUJ5gcCeesJwx2T9qsk62 YzlclCP_HnRdfTQcojlPeT2G9Q3d22UkSLyBFLZ01J]]〉〈/ThumbMediald〉
〈/xml〉
其中:ToUserName为信息接收者的微信账号;FromUserName为开发程序员的微信账号;CreateTime是信息创建的时间;MsgType则为信息类型(视频);MediaId为多媒体信息序号;ThumbMediaId多媒体信息缩略序号;MsgId信息序号。学生查询数据,数据接收的效果如图5所示。
图5 关键字数据接收
这样充分利用微信的信息接口与XML[15]技术实现了与原有信息平台的交互。
4 结 语
本文对原有琴房信息管理系统进行分析,发现在实际使用过程中存在安装不便捷,访问地址难记忆,耗内存,跨平台难,开发成本高等问题。针对于此,本文给出了在原有信息平台基础上拓展开发微信公众号方式的解决方案,该方案具有开发成本低,易推广,不占内存,耗电低,且与原有系统能无缝对接等优点,并详细阐述了该系统的开发框架与实现过程,经过运行和测试,反馈良好,达到了预期的目标。
[1] 郭绍青,黄建军,袁庆飞.国外移动学习应用发展综述[J].电化教育研究,2011(5):105-109.
[2] 白 浩,郝晶晶.微信公众平台在高校教育领域中的应用研究[J].中国教育信息化,2013(2):78-81.
[3] 微信公众平台消息接口指南[EB/OL].[2013-08-17].http://mp.weixin.qq.com/wiki/index.php?title=消息接口指南.(Message Interface Guide of WeChat Public Platform[EB/OL].[2013-08-17].http://mp.weixin.qq.com/wiki/index.php?title=消息接口指南).
[4] 里克特[美].Microsoft.NET框架程序设[M].李建忠译.北京:清华大学出版社,2003:105-155.
[5] 朱学伟,朱 昱,徐小丽.基于碎片化应用的微型学习研究[J].现代教育技术,2011(12):91-94.
[6] 王晓岗,张 星,李 静,等.开放实验教学管理研究[J].实验技术与管理,2013,30(4): 155-157.
[7] 魏萍萍,王翠茹,王保义,等.数据挖掘技术及其在高校教学系统中的应用[J].计算机工程,2003,29(11) :87-89.
[8] 迟宗正,赖晓晨,惠 煌,等.计算机组成原理实验新教学模式研究实践[J].实验技术与管理,2015,32(5):232-235.
[9] 陈 静,向隆刚.分布式异构栅格数据的集成管理研究[J].武汉大学学报(信息科学版),2011,19(1):51-54.
[10] 姜爱福,李长云.分布式查询优化的技术实现[J].计算技术与自动化,2005(1):71-77.
[11] 谢文亮.移动互联网时代学术期刊的微信公众号服务模式创新[J].中国科技期刊研究,2015,26(1):65-72.
[12] 山 峰,檀晓红,薛 可.基于微信公众平台的移动微型学习实证研究——以“数据结构公众平台”为例[J].开放教育研究,2015,21(1):97-104.
[13] 詹 恂,严 星.微信使用对人际传播的影响研究[J].现代传播(中国传媒大学报),2013(12):112-117.
[14] 梁乐明,曹俏俏,张宝辉.微课程设计模式研究——基于国内外微课程的对比分析[J] .开放教育研究,2013,19(1):65-73.
[15] 王晓玲.微信与QQ支持下基于任务驱动的协作学习之比较研究[J] .电化教育研究,2013(11):98-102.
TheDesignandImplementationofPianoRoomManagementSystemBasedonWechatPlatform
ZHANGGuohua,XUJianjun,PENGXiaohan,WANGHailin
(Taizhou College, Nanjing Normal University, Taizhou 225300, Jiangsu, China)
The present piano room management system and teaching methods are comparatively outdated, such as the utilization efficiency of the equipment is low, and theinformationization levelof old WEB piano room management systemis not high, coveragence is small, and use is inconvenient.Concerning these problems, this thesis probes into the application of Wechat, with its powerful programming interface and wild coverage of student population.Wemakeand push teaching videos, present reservation of equipment and its management, monitorclass teaching, and and carry outtesting and evaluation.These measures make piano room management more convenient and scientific.Teachers and students can convey and receive information at real time, thus management efficiency and teaching and learning qualitiesare greatly improved, and the aforementioned problemsare solved.The proposed management system is of great application value.The system is running on the line, students and teachers can get information on time.The system can be used to these similarlaboratories.
piano room management; micro-letter platform; development interface; extensible markup language(XML)
TP 311
A
1006-7167(2017)10-0257-05
2017-03-10
教育部Google2014年产学合作专业综合改革项目(PO640068);江苏省高校自然科学研究面上项目资助(15KJB170006)
张国华(1981-),男,江苏南通人,硕士,讲师,教研室主任,研究方向:计算机网络及数据库。Tel.:15896015609;E-mail:596284989@qq.com