APP下载

基于微信小程序的扫码考勤系统设计与实现

2021-03-13田思

现代信息科技 2021年15期
关键词:小程序考勤学风

摘  要:课堂考勤是学风建设的重要抓手,为了实现快速高效的考勤管理,提出基于微信小程序的考勤系统,利用小程序的扫码功能,实现由教师等考勤管理人员主导的传统课堂考勤功能,将新技术与传统方式相结合,有效弥补了传统考勤方式的不足,提高了考勤效率。借助于本地缓存空间来减少数据传输的网络依赖,提高程序可用性,同时在小程序端即可完成Excel格式的考勤数据导出,实现便利的数据统计和后期数据再利用。

关键词:学风;小程序;考勤

中图分类号:TP315                    文献标识码:A文章编号:2096-4706(2021)15-0005-04

Abstract: Classroom attendance is an important grasp in the construction of study style. In order to achieve fast and efficient attendance management, the attendance system based on the WeChat applet is proposed, which uses the code scanning function of the applet to realize the traditional class attendance function led by the attendance managers such as teachers. The combination of new technology and traditional methods effectively overcomes the shortcomings of traditional attendance methods and improves the efficiency of attendance. To reduce the network dependency of data transmission with the help of local cache space, so as to improve the program availability. At the same time, the attendance data in Excel format can be exported at the applet side to realize convenient data statistics and later data reuse.

Keywords: study style; applet; attendance

0  引  言

本科生是高素质专门人才培养的最大群体,本科阶段是学生世界观、人生观、价值观形成的关键阶段[1]。不断加强学风建设,激励学生刻苦读书,已成为以本为本,立德树人的重要基础保证。课堂考勤是严格课堂教学管理,建设优良学风的基本措施。传统的口头点名、手工签到等方式,存在耗时长、易顶替等问题,效率较低。随着科技的发展,出现了很多基于指纹、人脸、蓝牙等手段的考勤方式,然而,这些考勤手段需要借助额外的硬件设备,增加了使用成本[2]。

如何低成本高效率地实现课堂考勤管理正是本文要解决的问题。为此,本文提出了基于微信小程序的考勤系统,利用微信小程序这一被广泛使用的微信扩展功能进行开发,无须额外安装任何APP,大大节省了教师及学生的使用成本。截至2021年6月底,微信及WeChat的月活跃用户数高达12.51亿,微信小程序提供了一个简单、高效的应用开发框架和丰富的组件及API,可以使开发者在微信中开发具有原生APP体验的服务,减少开发成本。

1  课堂考勤方式现状

目前各高校课堂考勤根据考勤方式与技术手段的不同可分为传统人工识别考勤、智能硬件识别考勤、智能软件识别考勤三种类型。

1.1  传统人工识别考勤

传统人工识别考勤包括任课教师现场点名、辅导员及学风督察干部课堂检查等,这种考勤方式应用最为广泛,无须借助任何技术手段,执行相對灵活。但其也存在着许多缺陷和不足,比如存在耗时长、易顶替;考勤记录具有主观性,缺乏有效监督;考勤记录表容易丢失,影响出勤评价[3]。

1.2  智能硬件识别考勤

智能硬件识别考勤主要是通过部署专门的硬件设备,以Wi-Fi、RFID、指纹识别、人脸识别、虹膜识别等方式实现考勤,这种方式具有考勤效率高、数据统计较为便利,可以有效解决代考勤等作弊行为,然而这种方式也存在硬件设备部署费用较高,容易受环境条件影响,识别准确度很难达到100%,此外,还存在指纹、人脸、虹膜等个人核心隐私数据泄露的风险。

1.3  智能软件识别考勤

智能软件识别考勤包括使用各类专门考勤软件(或使用通用软件设计的专门模块或插件)来实现考勤。目前被广泛使用的有钉钉、微信公众号、微信小程序等。采用软件方式实现考勤在提高考勤效率的同时也可以减少额外配置硬件设备的费用支出,此外,考勤数据也可以较好地保存和再次利用,但目前的方式也存在着易顶替或者学生远程打卡等问题。

为了能够低成本高效率地实现考勤目标,同时解决前面所提到的主流考勤方式的高成本、易顶替等问题。笔者提出了基于微信小程序的扫码考勤系统,这一系统以教师或考勤管理人员为主导,充分结合传统人工识别考勤与智能软件识别考勤各自的优势,有助于在效率与精准性之间取得平衡。

