高校教务部门微信公众平台的设计与开发

2016-10-28 04:38左佳丽屈军锁
计算机测量与控制 2016年7期
关键词:课表账号服务器

左佳丽,屈军锁,孙 阳,占 伟

(西安邮电大学 通信与信息工程学院,西安 710061)

高校教务部门微信公众平台的设计与开发

左佳丽,屈军锁,孙 阳,占 伟

(西安邮电大学 通信与信息工程学院,西安 710061)

为了在移动互联网这种新形势下,将技术发展的便利带入到生活的各处,以校园环境为背景,借助微信公众平台实现一个学校部门教务管理系统的设计与开发,为高校的学生提供了便捷、实时的信息交互查询;首先申请微信公众号,选择采用订阅号形式的微信平台,然后在账号的管理设置中启用开发者模式,将微信平台配置到可自主开发的服务器上;最后在服务器上使用PHP编程语言完成功能的逻辑设计,结合MySQL数据库进行数据的存储等操作,开发身份认证、成绩查询、课表查询等功能模块,并将其搭载到微信平台上;整个过程中对微信公众平台开发的整个流程进行了解并实际操作,并用代码实现了相应功能;测试结果显示,该微信平台基本达到预期要求,能进行身份识别,绑定,并完成各种信息查询等。

微信公众平台;教务管理;设计开发

0 引言

随着时代发展和技术的进步,各种智能移动终端逐渐普及,原来的信息发布架构在移动终端上出现了系统兼容性和界面友好性等问题,已经不能完全满足移动用户的新要求。伴随着手机和移动网络的快速普及,信息迅速发展,微信作为具有代表性的网络社交平台,以其方便快捷的交流方式风靡高校,正在被广大的年轻群体普及应用,特别是在校大学生,微信已成为必不可少的一个信息交流平台[1-2]。随着微信产品不断升级,校园微信平台发展潜力巨大,是开展学生工作,教务工作等亟需借助的平台[3]。将微信公众平台与高校内部的各个校园信息系统进行对接,实现用户通过微信查询各种校园信息的功能。对内能够给学校一个及时了解学生动态并进行学生思想教育工作的平台。对外能够形成一个学校品牌,塑造学校形象。

让学生在微信平台上方便查询与自己相关的各种信息,比之前进入PC端教务系统主页查询更为方便。微信是在智能手机上操作,简单且随时随地可以查询信息[4-5]。这样更有助于消息的发布和扩散,提高学校工作的效率。学校发布的各种公告和通知得到了有效的利用,也让学生及时了解校园动态。为学校的建设和学生的生活学习都提供了便利。

1 微信公众平台及环境搭建

1.1 微信公众平台相关介绍

微信公众平台账号申请:账号分为订阅号和服务号[6]。订阅号,可以订阅一些自己关心的内容,然后来获取相应的服务,而服务号则更侧重于用户主动获取所需要的服务内容。

微信公众平台使用分为编辑模式和开发者模式[7]。编辑模式可以根据预先设定的关键字进行对应的回复。而开发者模式则可以编写程序根据需求实现不同的功能和消息回复。因此选择使用开发者模式实现该平台。微信平台订阅号与服务号的区别详见表1。

表1 微信平台订阅号与服务号区别

本平台开发理念,以服务为主,主要提供学生课程表查询,学生成绩查询等服务,为学生提供更加方便快捷的服务平台,以此吸引学生关注此平台。在学生关注的基础上适当的进行思想教育的引导和指引。目前测试平台使用订阅号下的开发者模式。

1.2 搭建开发环境

首先需要在微信公众平台的官网上注册申请一个账号,选择相应的类型并提交相关信息即可。在审核通过后可以登录到公众账号的后台,进行相关的设置。在高级功能中选择开发者模式。在开发者模式中,需要一台服务器做支持,目前选用linux+php+mysql平台做程序支撑。当用户发送消息时,微信官方服务器将用户消息以xml数据的形式转发到服务器,该数据形式中就已经包含以下要用到的openid的信息。经过我们的程序处理后,再按照指定的格式提交给微信官方服务器,再由微信官方下发给用户,从而实现一次消息的发送,如图1所示。

图1 微信平台中信息流向图

由于这里需要涉及教务等一些内部的信息,所以选择利用微信平台提供的接口,主要的程序和数据都放在自主服务器上。在后台配置好对应的服务地址。然后在匹配的服务器地址上加上需要配合认证的代码,如下:

require_once("conn.php");

//define your token

