基于小程序的设备管理系统
2022-04-11丁鑫史家俊龙登宇刘玥
丁鑫 史家俊 龙登宇 刘玥
【摘要】 目的:随着我国经济的高速发展,高校规模的扩大,教学设备数量、种类繁多,而当前高校主要的资产管理系统针对管理固定资产和高价值、不易损耗的大型设备设计。而日常小型、低价值、易损耗的流转性较强设备并没有进行有效的管理。如果按照一般的方法对其进行管理,不仅降低了管理效率,更浪费了时间,只会让设备管理人员疲于应对。需要一个更加规范,简便的管理系统进行辅助管理。方法:设计一个基于微信小程序的设备管理系统,包括移动端前台,网页端后台,借用设备时,只需要在移动端提交设备借用申请借用设备,不需要手动填写相应的纸质表格信息,设备管理员也不需要每天手动检查纸质表格信息,直接能在网页端后台查看信息,并能够进行相应的关键字检索,提升了管理效率,节约了时间。结果:使用微信小程序开发,能快速搭建开发环境,且代码的复用性更强,提高开发效率,开发出的界面简单易用,既提高了管理效率,也提高了用户的使用体验。结论:基于微信小程序开发出的设备管理系统,适用于管理低值、易耗设备,能提高管理效率和设备的使用率。
【关键词】 微信小程序 设备管理 消息提醒
引言:
设备管理系统是以设备为中心,对设备进行的从使用到报废的整个周期对设备的详细信息进行记录和管理。信息化的设备管理系统,能够帮助管理人员有效地进行设备管理工作。近年来,随着我国经济的高速发展,高校规模的扩大,高校的教学设备无论是数量还是先进程度,都有了很大的提升,对设备的信息化管理提出了更高的要求[1],如何更加高效的那些低价值、易损耗、移动性强的设备的管理是一个无法避免的问题。因此,需要开发出一套能对这些设备进行有效管理的设备管理系统,采用更加规范有效的管理流程,降低管理成本,提升管理效率,从而符合高校发展的需要。
一、分析設计
(一)问题分析
对于大型的固定资产设备进行管理,由于其固定的特性,管理过程就会相对容易,只需找到设备负责人,定期询问设备信息,就能掌握设备情况,而低价值、易损耗、移动性强的设备,种类繁多,且由于它移动性强的特点,极易造成管理上的不便,例如每次都需要去设备管理人员填写表格信息,检查时需要花费大量的时间去核对信息,如果直接能够在电脑上进行检索,能更节省时间[3]。
经过上述分析发现,使用传统的管理方式来管理这些低值易损耗,和流转性较强的设备,管理过程就会非常不便,例如:
1.借用时间短,次数多,用户与管理者之间的信息交流只能由管理者进行手工处理;
2.不同部门之间无法准确掌握设备情况和设备需求[2],部门之间缺少交互,容易造成重复购买,缺乏对设备统一管理;
3.设备移动性强,设备过程监控不易[6],容易造成设备丢失。
目前,多数化的设备管理系统都是针对大型的固定的设备设计,缺乏对低值易耗设备的一套有效的管理系统,本文研究设计的基于小程序的设备管理系统,能够有效补充现有的资产管理系统对低值易耗品和流转性较快的小型设备的有效管理范围。加快高校管理的现代化信息化建设[5],具体描述如下:
1.设计开发的系统具有一个PC端和移动端,PC端用于管理员进行管理,小程序端用于普通用户进行设备的签领借用;
2.实现对设备基本信息的存储、设备的管理、包括设备借用等。及时对设备进行维护,记录设备的去向,避免设备资产的流失,使用不当造成的设备的损坏。
(二)需求分析
根据调查与分析,本文设计的设备管理系统需要具备以下几点需求:
1.实现权限管理,只有管理员能够登录系统后台,对设备以及用户进行相关的管理操作,确保安全性;
2.实现对设备的基本管理,包括设备基本信息的查询,设备日常状态显示,日常维护管理,借还管理,设备信息的导入、导出、修改和删除功能,确保设备信息及时更新;
3.根据用户的需求实现设备的多条件查询,查看自身设备使用记录;
4.实现对借用设备临近归还日期还未归还的用户进行提醒,防止设备资产流失;
5.日志输出,确保记录所有信息,便于系统维护;
6.系统操作简单,界面友好。
综上所述,系统的功能面向用户,用户分为管理员和普通用户,管理员能够对用户和设备进行管理,普通用户只能进行简单的设备借用归还。系统实现日志的输出备份,便于数据的复原,同时对设备未及时归还的用户进行提醒。
二、系统设计
1.该系统采用了B/S模式的架构模式[8],MVC三层设计模式,前后端分离,实现业务系统各个组件之间的解耦,提高软件的复用性和灵活性[7],有利于业务系统的可扩展性,可维护性[10];
2.后端使用JavaWeb技术开发,基于SpringBoot2框架和微服务架构,使用Nacos开源技术,进行不同服务模块之间调用;
3.前端分为管理员后台和普通用户微信小程序前台,后台使用Vue.js框架,能够快速搭建与用户交互的环境,前台使用微信小程序开发,成本低,耗费精力少[11];
4.数据库采用Mysql数据库,它的性能卓越,服务稳定 [9],它的社区及用户非常活跃,遇到问题能够很快获取帮助,且安装使用简单易于维护,支持多种操作系统,提供了多种开发接口,支持多种开发语言[12]。
(一)系统开发环境
1.后端Java语言版本为1.8,SprinBoot框架版本2.2.1,后端开发环境为IntelliJ IDEA 2020.1版本;
2. Vue框架使用的是3.x版本,微信开发者工具1.03.20009140版本。支持的微信客户端IOS为7.0.17及以上版本,Android为7.0.19及以上版本;
3. Mysql数据库版本为8.0.21版本;
4.系统搭建环境为ubuntu18.04。
(二) 数据模型层设计
1.基本数据信息类
基本数据信息类包括设备基本类,用户类,设备借用记录类,设备类通过Status属性,来判断设备的状态,是否被借用等。用户类封装用户信息,通过authStatu属性判断当前用户是否注册。设备借用记录类封装用户的借用设备记录信息,通过returnStatus属性判断当前用户是否归还设备。
2.网络信息工具类
网络信息请求类和网络工具类的设计是由于在系统开发中使用到了微信登录的功能,需要在后端使用Http请求微信开放平台,获取用户的openid等信息。HttpUtil类使用Java自带的网络工具类实现Http中的Get请求和Post请求,然后HttpRequestHelper能够接受调用方放传递的参数,Url和编码,实现请求。
3.统一结果返回类
统一结果返回类分为两个部分,返回数据和返回状态码,返回的数据时经过系统业务调用计算之后的结果,返回状态码是封装在ResultCodeEnum类,返回状态码表示当前请求完成状态,如成功状态码为 200,失败状态码为208。
4.全局错误类
全局错误信息类封装了当前系统类会发生的一些错误信息,封装了自己定义的错误信息格式,发生非系统错误时,便于调试代码,并且错误信息能够返回给前端,确定错误点。
5. 登录工具类
登录工具类包括Jwt工具类和登录验证信息获取类,Jwt工具类生成token信息,token是后端生成的一串字符信息,最基本的里边包含了用户的id,时间戳,和签名Sign[13],作为用户的一个唯一标识,当前端请求后端接口时,token可以进行身份验证,能够有效阻止第三方人员伪装用户。
(三)控制层设计
1.设备控制器设计
设备控制器,对设备进行操作的接口,包括设备信息的查询等接口,以及设备批量导入接口,设备信息接口等。
前端View层使用Ajax技术,通过请求接口,在请求时添加对应的参数,对应接口就会返回对应的数据信息,或者通过访问接口对设备信息进行操作,如访问设备删除接口就可以删除设备信息。
2.用户控制器设计
用户控制器接口,是对用户信息进行操作的接口,包括用户登录接口、注册接口、登录接口。用户登录,用户控制器会对请求当中的token进行验证,没有token代表着用户进行登录,则创建并返回,如果具有token信息就会对token信息进行验证,确保不是第三方攻击者伪装用户,用户删除接口,信息查询接口,账号使用状态接口,这三個接口只能后台管理员进行访问,对用户的数据信息进行操作。
3.设备借用控制器设计
设备借用控制器,在设备使用过程中的所有对设备进行操作的接口,其中设备借用,归还,这两个接口是微信小程序进行访问,借用记录查询,记录删除,这两个接口是网页端进行访问,在设备借用时,设备借用接口会对用户进行设备借用传递过来的参数进行验证,验证正确才会允许设备借用,否则返回相应的状态码,同时会调用设备控制器当中的设备状态修改接口,进行信息的同步。
(四)视图层设计
1.网页端页面设计
后台页面设计包括六个页面,登录页面,使用微信二维码扫码登录,设备列表页面,以一个表格的形式展示设备信息,表格的右端是操作按钮,提供了对设备的操作,包括删除、修改等功能,页面顶部是搜索框,提供了根据设备的id搜索等功能,该页面的右上角是设备添加按钮,点击之后跳转到设备添加页面,填写设备信息进行添加。用户页面和记录页面的设计如上。
2. 小程序端页面设计
首页显示系统信息,注册页面填写注册信息。设备列表的显示页面显示的设备记录信息,页面上方提供根据设备名搜索的功能,用户根据需要选择需要借用的设备,选取之后会跳转到设备借用信息填写页面,填写信息。
用户的个人信息页面,显示用户信息,此页面,用户能查看借用记录,或点击设备归还按钮,进入设备归还页面,选择归还的设备,填写归还信息进行归还。
三、系统实现
(一)数据库实现
数据库的设计是项目开发中必不可少的一步,是系统的核心[4]。数据库的设计直接影响到系统的功能,优质的数据库设计能够减少数据的冗余度,提高数据的独立性。
我们的数据库中主要包含了三种数据,设备信息,用户信息,设备借用记录信息。我们将每一种信息使用一张表格进行存储,在系统调用时能够根据需求调用不同的数据信息,不会调用多余冗余信息。
(二)功能模块实现
根据需求分析,将系统的管理模块分为四个模块:设备管理模块、用户管理模块、用户与对设备的操作模块、网关模块。
设备管理模块针对设备的操作,用户管理模块则是对用户信息的管理,用户对设备的操作模块主要是当前对于设备的操作确切到了具体的某个用户。网关模块根据Nacos服务注册,通过请求的接口地址,将请求转发到对应的接口,并且能够隔离未登录用户想获取登录之后的信息。
四、结束语
本文通过调研指出了高校设备管理目前大多针对大型固定资产设备进行管理,以及低值易耗设备的管理存在的问题,然后对设计的设备管理系统进行了详细的需求分析和系统的设计,包括开发环境,MVC对应层次的设计,系统数据库的结构,系统的功能模块的实现以及模块之间的相互调用,完成了一个基于小程序的设备管理系统的设计实现。
参 考 文 献
[1]李光绪.基于B/S的设备管理系统的设计与实现[D].四川成都:电子科技大学,2012
[2]吴中全,李朝明,刘峰.高校实验室与设备综合管理系统的构建与实践[J].实验室创新与发展,2020,37(11):11-14
[3]邓双成,魏泰.现代综合设备维修管理系统的现状与展望(下)[J].甘肃科技纵横,2020,49:6-10
[4]郭秀娟,王春光.基于B/S模式的畢业设计管理系统开发与实现[J].计算机技术与发展,2010,20(3):240-242
[5]朱保华.拥抱物联网技术的建筑设备管理系统[J].交流,2021,2:74-75
[6]梁伟中,朱睿.高校仪器设备管理现存问题及对策[J].中国教育技术装备,2020,6:24-26
[7]夜来风雨1992.https://www.jianshu.com/p/66a724e825c4./p/66a724e825c4,2018-10-17.
[8]柴军兵,孙绍斌,殷学涛,等.基于B/S模式的设备管理系统的开发[J].物探装备,2009,19(3):145-148
[9]年少时难轻狂Ho. ./p/6306e200f5b2,2018-7-21
[10]猫巳.https://blog.csdn.net/qq_31635851/article/details/109771425. /qq_31635851/article/details/109771425,2020-11-18
[11]上线君.https://www.sxl.cn/content/blog/xcxyoushi/. content/blog/xcxyoushi,2021-2-3
[12] Mr-Miracle.https://blog.csdn.net/sinat_39291423/article/details/78020338. /sinat_39291423/article/details/78020338,2017-9-18
[13]华为云开发者社区.https://www.cnblogs.com/huaweiyun/p/13451814.html. /huaweiyun/p/13451814.html,2020-8-7
作者单位:丁鑫 史家俊 龙登宇 刘玥
北京信息科技大学计算机学院
项目基金:北京信息科技大学2021年大学生创新创业训练计划项目资助(项目号5102110805)
丁鑫(2001.04-),男,汉族,重庆奉节,大学生,研究方向:Java后端开发;
史家俊(1980.04-),男,汉族,江苏南京,硕士研究生,实验师,研究方向:计算机网络;
龙登宇(2001.08-),男,黎族,海南三亚,大学生,研究方向:IOS开发;
刘玥(2001.08-),女,汉族,北京,大学生,研究方向:前端开发。