基于微信个人用户的教学辅助工具的设计

2022-09-12

目前, 使用微信的人越来越多, 功能也变得越来越强大, 微信在各个领域也得到了较好的应用, 白浩等人提出了微信公众平台在高校日常教育方面的应用[1], 李光涛等人提出将微信应用于气象服务中[2], 罗国强等人提出基于微信小程序的考试安排工具[3], 罗春花等对微信公众平台在教学工作中的应用进行了研究[4]。众多的应用中有不少是将微信应用到日常的教学工作中, 但大部分是基于微信公众平台和微信小程序进行开发的, 本文则是针对基于微信个人用户进行设计, 结合教师的日常工作特性, 在微信原有功能的基础上, 对教师的使用进行了相应的扩展, 设计了基于微信个人用户的教学辅助工具, 工具使用python语言设计, 调用itchat接口对微信进行扩展, 在一定程度上满足了教师的日常教学工作需求, 使得教师与学生之间的交流更加的人性化, 更有利于教师的教学工作。

一、微信相关知识

现今大部分微信使用类型大概分为三种, 第一种就是微信用户与用户之间的交流, 用户只需注册成功后添加好友进行聊天, 进行发送文字、文件之类的操作;第二种则是利用微信公众平台进行相关的操作, 微信公众平台则是由服务号、订阅号和企业号构成, 用户通过关注相应的订阅号, 可以获取到用户需要的相关的最新信息, 关注相应的服务号可以与其进行交互, 完成相应的业务, 相应的企业号, 只有验证身份后才能关注, 一般是企业内部使用的;第三种则是使用微信小程序进行相应的业务, 微信小程序是可以直接在微信中打开的应用并且不需要下载安装。

针对上述的三种情形, 可以采取不同的方式来进行开发来满足客户的需求, 一般对微信公众平台和微信小程序进行开发使用的是web开发者工具, 对公众号网页进行开发则通过对微信网页进行授权和调试微信JS-SDK来操作, 对小程序则使用特定的小程序的API和页面的开发调试等功能[5]。对普通的微信用户比较常用是itchat接口, 这是一个开源的微信个人号接口, 使用python语言调用itchat接口, 进行模拟微信发送操作。本文主要研究对象则是普通的微信用户, 所以使用itchat接口来进行扩展。

二、教学辅助工具功能设计

工具主要实现的功能分为三部分, 一是教师群发信息确认, 二是分别发送批改作业, 三是设置定时发送功能。教师的日常教学工作应用的对象是学生, 学生可以向进行老师发送作业, 查询等操作, 这些都可以通过微信原有的功能实现, 这里就不进行介绍。

(一) 群发消息确认

由于微信的广泛使用, 很多时候教师通知信息会通过微信群进行发送, 但是很多学生会选择性的屏蔽一定的群但是保持接收消息, 这样就会使得消息不能及时传达到学生那里, 使用教学辅助工具进行发送, 则是要在微信群中发送消息的同时直接对微信群中的每个人都单独发送同样的消息, 工具对学生的反馈结果进行统计, 清楚地了解信息是否传达到, 设定时间, 如果在规定的时间内没有收到回复就再次发送, 时间间隔相同, 直到收到回复。

(二) 分别发送批改作业, 消息

分别发送指的是将不同的内容同时分别发送给不同的用户, 比如学生将完成的作业通过微信提交给了教师, 然后教师将批改后的作业再分发给各个学生, 使用教学辅助工具只需点击一下, 便可以将所有的批改后的作业同时按一定的规则发给对应的学生。同理还可以将测验成绩或类似的表格信息要发送给学生, 但是不想让学生看到除各自以外的学生的信息, 可以同时给不同的学生发送不同的消息。使用教学辅助工具既可以保护学生的隐私, 减少重复操作又提高了工作效率。

(三) 定时发送

实现定时发送, 就需要长时间保持登陆, 程序模拟的是网页版微信的登陆, 所以登陆时间是有限的, 通过编写程序, 保证微信可以实现长时间的登陆, 就不需要每次使用微信都要再扫码登陆。在保持登陆的情况下, 通过设置好发送时间, 便可以在特定的时间发送文件及消息。

三、教学辅助工具具体实现

(一) 教学辅助工具基础功能实现

使用python语言编写代码, 通过调用itchat库, 对微信进行开发, 实现所需功能。

1. 登陆部分

使用itchat库模仿的是网页版微信的登录方式, 使用库中的auto_login () 函数即可实现微信登陆, 执行后扫描二维码进行登陆, 但是一旦关闭程序, 再次执行还需和之前一样的步骤, 这时在函数中添加新的参数hotReload, 只需要在手机上确认一下即可, 不需要再次扫二维码, 这是由于前一次带参数登陆后会在当前目录下生成一个itchat.pkl文件, 因为这个文件的存在, 便不用每次扫描二维码进行登陆。