define("TOKEN", "xuptgr");

wechatObj = new wechatCallbackapiTest();

//wechatObj->valid();//判断服务器是否可用

wechatObj->responseMsg();

初次提交时,主要通过wechatObj->valid();判断该服务器是否可用。在认证服务器完成之后,主要涉及以下模块的开发。

class wechat Callbackapi Test

{

public function valid(){} //判断该服务器是否可用

public function response Msg(){} //获取输入,对应处理后,返回输出

private function check Signature(){} //认证服务器地址是否正确

}

本次开发主要在responseMsg()函数中,对输入进行判断处理后,返回对应的输出。

2 功能实现

本次开发以实现校园应用为背景,主要用于实现用户的微信号与身份信息绑定之后,可以直接查询用户自身的成绩以及课表信息等,如图2所示。

图2 功能关系图

2.1 身份认证

平台实现成绩查询等功能必然会需要访问到学生的数据,因此数据安全问题是平台建设过程中最大的问题。针对用户每次的输入操作,对其输入的内容都要严格的判定内容的规范性。

每个人的成绩等数据都是个人隐私,需要保密的,因此,在平台设计中,验证用户身份使用来保证信息安全,同时每个微信号码只能绑定一个用户身份来确保学生数据安全。

在微信平台中用唯一的openid来区分每个微信用户在该公众号中身份。数据库中存放绑定信息表:主要存储微信openid与学生学号的对应关系。学生信息表:这里主要存储学生在学校中的学号,专业班级等信息。身份验证需要预先将学生数据信息录入,然后通过与学生他提交的信息进行比对,确认学生身份后方能提供查询功能。这样不仅能够确认学生信息的安全,也能够让学生更加方便的查询自己的信息,而不用每次都提供自己的身份信息,如图3所示。

图3 用户身份认证流程图

用户输入相关的信息之后,将用户的openid与数据库中的信息进行比对,如果该用户已经绑定了自己的账号,则显示对应操作的结果。如果没有,则提示用户先输入学号信息进行账号绑定,再进行相关操作。在微信中,每一个微信用户都有一个唯一的openid值,用户验证通过后,将学生学号与openid值进行绑定,从而完成身份信息的认证与绑定。绑定成功后,将用户信息存储到数据库中,完成学生信息绑定。部分实现代码如下:

if(empty( name )) {

西江可视化发展稳步推进,各部门可共享水上“千里眼”;多部门联合持续高压打击西江违法采运砂船,水上交通安全形势持续稳定;市级自用船管理办法在省内率先出台……自去年平安西江创建工作开展以来,西江肇庆段水域的安全监管成果显著,安全形势愈发稳定,船舶航行放心,海事监管尽心,市民出行安心。

str.="输入西邮研究生学号进行身份认证,通过认证即可查询成绩等信息。(认证即将账号绑定,查询便只针对绑定账号)";

}

else{

qd="INSERT INTO `id_mark` (`xupt_openid`,`xupt_num`) VALUES ('fromUsername','keyword')";

red=mysql_query(qd);

if(red==1)

str.="绑定学号{keyword}成功。回复8,9查询成绩,回复1-5可查询对应星期的课表。";

else

}

2.2 成绩查询

在完成身份绑定之后,可以根据该用户的openid从绑定信息表中,获取对应学号,系统中建立存储考试成绩的数据表。成绩/课表等实际的数据可对接学校教务处的数据库。

在测试平台中,定义数字8为成绩查询。当接收到数字8时,如上述所说,获得学生的学号,然后从成绩表中查询到相应成绩信息,最后通过消息返回。部分实现代码如下:

qc = "SELECT * FROM `student_mark` WHERE `xupt_num`='num' ";

rec=mysql_query(qc); i=1;

while(rc=mysql_fetch_assoc(rec)){ while(rc["xupt_coursei"]!=NULL){ course=rc["xupt_coursei"]; mark=rc["xupt_marki"];

str .= "course mark ";

i=i+1;

}

}

2.3 课表查询

课程安排表:主要存储学生对应选定的课程安排信息。将全院课程表按照指定格式读入到数据库,然后根据学生的学号进行查询,如图4所示。

图4 查询课程表信息流图

在课程表查询功能中,如果是正常的查询请求,则去数据库中查找该账号绑定学号的课程信息,回复给用户,默认将数字1~5分别对应为自己周一到周五的课程信息,学生只需要回复1~5数字即可快速查询对应的课程信息。部分实现代码如下:

