高校普适性融合预约管理平台研究与实现

2021-03-09 03:17王光武周纯玉吴俊峰
中国教育技术装备 2021年4期
关键词:微信小程序高校图书馆

王光武 周纯玉 吴俊峰

摘  要 为有效解决高校浴池、超市、图书馆等公共区域排队、占位、抢预约等乱象,构建一个具有多区域整合功能的预约管理系统。在系统需求、流程分析、功能设计的基础上,基于微信小程序开发一个普适性融合预约管理平台,不仅实现多个公共区域融合预约管理,而且具有整体性、开放性、便捷性等特点,在疫情常态化防控期间,能够快速有效地推广应用。

关键词 高校;普适性融合预约管理平台;图书馆;微信小程序

中图分类号:G647    文献标识码:B

文章编号:1671-489X(2021)04-0022-04

Research and Implementation of Universal Integration Reserva-tion Management Platform in Colleges//WANG Guangwu, ZHOU Chunyu, WU Junfeng

Abstract In order to effectively solve the problems of queuing, occu-pying seats and grabbing appointments in public areas such as uni-versity baths, supermarkets and libraries, an appointment manage-ment system with multi regional integration function was constructed.

On the basis of system requirements, process analysis and function design, a universal integration reservation management platform is developed based on WeChat applet, which not only realizes the inte-gration reservation management of multiple public areas, but also has the characteristics of integrity, openness, convenience, etc., and can be quickly and effectively promoted and applied during the regular epidemic prevention and control period.

Key words colleges and universities; universal integration reserva-tion management platform; library; WeChat applet

0 引言

高校圖书馆自习室、机房设备、浴池喷头等公共设施是按照学生平均比例进行配置的,在资源有限而学生应用又相对比较集中的情况下,就会出现排队、占位等乱象。传统的管理方式是安排专门人员进行疏导沟通,既浪费人力资源,又无法从根本上排队解决问题,“排队乱、抢座难”的现象依然存在[1]。这就需要通过建立一种预约机制,从源头上解决学生排队问题,避免密集情况的发生。

预约,就是事先约定时间,然后按时履行约定内容。对于学生来说,有了“约”的意识和自觉后,可以节省漫长的排队等候时间,日常的学习、工作、生活变得计划性更强。预约机制的建立需要依托预约管理系统。

高校预约管理平台大多是基于.NET开发的,如刘烁等基于.NET开发了高校实验室管理系统,黄浩等基于.NET设计了开放实验室预约管理系统。基于.NET开发的平台主要应用于PC端,手机端兼容性不够友好,在当前移动终端普及的背景下,不利于方便快捷应用和推广[2-3]。近两年来,也有部分预约管理是基于微信小程序开发的,如董傲通等基于小程序开发了实验室设备管理平台,黎子达等基于小程序开发了教室预约系统,但是研究的方向主要是单一场景的应用,由于系统间相互独立,缺少统筹管理,既造成学生预约操作上的烦琐,也造成学校信息管理上的“孤岛”[4],进而又衍生出“抢占”多区域预约资源的问题。构建具有多区域融合功能的预约管理平台是解决这些矛盾问题的有效途径。

在疫情防控期间,为控制疾病传播,一些社会公共服务或活动都需要预约。有了预约,既降低了疾病传播风险,也使得管理更加井然有序。随着新冠肺炎疫情防控由应急性超常规防控向常态化防控转变,全国各高校陆续开学。学生返校开学后,学校也需要建立预约机制,实现浴池、超市、图书馆等多个公共区域的预约管理, 做到严控人数、错时错峰,避免因公共区域人员密集造成的疫情传播。因此,有必要构建一个能够在多区域推广应用,并被学生普遍接受和适用的普适性融合预约管理平台,使预约机制更智能、更便捷,使学校现代化管理水平不断提高。

1 普适性融合预约管理平台分析设计

需求分析  高校普适性预约管理平台要能实现学校浴池、超市、图书馆等多个公共区域进行统一预约管理,同时尽可能方便用户操作,提升预约的主动性,减少预约的烦琐性,预约信息要能够可追溯,系统数据要能够可利用。具体在角色配置、区域融合、过程处理等方面需要实现以下功能。

1)普通用户角色要能够查询当前各区域可预约资源的实际情况,并能够选择相应时间,进行空闲资源的预约。用户身份必须是校内师生,杜绝校外人员使用或身份冒用现象发生。

2)管理员角色要分成超级管理员和各预约区域管理员,超级管理员能对所有预约区域进行管理,各预约区域管理员要能实现对本区域预约信息的核验、预约时间的配置、预约资源的调整等管理。

3)区域融合要能够实现对多个区域进行统筹管控,用户在一个时间段内只能进行一个区域的预约,否则系统需要给予用户相应已预约信息的提示。预约时间结束后自动释放预约区域资源,防止造成区域空闲。