2. 发送部分

itchat库中自带的可以发送文字, 图片, 文件等内容, 发送格式也是类似的。例如发送文字消息, itchat.send_msg (string, username) , 里面含有两个参数, 第一个是要发送的内容, 第二个则是要发送的用户, 其他类型的文件格式类似。

在发送的时候要特别注意, 有几个比较容易混淆的如备注名、用户名、昵称等, 这些在具体代码中都会使用到。

(二) 教学辅助工具具体功能实现

1. 群发消息确认

教师向对应的微信群中发送要传达的信息, 信息在群里发出的同时, 会给在群里的每一个学生分别发送该信息, 然后学生如果看到了信息, 回复固定的字符串“收到”, 教师如果收到对应的学生发送的“收到”, 便会进行记录, 设置时间间隔初始为半小时 (可以进行修改) , 到了设置的时间, 通过比较记录的进行回复的学生与所有学生的名字, 再对没有回复的学生再次发送, 直到所有学生都继续了回复。

此功能实现需要注册消息方法, 注册方法有两种, 第一种是不带具体对象注册为普通消息的回复, 第二种是带对象参数注册, 对应的对象调用方法实现发送, 此文中使用的是第一种注册方法, @itchat.msg_register (itchat.content.TEXT) 进行注册, reply_msg (msg) 实现发送, msg包含的有微信返回的字典的所有信息, 其中content类型包含的消息类型参数有TEXT, VIDEO等, 此处使用的是TEXT, 之后使用msg['Content']来对接收到的信息进行判断, 如果收到的文本消息是“收到”, 代码则会执行下面的操作, 将发送“收到”的学生的姓名进行记录, 然后到了固定的时间后进行查看, 没有回复的学生继续进行发送消息。

2. 分别发送批改作业, 消息。

以发送测验成绩为例, 教师将某次要发送的成绩表存放在代码的安装目录下, 存储为表格, 填写格式如下:

Id表示的是学生的学号, name则是学生的姓名, 把学生的备注改为和此表中填写的姓名一样, grade表示的是测验成绩, 教师只需点击界面上的发送测验成绩按钮, 便可以将对应的学生的姓名和排名发送给学生自己。

除了分别发送测验成绩外, 工具还可以分别发送教师批改后的作业, 发送多个文件通过对文件进行特定的命名, 初始设置为“张磊.pdf”, 然后将这些文件放入特定的文件夹下, 点击发送后, 代码自动文件发送给对应的学生。

3. 定时发送

实现定时发送首先要保证微信登陆, 代码实现向自己的文件助手发送空信息, 这样保证微信是在持续工作的, 不需再进行登陆, 通过构造定时器实现定时发送, Itchat.send (“”, toUserName=’filehelper’) 向文件助手发送空消息实现保持登陆, 构造定时器, 实现每隔一定时间就对文件助手发送一条空信息, 保证微信登陆。通过设定时间, 在微信登陆的情况下, 在设定时间便会自动进行发送。BlockingScheduler在当前的进程内设定的调度器, 使用add_job () 进行动态添加任务, 到了设定的时间时候就会将设定好的信息及文件发送出去。

四、总结

使用python设计的基于微信的教学辅助工具, 可以实现上述功能, 在一定程度上对教师和学生日常教学交流提供了便利, 使得交流更加人性化, 但是所实现的功能不够全面, 而且现有的是在PC端进行操作, 之后还可以进行拓展, 将代码应用到移动端, 并且实现更多的功能例如上课查勤等, 使得教师的教学工作更加的便利。

摘要:随着微信的使用越来越普遍, 微信现有的功能已经不能够完全满足用户的需求, 本文针对高校教师的日常教学工作的需求, 设计并实现了基于微信的教学辅助工具, 该工具用python语言编写, 对微信的部分功能进行了扩展, 在一定程度上提高了教师的工作效率, 使得教学工作更加的便利。

关键词:微信,教学辅助,Python

参考文献

[1] 白浩, 郝晶晶.微信公众平台在高校教育领域中的应用研究[J].中国教育信息化, 2013 (4) :78-81.

[2] 李光涛, 王飞.浅析微信在气象服务中的应用及发展[J].农家参谋, 2018 (15) :155-158.

[3] 马国强, 路佳.基于微信小程序的高校期末考试智能安排工具[J].信息技术与信息化, 2018 (5) :55-58.

[4] 罗春花, 李琼, 陈颖等.基于微信公众平台辅助教学实施的研究与开发[J].电脑知识与技术, 2018, 14 (20) :165-167.

[5] 微信公众平台、小程序开发工具 (https://developers.weixin.qq.com/miniprogram/dev/devtools/devtools.html) .

本文来自 99学术网(www.99xueshu.com),转载请保留网址和出处

上一篇:田口方法在汽车导航显示器设计中的应用下一篇:“营改增”对企业会计核算的影响及优化建议