2  考勤小程序设计思路

基于微信小程序的考勤系统,主要是通过管理端小程序扫描学生证号条形码的方式快速实现考勤目标,由于学生证号的唯一性且仅为学生在校代码,并不会造成泄露后的安全风险。条形码技术具有成本低、适用性广、采集信息速度快以及量大、可靠性高、灵活实用、便于机器与人工识别等优点。在条形码的生成上笔者使用了开源程序barcodebakery[4],采用code128编码格式,因为code128编码可以容纳更多字符,在同样字符长度下,条码长度更短,且支持纯数字编码,可以很好地满足学号编码的要求。所生成的条形码保存为图片格式分发给学生,学生可以将条形码打印出来或者直接保存在手机中,考勤时现场出示即可。学生在考勤过程中只需出示个人学生证号条形码,无须打开任何应用。由于教室等人员密集场所,经常会出现多个设备占用同一信道,这会导致信道堵塞,数据包无法及时发送,进而造成网络延迟情况的发生,而微信小程序对离线扫描功能的支持,可以在无任何网络的条件下实现正常的条码识别功能,这样就大大减少了程序对网络环境的依赖,提高程序可用性,保障考勤工作顺利进行。

基于微信小程序的扫码考勤系统架构图如图1所示,微信小程序利用扫描接口,实现条形码数据的识别,并将数据暂存在小程序的缓存空间中,在考勤管理人员点击上传数据后与后端服务器进行数据交互(后端服务器部分采用Nginx+PHP组合,数据库采用MySQL),服务器端在接收到小程序发送过来的JSON数据请求后,再与数据库进行关联并将对应的数据传送给MySQL数据库进行存储,完成考勤过程。考勤管理人员通过小程序数据管理页面可以实现考勤数据的查看或者是将其以Excel 表格形式导出,无须执行电脑操作即可完成对考勤数据的查看和管理,极大地提高了操作便利性。

3  小程序功能

3.1  登录页面

在该页面中主要实现考勤管理人员的登录。鉴于考勤人员可能为学生代表、学生干部等,为了防止考勤管理人员账号被冒用或借用的可能性,程序加入OpenID唯一标识的认证,在考勤管理人员第一次登录时系统获取该用户的唯一标识并存入数据库中,当其他用户使用其账号登录时,将无法完成登录。

3.2  考勤页面

在该页面中主要实现条码的扫描功能,考勤管理人员需输入课程的地点、课程名称等信息,以便形成完善的考勤记录信息。笔者在实现扫描功能时使用了小程序提供的媒体组件中camera组件[5],并设计其mode=“scanCode”,这样可以实现连续条形码扫描功能,减少考勤人员的操作步骤,提高考勤效率。

3.3  数据管理页面

在该页面中主要实现考勤数据的导出查看功能,考勤管理人员可以通过课程名称、上课地点、考勤时间等信息,筛选出考勤结果并可以以Excel表格的形式导出相关数据,方便后期的统计与管理。

4  小程序实现

4.1  关键数据表

该小程序主要的核心数据表包括考勤管理人员表、学生信息表、考勤数据表3个表格。学生信息表、考勤数据表通过StuID学号来实现数据的关联,考勤管理人员表与考勤数据表通过User_id关联。数据表关联情况如图2所示。

学生信息表用来存储学生的基本信息,包括学号、姓名、班级、手机号、性别、年级。学号与小程序前端扫码识别结果进行关联,实现考勤信息表数据的自动匹配。学生信息表的设计结构如表1所示。

考勤数据表用来存储考勤信息,包括课程名称、上课地点、考勤时间等,其中学号、姓名、班级数据通过与学生信息表的关联获取,考勤人、考勤人ID通过与考勤管理人员表的关联获取,具体结构如表2所示。

考勤管理人员表用来存储考勤管理人员的信息,包括人员ID、小程序用户唯一标识、登录用户名、真实姓名、登录密码、手机号、最近登录时间、最近IP时间、是否有效账号等字段。其中,小程序用户唯一标识将在管理员第一次登录时自动获取并记录,且不允许被修改,具体结构如表3所示。

4.2  关键代码