4)过程处理要采用简单快捷、先约先得、无审核过程的模式。用户在某个区域的固定时间段内只可预约一次,不可重复预约,防止恶意抢占资源。

管理流程分析  用户初次进入平台需要完善个人信息,包括学号(工号)、姓名、性别三方面内容,不得随意修改,仅允许管理员拥有修改权限。用户通过平台所提供的选项内容,依次完成场所、时间段、预约号码三项内容的选择。用户确认信息分别返回至用户及相应场所管理员,以便管理员进行核验以及用户后续自主查询;如用户否定选择,平台将退回至时间选择阶段,重新进行预约 [5]。

管理员通过程序管理端核验用户的预约时间信息,核实后允许用户进入。同时,管理员要严格控制用户场内的活动时间,预约时间段内要尽快完成,以便场所开展阶段性的消毒环节,以及下一时间段预约用户的正常进入。

整体架构设计

基础设施层:为平台运行提供基础环境保障,包括存储空间、处理器、网络通信等硬件环境以及操作系统、数据库等。

数据层:对各项基础数据进行处理,包括系统的各项基础信息、资源信息、业务数据等。

支撑层:为平台的应用服务提供支持,包含身份认证服務、业务逻辑服务等。

应用层:为平台的各项业务逻辑提供支持。

功能模块设计  整个平台划分为用户前端以及管理员后端两大模块。用户前端包括“我的预约”及“用户信息”,其中“我的预约”实现校园浴池、生活超市、图书馆以及图文打印四个场所的预约功能。管理员后端分为“用户管理”“预约管理”“平台用户管理”,其中“预约管理”针对不同场所对时间设定及入场人员数量的控制要求,分别设计针对该场所的时间段管理和入场人数管理两个功能。平台功能模块如图1所示。

数据库设计  在预约管理平台数据库中主要设计了用户信息表、时间段表、区域表、预约信息表以及一些附加表。数据库的表结构、字段类型、长度等在满足业务处理的需求的同时,还应充分考虑未来业务拓展的需求。预约信息表如表1所示。

2 预约管理平台功能实现

近年来,微信小程序依托于微信庞大的生态体系,凭借其搭建容易、成本较低、管理方便、操作简单等优势被广泛应用[6],同时给用户带来出色的使用体验,适用于普适性观念及行为的推广[7]。因此,普适性预约管理平台选择基于微信小程序进行开发。

用户前端功能实现  用户前端采用uni-app框架完成页面开发,包含“个人信息”和“预约大厅”两个模块。初次登录的用户,首先要在“个人信息”功能中完善个人相关信息。用户输入的个人信息将与平台后端已导入的用户信息进行比对,如存在字段错误,平台将提示用户进行更正。“预约大厅”模块目前已经集成了生活超市、校园洗浴、图书馆、图文打印四个预约场所子模块。

以较为复杂的校园洗浴子模块为例,首先,用户需要选择相应的预约时间段,时间段包括今天、明天两天,每天内再分为若干可由管理员自定义的小时间段。其次,用户完成时间选择后进行喷头号码选择。为体现号码的不同状态,以及方便用户后续进入该页面查看,平台设计了蓝、绿、灰三种颜色:蓝色表示当前可预约号码,灰色表示当前时间段已被其他用户预约的号码,绿色代表当前用户成功预约到的号码。每个时间段平台所提供的号码数量,即为当前时间段内该场所允许进入的人数数量。用户号码选择完毕,平台将弹出确认信息待用户确认。同时,平台将对用户在其他区域的预约信息进行比对。如同一时间段内,用户已经进行其他区域的预约,本区域的预约将给予用户冲突提示。用户也可在“查看预约信息”模块中查看本人在该场所下已经成功预约的号码和对应时间。

喷头选择关键代码如下:

<view class=″cu-bar bg-white solid-bottom margin-top″>

<view class=″action″>

<text class=″cuIcon-title text-orange″></text> {{gender === 1?'男':'女'}}浴池喷头编号

</view>

<view class=″action″>

<text @click=″refreshPeriods″ class=″text-xl text-gray cuI

con-refresh″ style=″font-size: 50rpx;margin-right: 25rpx;″ ></text>

<picker @change=″periodChange″ mode=″selector″ :

value=″periodCur″ :range=″periodDic″ range-key=″label″  name=

″period″>

<view class=″picker bg-green shadow″ style=″padding: 8rpx 15rpx;border-radius: 8rpx;″>

{{periodName}}

</view>

</picker>

</view>

</view>

预约信息比对关键代码如下:

Student student = getStudentByOpenId(openId);

String curDay = getRealDate(day);

String[] periods = period.split(″-″);

Appointment appointment = appointmentBaseService.getOne

(new QueryWrapper<Appointment>().select(″student_id″, ″type″).

eq(″student_id″, student.getId())

.eq(″appoint_date″, curDay).eq(″start_time″, periods[0]).eq

(″end_time″, periods[1])

.last(″limit 1″));

