基于微信公众号的多媒体教室预约系统设计与实现*

2018-10-08 02:45吴博文樊晓孟
中国教育信息化 2018年17期
关键词:通知单申请人管理员

吴博文,谭 朔,张 城,廖 维,樊晓孟

(湖南财政经济学院 网络信息中心,湖南 长沙410000)

一、引言

多媒体教室目前是高等教育教学的重要场所。据统计,全国绝大部分高校的课程已经普及使用多媒体技术教学,[1]而在非教学时段中,多媒体教室也成为学生团体或班级组织等举办各种学生活动的主要场地,极大地丰富了学生的大学生活。

目前我校所有普通教室全部改造为多媒体教室,共158间,对多媒体教室主要采用集中管理模式,[2]用于教师教学和学生活动以及培训、招聘等其他方面,但在教室预约方面还是存在信息化程度不够高的问题,主要体现于:①预约申请过程复杂。学生活动申请多媒体教室,需要经过所在院系、教务处、网络信息中心等部门盖章和审核,流程较为复杂,辗转多处。②不方便管理。对于纸质使用通知单,不方便保存和查询,预约信息不能及时做到互通和共享。③教室申请使用冲突。出现过同一时间段同一教师被重复批准使用的情况。④不方便存档和数据统计。纸质预约单不方便保存和归档,无法将预约情况记录数据化,不方便进一步统计和分析。

微信公众号(平台)是腾讯针对企业、组织、自媒体和个人开发的信息发布平台,拥有广泛的使用人群。[3]另外,相比传统APP,微信公众号在实现功能上能做到与传统APP相差无几,且具有免安装、容易开发、成本投入少,容易共享、传播和推广等优势,[4]更重要的是,大大减少了传统APP在维护和版本升级等方面带来的管理成本。

因此,针对目前多媒体预约申请管理存在的问题,结合微信公众号作为移动入口的优势,我校网络信息中心自主研发了基于微信服务号的多媒体教室预约管理系统,在实现多媒体教室预约无纸化方面进行了初步的探索,方便学生和管理员随时随地进行线上预约和审核,努力改善多媒体教室的服务和管理质量。

二、基于微信服务号的多媒体教室预约系统实现

1.多媒体教室预约系统设计思路

预约系统以“申请人预约,管理员审核”的方式进行管理。[5]申请人以微信公众号为入口,经过登录验证、填写预约详情、上传使用通知单的照片后,即可完成多媒体教室预约的提交,系统将向管理员发送一条需要审核的提醒消息,具体流程如图1所示。

管理员进入微信公众号登录验证后,根据预约详情和使用通知单照片凭证等进行审核。若未通过审核,系统将向申请人发送一条预约失败的提醒消息,并给出未通过的原因;若通过审核,则提醒申请成功,具体如图2所示。

(1)数据库设计

图1 提交预约流程图

图2 审核流程图

后台数据库采用ORACLE和MYSQL双数据库系统,ORACLE为学校中心库,存有教职工和学生的工号和学号等信息,学院、班级的关联关系以及排课信息等。MYSQL为系统预约业务相关的存储数据库,包括用户角色表、预约申请记录表、用户关系绑定表、微信配置表等。申请记录表包含订单id、申请人所在学院、班级、申请事由、预约时间、审核时间、审核结果等;用户关系绑定表主要存储登录验证绑定用户的微信openid、学号或工号的关系。角色表存储管理员和申请人的角色。微信配置表主要保存微信公众号的appid、appsecret、定时刷新的accesstoken等信息。

(2)多媒体教室预约平台

系统基于Web采用B/S模式,前端使用HTML5页面实现与微信服务号的交互,后台使用Java spring+spring mvc+mybatis的框架,mybatis配置 ORACLE、MYSQL 双数据源做数据持久层处理。通过与微信服务器的信息交互,完成用户关系绑定,调用相机上传照片和双向消息推送等,将多媒体教室预约系统的功能嵌入到微信中,在不需要安装其他APP的情况下,方便师生随时随地移动使用。

