63
高校班级管理信息采集小程序的设计与实现
赵 健
(长治学院 计算机系,山西 长治 046011)
摘 要:高校班级管理中辅导员经常需要采集学生信息,而传统方式步骤繁琐,且在数据收集过程中容易出错,同时收集来的数据格式多样,常需人工再次整理,这些都增加了管理者的工作量。文章设计了一个基于小程序的信息采集系统,对该系统的系统架构、模块组成、实现过程进行了阐述。经测试,管理者可方便地利用发布、收集和管理学生在线填写的数据,提高了班级管理中数据的采集效率和正确率。
关键词:小程序;班级管理;信息采集
中图分类号:TP311 文献标识码:A 文章编号:1673-2014(2021)02-0063-04
收稿日期:2020-11-14
基金项目:长治学院科研项目(zc201903)
作者简介:赵 健(1986- ),男,山西长治人,硕士,讲师,主要从事软件工程及数据挖掘研究。
引言
随着信息技术的不断发展,世界已经进入了“互联网+大数据”的时代,高校师生员工对信息化的需求不断增强。尤其是一线辅导员,日常事务繁杂,经常需要掌握大量的,并且进行整理统计。如在新冠日常防疫常态化的大背景下,辅导员必须做好学生的健康监测,每天要统计学生的体温等数据。通常的做法是每个人填写一张表,或者单独发给班干部信息,最后班干部负责把这些信息统计到一个表中去,辅导员再将这些信息交给上级管理部门以供决策。这样就造成了大量的时间和人力浪费,且很容易产生差错[1-2]。
文章基于小程序设计并实现了一个方便的信息采集系统。小程序是一种依托平台无需下载安装即可使用的应用[3],开发成本小、迭代周期短。且拥有庞大的用户体,加之小程序易获得、易操作,使用者无需承担额外软件使用成本,所以小程序这一形式非常适合属性数据采集这一使用场景。
本系统中,管理者可以通过该系统创造一个模板,将之通过转发给其他人员填写。填写完成之后管理者可以查看并修改这些收集来的数
据,也可以将之生成一个excel 表格并下载,提高了信息采集效率和数据正确率。
1系统功能设计
图1是该信息采集系统的功能示意图,其主要功能有:登陆、模板生成、转发、填写信息录入数据库、修改录入数据、清除模板和表格数据、生成表格、下载表格等,其中主要模块具体的作用如下:
(1)登陆模块:管理员登录。
(2)模板生成、转发模块:管理员添加元素生成模板,转发本页面给到聊。
(3)信息录入、修改与删除模块:管理员和普通用户的信息录入,管理员和普通用户提交更新信息、管理员删除模板、数据表数据和数据表。
(4)表格生成与下载模块:已录入数据生成表格、复制表格下载链接。
2021年04月第38卷 第2期
Apr.2021V ol.38.No.2
长治学院学报
Journal of Changzhi University
图1 系统功能示意图
2架构设计与关键技术
2.1系统架构
小程序为开发者提供了一套应用开发框架[4],如图2所示。该框架主要包括:
(1)视图层(View):负责页面结构、样式和数据展示。用WXML、WXSS编写。WXML和WXSS是小程序开发专有文件类型,作用类似于网页前端中的HTML和CSS,但也有自己的一些特点,如WXSS不支持多层选择器等。
(2)逻辑层(App Service):负责业务逻辑、调用API等,用JavaScript语言编写。
视图层和逻辑层是分离的,它们通过数据驱动和事件交互相联系,并不直接操作DOM。具体地说,二者通过系统层的JsBridage进行通信:逻辑层把数据变化通知到视图层,触发视图层页面更新,视图层把触发的事件通知到逻辑层进行业务处理。这样就类似于WVVM模式:逻辑层只需对数据对象进行更新就可以改变视图层的数据展示。
图2 系统架构图
此外,还需实现系统的后台数据存储。小程序支持主流后端技术,如php、Java SpringBoot等,但这些编程方式开销都较大,考虑到此采集系统主要采集比较简单的属性信息,所以选择的云开发平台[5]。
云开发是一套综合类服务的技术产品,将后端所需要的数据库、存储、CDN、静态托管等服务集成到了一起,使用这些服务时无需关心后端服务的搭建与运维,只需要专注于业务逻辑代码的编写,开发效率更高[6]。
2.2云数据库
本系统使用云开发中的云数据库,该数据库是一个基于分布式存储的数据库,它是一个Key-Value数据库,可以认为是一个精简版的MongoDB[7]。该数据库既可以在小程序前端操作,也能在云函数中读写,与关系型数据库不同,它可以方便的增加/删除字段,非常适合信息采集系统的需求[8]。系统最重要的是两张表:admin 表保存手机号和密码,供管理员登陆验证;模板表在管理员在创建模板时生成,管理员需要输入元素的name和tle属性,这个元素的这条记录会插入到以管理员openid为名的表中。
3主要模块实现
3.1登陆模块
在登录模块中,只有管理员能进行登录,其他用户不必要登录。其他用户可以直接通过user/ index.html首页点击进入详情页,但是如果要在详情显示输入模板,则必须通过管理员转发的页面卡片进入,否则没有模板。
管理员登录时,首先在user/index.html登录的是号,调用getUserInfo和slogin获取用户的头像和昵称。之后需要进行手机账号密码验证,验证正确则显示管理员相应的页面,否则则与普通页面的展示无异。
user/index.html在onload函数被调用的时候flag会被置为0(普通用户),如果进行了手机号账号密码的验证,则flag被置为1(管理员)。同时flag会被存到storage中,用于在详情页(index/ index.html)根据flag的值为0或者1来判断是否展示相关按钮。
3.2模板模块
(1)模板生成。管理员验证之后,index/ index.js中的onload方法被执行,此时会有一个模态框弹出,管理员必须输入一个表名,这个表就是存放用户录入的信息的地方。
用html设计一个疫情网页代码只有管理员才可以创建模板。当管理员验证
手机号通过时,进入管理员页面时“添加元素”
64
等按钮才会显示出来。通过点击添加元素来创建模板。模板主要是由所要添加元素的名称和名称对应的英文或者汉语拼音构成。
每次只能添加一个元素。添加元素之后,该元素会渲染到页面中,渲染的次序与添加的次序一致。
图3 创建模板流程图
(2)模板转发。当管理员设计好模板之后,可以先添加自己的信息到数据库中,也可以直接转发到。通过右上角的“转发给朋友”转发,转发的同时会携带连个参数:openid(从此openid的集合中加载模板数据)和classTableName(添加数据到此集合)。
3.3 信息录入、修改、删除模块
(1)信息录入。管理员和用户均可以在各自的详情页面录入自己的信息,录入的信息均为字符串类型,点击“保存”按钮后,调用formSubmit(e)方法,首先会根据用户的openid 在数据库中查询是否存在这个用户的数据,如果存在则用户不能再重复保存,如果不存在,则添加用户信息到数据库中。同时会调用通过一个循环调用setStorageSync()方法把用户提交的信息和当前时间的时间戳添加到本地存储中,当页面重新被打开时,会从本地存储storage中取出数据渲染到表单中。
(2)信息修改。管理员和普通用户均可以修改自己添加到数据库中的信息。通过点击按钮“提交更新”,调用updateInfo()方法,之后从storage中取出“expiry_date”的值,与当前时间相减,如果小于0,则提交修改,并对storage 中的数据尽心更新,如果大于等于0,则storage 中用户数据会被清除并且无法提交修改到数据库。
(3)信息删除。管理员权限。管理员可以通过点击“清除模板和表格数据”调用clearDB()中的两个云函数clearData、clearClassTable来删除模板数据库和用户信息数据库。
图4 信息录入及修改流程图
3.4 表格生成与下载模块
(1)表格的生成。管理员权限。管理员点击“表格生成”,会在productTable方法中调用Excel云函数,在云函数中传入一个模板数据库的名称和用户信息数据库的名称。云函数调用时首先要获取用户数据表中全部数据,结果是一个对象数组,把每个对象中的属性值存放在一维数组中;其次再获取模板数据库中的数据,存入一个一维数组中row中,把row存放在allData中,最终allData成为一个二维数组。之后通过xlsx. build()把allData中的数据转为buffer,通过cloud.uploadFile()把生成的Excel上传到云存储中。
文件上传成功之后,会有一个fileID,通过调用getTempFileUrl(),在fileList中传入fileID,最终获取到的下载地址赋值给fileUrl。
(2
)表格下载。管理员权限。点击“下载
65
表格”,此时表格的下载地址已经复制成功,可以直接粘贴到浏览器地址栏下载,下载后用表格处理软
件打开,可看到数据正常呈现在表格中。
4 总结
经测试,本系统能顺利方便地完成属性信息采集,提高了管理者在日常工作中收集属性数据的效率。采集后的数据既可以在系统中直接查看或修改,并可以生成excel表格并下载。图5是生成表格后云开发平台中的后台运行情况,可以看到已经生成了excel文件,点击复制链接,通过浏览器即可直接下载表格。
图5 表格生成运行情况
下一步工作是开发手写体识别和语音识别功能,进一步方便数据的录入。小程序提供了比较完善的相关扩展插件[9-10]。使用这些插件本
系统已经实现了一些前期工作如身份证识别等。
参考文献:
[1]王辉,李立国,王吉平.重大疫情下信息化支持学生教育管理方案及其实施效果[J].网络安全技术与应用,2021(2):93-94.
[2]荣响逸.新时期高校管理的创新与变革[J].农家参谋,2020(13):245.
[3]张小龙.小程序入口在哪?有什么用?[J].计算机与网络,2017,43(4):50.
[4]秦长春.小程序开发技术[M].北京:人民邮电出版社, 2021:14-15.
[5]黄悦深.“云开发”模式探析及其对图书馆小程序应用的影响[J].图书情报导刊,2020,5(6):22-28.
[6]姜丽希,厉旭杰.小程序云开发超详细实战攻略[M].北京:清华大学出版社, 2020:5-15.
[7]杨众.校园新冠肺炎防疫程序的设计与实现[J].计算机与网络,2020,46(12):68-71.
[8]陈娟,李炜.非关系型数据库与关系型数据库技术综述[J].电子技术与软件工程,2020(18):147-148.
[9]王玉洋.基于小程序的移动学习平台环境构建与系统设计开发[D].南京大学,2018.
[10]小程序官方文档[EB/OL]. developers.weixin.qq/miniprogram/ introduction/plugin.html, 2021,2.
(责任编辑 李 燕)
66
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论