if (appointment != null) {

return R.genFailedResult(period + "已经预约了" +

(appointment.getType() == 1?″浴池″:″借书″:″超市″:″图文″

));

}

實现效果如图2所示。

管理员后端功能实现  管理员采用Vue+ElementUI框架来完成页面开发,主要为不同场所管理员提供用户预约信息的核实、预约时间的设置、用户信息管理以及号码开放数量的管理等内容。关键代码如下:

<template slot=″search″>

<el-col :md=″5″>

<el-form-item label=″预约类型″>

<el-select v-model=″searchForm.type″

placeholder=″浴池/图书馆/超市/图文″ clearable=″″>

<el-option v-for=″(item, index) in [

{ label: '浴池',

value: 1

},

{ label: '图书馆',

value: 2

},

{ label: '超市',

value: 3

},

{ label: '图文打印',

value: 4

},

]

″ :key=″index″ :value=″item.value″ :label=″item.label″></el-option>

</el-select>

</el-form-item>

</el-col>

<el-col :md=″5″>

<el-form-item label=″日期″>

<avue-date style=″float: left″

v-model=″searchForm.appointDate″ format=″yyyy-MM-dd″

value-format=″yyyy-MM-dd″ placeholder=″日期″></avue-

date>

</el-form-item>

</el-col>

<el-col :md=″5″>

<el-form-item label=″男/女″>

<el-select v-model=″searchForm.

gender″ placeholder=″男/女″clearable=″″>

<el-option v-for=″(item, index) in [

{ label: '男',

value: 1

},

{ label: '女',

value: 0

},

]

″ :key=″index″ :value=″item.value″ :label=″item.label″></el-option>

</el-select>

</el-form-item>

</el-col>

<el-col :md=″5″>

<el-form-item label=″时间段″>

<el-select v-model=″searchForm.

period″ placeholder=″时间段″ clearable=″″>

<el-option v-for=″(item, index) in

periods″ :key=″index″ :value=″item.value″ :label=″item.label″>

</el-option>

</el-select>

</el-form-item>

</el-col>

<el-col :md=″5″>

<el-form-item label=″学生姓名″>

<el-input placeholder=″学生姓名″ size=″small″ v-model=″searchForm.name″/>

</el-form-item>

</el-col>

<el-col :md=″5″>

<el-form-item label=″学生学号″&gt;

<el-input placeholder=″学生学号″

size=″small″ v-model="searchForm.code"/>

</el-form-item>

</el-col>

</template>

环境部署搭建  预约管理平台需部署在CentOS 7操作系统上,运行环境包括MySQL 5.6、NGINX 1.16、JDK 1.8、Tomcat 8等相关支撑软件。平台面向学校全体师生使用,每日流量及并发较大,对网络带宽需求较高。同时,微信小程序上线还需要已备案的域名以及https证书的支持。除自主搭建软硬件环境外,还可将平台部署在阿里云ECS云服务器上。阿里云ECS云服务器适用于高网络包收发场景,提供集成化的程序运行环境,还为开发人员提供DDOS防护以及免费CA证书支持,省去复杂的软硬件环境部署环节,为微信小程序的上线与运行提供便利条件。

3 结论

基于微信小程序的普适性融合预约管理平台的推广应用,不仅能够提高学校智能化、便捷化、精细化管理服务水平,也能让预约惠泽学生的学习、工作、生活等各个方面,使预约成为一种好习惯和新風尚。平台与学校统一身份认证系统进行对接后,将自动判别用户个人信息,实现学生真实性验证。平台与学校大数据分析系统对接后,可为学校管理决策提供重要支撑。■

参考文献

[1]方沛.高校图书馆座位预约化管理的实现性研究[J].大众科技,2014(6):276-278.

[2]余泰,李同明,李莉.基于微信公众号开发了高校仪器共享平台[J].实验室研究与探索,2018(12:)292-295.

[3]蓝庆青.基于微信公众平台的机房预约管理系统设计与实现[J].教育现代化,2019(44):216-219.

[4]朱浩,左志宏,蒲永华,等.基于数字化校园的实验预约管理系统[J].实验室研究与探索,2017(2):218-221.

[5]何萍,杨佳泓,汤兵勇,等.医联预约服务平台防控“技术号贩”研究与应用[J].计算机应用与软件,2014(11):15-19.

[6]“小程序·云开发”重磅上线,让小程序开发更高效[EB/OL].(2018-09-25)[2020-08-05].https://mp.weixin.qq.com/s/NuUL_-jnjLPKmzd7j03hsg.

[7]王婷婷.微信小程序开发[J].信息技术与信息化,2018(12):62-63.

3477501908206

猜你喜欢
微信小程序高校图书馆
图书馆
信息技术与专业课程融合路径探索
从互联网生态看微信小程序的发展
微信小程序面面观
当图书馆遇上微信小程序
学研产模式下的医药英语人才培养研究
高校创新型人才培养制度的建设与思考
高校科研创新团队建设存在的问题及对策研究
去图书馆