基于微信小程序的高校宿舍报修系统设计
2022-05-30傅祥坤杨永超
傅祥坤 杨永超
摘要:随着互联网技术的发展,传统的宿舍设施报修方式已经无法满足高校的发展需求。文章基于微信开发平台,实现了一款基于微信小程序的高校宿舍报修系统,简化了报修流程,提高了报修效率,并使用云开发平台对信息存储与查询进行优化,为高校宿舍管理带来便利。
关键词:微信小程序;宿舍报修系统;云开发平台
中图分类号:TP311.5 文献标识码:A
文章编号:1009-3044(2022)22-0042-03
1 引言
自新冠肺炎疫情暴发以来,很多高校陆续实施封闭式管理,宿舍内设施的使用频率大大提高,各类设施故障时有发生。传统的宿舍报修方式有:学生在宿管处上报问题、学生直接联系维修人员、学院每年度组织调查宿舍设备损坏情况等。经调研发现,传统的宿舍报修方式存在上报流程繁杂、维修周期较长和管理维护方式不规范等方面的问题[1],而学生对传统报修方式的满意度不到30%。
近年来,我国出台了很多有关加强高校宿舍管理的政策文件,体现了国家对于高校宿舍管理问题的高度重视。另一方面,国家目前大力推动“互联网+”建设,各高校的学习生活方式也应与互联网技术深度融合[2]。目前中国各高校使用互联网智能手段进行宿舍报修管理的比例明显上升,但多采用H5网页端平台、专用宿舍报修App等进行宿舍报修管理[3],开发成本高,且用户需经安装、注册、登录等烦琐操作才能使用。而微信小程序依托微信平台,使用微信号即可登录,具有占用内存小、开发成本低、操作便捷等优点[4-5]。
为此,本文将开发一款基于微信小程序的高校宿舍报修系统,前端使用WXSS、JavaScript以及WXML三种不同语言实现,后端依托微信云开发平台,使用云数据库、云函数等功能,维持小程序的安全稳定运行,最终设计的系统可简化宿舍报修流程,显著提高报修效率。
2 系统分析
根据调研的用户需求,系统设计了学生和宿管/维修人员两种用户角色:学生具有宿舍申报、查询申报信息、查看申报详情的功能,而宿管/维修人员具有查询申报信息、查看申报详情、修改申报信息状态的功能,其中宿管/维修人员角色的授权将由后台统一设置。
3 系统设计与实现
3.1 系统总体设计
宿舍报修微信小程序共由主页面、报修申请页面、报修详情查看页面、报修记录管理页面组成,并设计了报修状态推送功能,可实时推送报修单状态给报修学生或宿管/维修人员。系统总体设计如图1所示。
3.2 云开发平台设计
云开发平台主要包含云数据库及云函数的设计。
1) 云数据库设计
云数据库下设计三个不同集合,分别为c_apply、c_role和c_share集合,c_apply集合存储了申报人所填写的报修详细信息,具体集合字段为(报修记录id,openid,报修时间,报修详情,房间号,楼栋号,维修紧急程度,姓名,联系电话,当前处理状态);c_role集合存储了宿管/维修人员登录申报管理页面时的验证身份信息,具体集合字段为(id,姓名,openid,联系电话,角色) ;c_share集合存储了校园内学生分享小程序时出现的分享信息,具体集合字段为(id,分享用图的URL,路径,标题)。其中id是云数据库自动生成的字段,openid存储不同用户在微信小程序平台的唯一标识。
2) 云函数设计
本项目云开发平台的云函数中,除去建立小程序项目时微信开发者自动上传的quickstartFunctions()函数,共上传并部署了三个不同的云函数,分别为applyNotice()函数、handleNotice()函数、login()函数。其中applyNotice()函数主要帮助通过固定模板获取申报人填写的报修详细信息,并推送消息至维修人员或宿舍管理员;handleNotice()函数主要用于帮助宿舍管理员以及维修人员推送消息提醒同学报修已处理;login()函数主要用于获取当前微信小程序的唯一标识appid以及各用户在微信小程序平台的唯一标识openid。
3.3 宿舍报修主页面设计与实现
进入宿舍报修系统小程序后,首先显示主页面,如图2所示。主页面由宿舍报修、宿舍管理员(宿管/维修人员) 、楼栋选择、当前已处理、当前未处理五大控件组成,点击对应按钮可实现跳转或响应交互。点击宿舍报修按钮,将跳转至申报申请页面进行表单填写,完成宿舍报修;点击宿舍管理员将跳转至管理员登录页面,管理员输入账号密码完成登录后进入申报管理页面,对当前存在的所有申报信息进行管理;选择楼栋信息可以查询所选择楼栋的所有宿舍报修信息,此处通过调用selectFloor()函数将获取已填报修单的所有楼栋号,并配合van-picker选择器,实现楼栋号的滑动选择;接着后台调用getApplyData()函数将从云数据库中获取所选楼栋的报修信息,并在此过程中确认各个报修信息的处理状态,在相对应的“当前已处理”或“当前未处理”区域予以显示。其中“当前已处理”区域显示已经被管理员确认处理完成的申报信息列表;“当前未处理”区域显示尚未被管理员确认处理完成的申报信息列表。
3.4 报修申请页面设计与實现
点击主界面左上角的“报修申报”按钮,将跳转至申报申请页面,如图3所示。申报人部分由学生填写自己的姓名;申报宿舍的楼栋号部分由滑动选择模块完成,避免了申报人出现填写错误的情况,而房间号则由申报人自行填写;联系电话部分由申报人填写自己的电话联系方式;申报描述部分由申报人自主填写需要报修的宿舍设施的具体损坏情况,便于维修人员技术了解情况,及时维修;最后的维修紧急程度部分提供了普通维修以及紧急维修两种紧急程度让申报人进行选择,宿管/维修人员可以通过申报人所选择的报修紧急程度来统筹安排当天的维修计划,更快更好地满足不同学生的报修需求。若申报人所填信息存在缺项漏项的情况,将会弹窗提醒申报人填写选择缺漏的部分。
待确认所有信息准确无误后,点击“提交”按钮,后台将通过setName()函数、selectFloor()函数、setDormNum()函数、setPhone()函数、setDesc()函数、selectLevel()函数将分别读取申报人所填写选择的姓名、楼栋号、宿舍号、联系电话、申报描述详情、维修紧急程度等信息,之后,调用inApplyData()函数将所有读取到的信息整理并按固定模板上传至云数据库中的c_apply集合下。
3.5 报修详情查看页面设计与实现
在各个报修信息栏右下角点击“查看详情”按钮,将跳转至申报表页面,如图4所示。进入申报表页面后,调用getApplyDataItem()函数获取云数据库之中的c_apply集合下相对应的申报详情,并通过预设的模板显示出来。其中包括申报人、申报宿舍、联系电话、申报描述、申报级别、申报状态以及申报日期等信息。其中联系电话部分设有“一键联系”和“一键复制”两个按钮,点击“一键联系”按钮,将调用微信小程序平台提供的wx.makePhoneCall接口,使手机跳转至拨号界面并自动输入当前申报表界面显示的联系电话。点击“一键复制”按钮,将调用微信小程序平台提供的wx.setClipboardData接口,将当前申报表界面显示的联系电话复制到手机输入法的剪贴板中,方便維修人员联系报修学生。
3.6 报修记录管理页面设计与实现
点击主界面右上角的“宿舍管理员”按钮,首先将通过调用login云函数获取用户在微信小程序平台的独有标识openid,随后getUserRole()将获取到的用户openid与云数据库下的c_role集合中的管理员信息进行比对,若c_role集合中存有对应该用户openid的信息,且其中的role信息为“超级管理员”,则该用户可以获取权限跳转至申报管理页面,如图5所示。否则会跳出弹窗提醒用户暂无权限,页面将停留在主页面。
进入申报管理页面后,筛选楼栋信息与处理状态信息查看所有报修信息的功能与主页面一致,但在当前未处理的所有报修信息下,宿管/维修人员可以点击各个报修信息右下角的“确认处理”按钮,将当前报修信息的状态由当前未处理更改为当前已处理。在当前已处理的所有报修信息下,宿管/维修人员可以点击各个报修信息右下角的“删除”按钮,将需要删除的报修信息从宿舍报修系统中删去。
点击“确认处理”按钮,调用updateApplyStatus()函数修改报修信息状态。首先将跳出弹窗提示宿管/维修人员是否确认处理此申报数据,有“取消”和“确定”两个按钮可选择,当宿管/维修人员点击“确定”按钮,将跳出弹窗提示正在处理中,同时updateApplyStatus()函数会读取云数据库中c_apply集合下相对应的报修信息,将其状态更改为“已处理”,并跳出弹窗提示宿管/维修人员处理成功。
点击“删除”按钮,将调用deleteApplyData()函数删除报修信息。首先将跳出弹窗提示宿管/维修人员是否确认删除此申报数据,有“取消”和“确定”两个按钮可选择,当宿舍管理员或维修人员点击“确定”按钮,将跳出弹窗提示正在删除中,同时deleteApplyData()函数会读取云数据库之中的c_apply集合下相对应的报修信息,并将其删除,随后将跳出弹窗提示宿舍管理员或维修人员删除成功。
3.7 报修状态推送功能设计与实现
当报修学生在申报申请页面正确填写并选择完信息后,点击“提交”按钮时,将出现弹窗提示用户授权接收订单完成通知。当报修学生成功提交报修申请,系统将按模板将数据整合发送下单成功通知至宿管/维修人员的微信服务通知模块中,宿管/维修人员可以点击通知进入小程序查看详情,如图6所示。当宿管/维修人员在管理页面将报修记录状态修改为“已处理”时,系统将按模板将数据整合发送订单完成通知至对应报修记录的报修学生的微信服务通知模块中,报修学生可以点击通知进入小程序查看详情,订单完成通知如图7所示。
此外,系统还支持小程序分享功能,方便系统推广。当用户分享小程序时,系统将调用存储于云数据库c_share集合中的小程序简介和对应图片,并显示与被分享用户的聊天窗口中。
4 系统测试
宿舍报修微信小程序运行在智能硬件上,后台服务器运行在微信云开发平台上,本文分别在iOS与Android这两种常见的智能硬件操作系统下进行了测试。采用黑盒测试法分别对两种用户角色进行了功能测试,测试用例如表1所示,测试结果表明系统可以正常运行,并实现了预期功能。
5 结束语
基于微信小程序的宿舍报修系统利用了微信小程序的优势,无须注册账号、登录、绑定等烦琐操作,登录微信即可使用,实现了学生申请报修及宿舍管理员处理报修记录的功能。此外,系统还具有报修单推送功能,可实时推送报修单给维修人员,提高了宿舍报修效率,方便了学生的学习及生活。
参考文献:
[1] 田小院.高校学生公寓维修管理中存在的问题及对策探讨[J].高校后勤研究,2017(1):39-40.
[2] 罗艺荣.学生宿舍管理系统的设计与实现[D].厦门:厦门大学,2013.
[3] 郑桂昌.基于微信公众号的宿舍报修系统的设计与实现[J].电子技术与软件工程,2018(23):48.
[4] 刘玉佳.微信“小程序”开发的系统实现及前景分析[J].信息通信,2017,30(1):260-261.
[5] 李哲,周灵.微信小程序的架构与开发浅析[J].福建电脑,2019,35(12):66-69.
【通联编辑:谢媛媛】