该系统的核心功能是实现条形码或二维码数据的读取,并将学号数据与学生信息及课程信息进行关联,存储在小程序的缓存空间,在点击上传数据之后再将数据批量上传到后台数据库中。这样可以减少数据传输的网络依赖,大大提高系统的可用性。系统关键代码为:

... ...

//掃描结果

takeCode(e) {

that = this;

if (e.detail.result == that.data.stuID) {} else {

if (that.data.students[e.detail.result] == undefined) {

Toast(‘请扫描正确的学号!’);

} else {

that.setData({stuname: that.data.students[e.detail.result].name})

let info = that.data.stulist;

info.push({stuID: e.detail.result,name: that.data.stuname,class: that.data.students[e.detail.result].class,Time: this.todayTime()});

that.setData({stuID: e.detail.result,stulist: info})

let num = that.data.stulist.length;

this.setData({numberVal: num})

wx.setStorage({data: that.data.stulist,key: ‘stulist’,})

}

}

}

... ...

4.3  小程序展示

小程序主要拥有登录、考勤、数据管理三个页面,可以实现多位考勤人员同时使用并在后台实现数据的自动整合,方便学校或学院的学风督察人员同时对同一班级进行快速考勤,提升效率。在登录页面中将调用wx.login()接口,获取临时登录凭证code,并将其回传到服务器。服务器端调用auth.code2Session接口,获得用户唯一标识OpenID[6],如果用户是第一次登录,OpenID将被更新到考勤管理人员信息表中,以防止账号被盗用。在考勤界面可以动态显示当前已经考勤的合计人数,并在顶部显示当前考勤学生的学号、姓名信息,方便考勤人员进行核对。该页面中的课程名称和教室位置信息是由考勤人员手动填写的,这样可以提升程序的适用度,使考勤人员可以更加灵活地进行设置,避免因课程调课、更改上课地点等情况而引发一系列的问题,具体界面如图3所示。

数据管理页面中,管理人员可以通过筛选课程、上课地点及时间快速地实现考勤数据的导出,导出完成后会自动打开考勤结果的表格(Excel格式),可以方便后期的统计及数据再利用,具体界面如图4所示。

5  結  论

综上所述,基于微信小程序的扫码考勤系统,利用小程序扫描接口,实现由教师等考勤管理人员主导的传统课堂考勤功能,将新技术与传统方式相结合,有效弥补了传统考勤方式的不足,目前该小程序已经成功上线并应用于考勤实践过程中,在与传统考勤方式的对比中显示出明显的优势,可以大大缩短考勤人员后期数据处理的时间,提高考勤工作的效率。该方案也可以为有着同类需求的院校提供参考,同时由于考勤课程名称和教室位置可以自主填写,也为该小程序实现学生会议考勤、招聘宣讲考勤等扩展应用带来可能性。

参考文献:

[1] 中华人民共和国教育部.教育部关于加快建设高水平本科教育全面提高人才培养能力的意见 [EB/OL].[2021-06-15].http://www.moe.gov.cn/srcsite/A08/s7056/201810/t20181017_351887.html.

[2] 朱丽进.基于微信小程序扫码考勤系统设计 [J].电脑知识与技术,2019,15(33):55-56.

[3] 牛作东.基于计算机视觉的课堂实时考勤系统的设计与实现 [D].贵阳:贵州大学,2020.

[4] Barcode Generator by Barcode Bakery [EB/OL].[2021-07-01].https://www.barcodebakery.com/.

[5] camera | 微信开放文档[EB/OL].[2021-06-21].https://developers.weixin.qq.com/miniprogram/dev/component/camera.html.

[6] 小程序登录 | 微信开放文档[EB/OL].[2021-06-21].https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html.

作者简介:田思(1987—),女,土家族,湖南凤凰人,中级馆员,硕士研究生,研究方向:思政研究、信息咨询。

3320500338276

猜你喜欢

小程序考勤学风
辅导员视角下的“抓学风”
基于人脸识别技术的考勤应用研究
智能人脸识别考勤系统
便携式指纹考勤信息管理系统设计
微信的“小程序”值得跟风吗?
超级微信的“小程序”
陈嘉庚精神与“诚毅”学风的形成
“最严考勤”难留学生心
关于改进高校学风的思考
大学学风建设探究