sq = "SELECT * FROM `student_choose` WHERE `xupt_num`=num ";

sql="SELECT * FROM `base_timetable` WHERE `xupt_name`='choose' and `xupt_class1`='cclass' AND `xupt_week`=keyword'";

//对查询的结果按照时间的先后顺序排序后再输出

for(i=1;i

for(m=i+1;m

for(j=1;j

for(n=i+1;ntimetable[m]["xupt_time"]){

str=timetable[m];

timetable[m]=timetable[i];

timetable[i]=res;

}

}

}

3 实验结果与分析

在没有经过认证绑定的时候,输入任何信息,回复提示绑定信息,如图5所示。

图5 提示认证绑定信息界面

绑定信息成功后,提示操作:回复8查询成绩,回复1~5可查询对应星期的课表,如图6所示。

图6 绑定学号成功界面

输入1,即可查询周一本人的课程信息。具体查询的成绩和课程表的信息可参照图7和图8。

图7 查询成绩和课表界面 图8 输入错误时处理界面

4 结语

微信公众平台,在附加在微信基础上的一个应用,不用额外的去下载app等,用户会比较容易接受,并且信息主要以文字为主,请求的数据量较小,对实施服务器的性能影响较少。相比于网页访问,在应对大量访问量时,是一个缓解服务器压力的较好方法。管理者所需处理的数据量明显减少,只需花费较少的精力,就可以让平台平稳运行,正常工作。所以微信公众平台功能的实现及使用,不仅可以将信息更快更加稳定的传达给用户,而且有效地节约了服务器硬件设备资源。

本次设计开发的微信平台在整体上能满足学生平常的需求,当然还有改进和提升的空间,其功能也可以更加的完善。但是完成了一个基本微信公众平台开发的整个流程,并对需求进行了分析和具体实现。实现了预期的效果。

同时微信公众平台也有着诸多的不足,比如菜单功能还不是完全开放,群发功能受到限制等。在今后的工作研究中还要继续寻找和开发更多更好的功能为学校和学生服务。

[1] 搜搜百科:微信公众平台[EB/OL].http://baike.soso.com/v58378222.htm.

[2] 百度百科:微信公众平台[EB/OL].http://baike.baidu.com/view/9212662.htm.

[3] 观察:微信公众平台开发的两种方向[EB/OL]. http://mobile.51cto.com/comment-388760.htm.

[4] 易 伟.微信公众平台搭建与开发揭秘[M].北京:机械工业出版社,2013.

[5] 杨尚琴.基于微信平台的公共图书馆个性化参考咨询服务研究[J].图书馆学刊,2015,10: 61-63.

[6] 微信公众平台API文档[EB/OL]. http://mp.weixin.qq.com/wiki/home/index.html.

[7] 微信公众平台官方[EB/OL].http://mp.weixin.qq.com.

Design and Implement of Academic Department Based on WeChat Public Platform

Zuo Jiali, Qu Junsuo, Sun Yang, Zhan Wei

(School of Communication and Information Engineering, Xi’an University of Posts and Telecommunications, Xi’an 710061, China)

To bring the advantages of technology development to life in the new situation of mobile Internet, a school educational administration management system for colleges and universities by WeChat public platform was designed and developed. It base on the campus environment to provide students a convenient, real-time information search. Firstly, apply a WeChat public platform account and use the subscription type. Then, configure it in developer mode and deploy it to an independently developed server on the account manager settings page. Lastly, use PHP programming language to design functions and combined with MySQL database to store data on the server. Complete the authentication, results query, schedule query functions and mounted on the WeChat platform. During the process of developing WeChat public platform ,to know the procedure and achieve the expected functions with code. The test results show that the WeChat platform attained the expected requirements, and can distinguish identification or bond, complete different kinds of information inquiries, etc.

WeChat public platform; educational administration; design and develop

2016-01-08;

2016-01-29。

左佳丽(1989-),女,江西人,硕士研究生,主要从事物联网技术及应用方向的研究。

1671-4598(2016)07-0241-03

10.16526/j.cnki.11-4762/tp.2016.07.065

TP311 文献标识码:A

猜你喜欢
课表账号服务器
学生出招解决”日课牌“问题
彤彤的聊天账号
如果我是校长
施诈计骗走游戏账号
通信控制服务器(CCS)维护终端的设计与实现
我国社交媒体账号的对外传播之道——以“人民日报”Facebook账号“特朗普访华”议题报道为例
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
Google Play游戏取消账号绑定没有Google账号也能玩