2.系统总体功能概述

系统功能模块如图3所示。

图3 系统功能模块图

(1)用户登录与关系绑定。申请人点击微信服务号的菜单选择相应的业务多媒体教室预约、审核等,进入服务号后台获取用户的openid并存入session中,[6]openid是微信用户对公众号的唯一标识,不会因为设备的不同而发生变化。申请人点击公众号菜单,选择相应功能时,系统会进行用户有效性检测,判断用户是否为首次登录以及绑定关系是否存在。如果不满足条件,系统自动引导用户跳转至登录页面,当本校师生输入教工号、学号登录后,系统将用户名存入session中,并在数据库新增或刷新用户与openid的绑定关系,方便下次进入系统不用再重复登录。

(2)与微信服务器交互。与微信服务器交互主要存在三方面:①微信公众号接入验证。系统启动初始化后,需要进行公众号接入验证,通过获取接口唯一调用凭据access_token完成验证,但因为access_token保存时间仅为7200秒,因此使用定时线程启动刷新access_token技术,刷新的结果存到MYSQL数据库中。②微信公众号oauth2网页授权。系统采用静默授权的方式,以snsapi_base为scope发起的网页授权来获取用户授权的唯一标识openid。③使用公众号JS-SDK接口。系统调用JS-SDK的图像接口,支持用户拍照或从手机相册中选择使用通知单照片上传,对于用户上传的使用通知单照片凭证,从微信服务器调用下载图片接口保存到本地服务器上,进行归档保存。

(3)多媒体教室预约。申请人点击公众号菜单“多媒体教室预约”进入预约界面,下拉框选择所在学院、班级、输入事由、预约时间段、预约的教室,从拍照或已有相册中上传教室使用通知单的照片,点击提交,系统后台生成唯一的预约单id,并将预约信息写入数据库,预约的信息包括申请人、预约时间、地点,提交后等待管理员对预约记录进行审核,实施效果如图4所示。

图4 多媒体教室预约

(4)我的预约。申请人点击公众号菜单“我的预约”进入我的预约界面,用户可以查询自己的预约记录,预约的状态有待审核、审核成功、审核失败三种。

(5)预约审核。管理员进入预约审核,选择未审核选项,对用户提交的预约记录进行审核。可以查看预约详情和上传的教室使用通知单的照片,并对预约申请进行审核。若批准不通过,需要选择没有通过审核的原因。实施效果如图5、6所示。

图5 预约未审核列表

图6 预约信息查看与审核

(6)双向消息提醒。模块主要采用异步消息总线的方式和订阅发布模式共同完成。异步方式的好处在于即便消息没有推送出去,也不会导致主业务阻塞。申请人(管理员)完成申请或审核后,异步发布相应的事件,监听者订阅到事件消息后,调用微信公众号消息推送的接口将消息推送给管理员(申请人)。图7为有教室预约的提醒效果。

图7 教室预约提醒

三、结束语

本文开发的预约系统,针对目前学校多媒体教室预约管理存在的一系列问题,由传统的线下繁杂的审批流转程序,结合微信公众号的移动入口,初步探索实现教室预约无纸化和移动化,意在尽量简化师生多媒体教室预约的流程,减少来回奔波辗转的烦恼,努力提高师生使用多媒体教室的积极性,改善多媒体预约管理的服务质量。后期将根据师生的实际需要和反馈情况继续完善系统,另外将预约记录与多媒体总控设备实现数据互通,实现无人工干预就能开启多媒体设备。

猜你喜欢
通知单申请人管理员
两份田租通知单:慈善是社会发展的重要保障
两份田租通知单
国家标准勘误更正通知单
我是小小午餐管理员
我是图书管理员
我是图书管理员
可疑的管理员
7月1日起澳洲签证费将全面涨价上调幅度达到5.4%
澳大利亚7月1日起移民签证新规将生效
律师帮忙解惑追讨拖欠工资可以申请先予执行吗