APP下载

校园失物招领微信小程序的设计与实现

2021-10-24宋龙生倪胜巧

计算机时代 2021年10期
关键词:失物招领微信小程序校园

宋龙生 倪胜巧

摘要: 针对校园内学生物品易丢失但不易找回的问题,设计一款失物招领微信小程序。校园失物招领微信小程序方便快捷、无需安装、安全稳定、快速引流,基于Spring Boot技术实现,充分利用微信小程序的优点,互补Web与App的优劣,实现了高效率的失物招领。

关键词: 失物招领; 微信小程序; 校园; Spring Boot

中图分类号:G434;TP311.52          文献标识码:A     文章编号:1006-8228(2021)10-86-04

Design and implementation of WeChat Mini Program for campus lost and found

Song Longsheng1, Ni Shengqiao1,2

(1. School of Information Science and Technology, Tibet University, Lhasa, Tibet 850000, China; 2. School of Computer Science, Sichuan University)

Abstract: Aiming at the problem that students' belongings are easy to lose but not easy to find in campus, a WeChat Mini Program for lost and found is designed. The campus lost and found WeChat Mini Program has the characteristics of convenience, fast, without installation, safe and stable, and fast drainage. Based on Spring Boot technology, it makes full use of the advantages of WeChat Mini Program, complements the advantages and disadvantages of web and App, solves the problem of inconvenient manual search, and improves the efficiency of campus lost and found.

Key words: lost and found; WeChat Mini Program; campus; Spring Boot

0 引言

校園内学生丢失物品的现象极其常见,失物招领的形式也不尽相同。线下可以通过张贴寻物启事或到学校固定的失物招领处挂失与寻找,线上可以通过微信朋友圈、QQ空间等网络平台的转发来达到失物招领的目的。但这些失物招领方式常常面临各种问题,如寻找过于分散、人工查找不便、执行效率低、数据无法集中统一管理等问题,失物招领的效果不佳。线上校园失物招领的平台如失物招领Lost & Found[1]、校园失物招领APP等,设计与开发[2]存在开发周期长、上线晚、推广慢的问题;基于微信小程序的校园失物招领平台构建[3]、基于微信小程序的校园失物招领平台的设计与实现[4]存在功能单一且与用户交互性低的问题;利用微信小程序开发的大学失物招领平台[5]、基于微信小程序的失物招领系统开发[6]存在开发逻辑混乱、可用性低的问题。

我们设计的校园失物招领微信小程序除了实现基本的失物招领功能外,还对代码进行了优化处理,利用AOP提高代码的封装及复用程度,针对在校学生增加了课程提醒功能,学生添加备忘录和课程表便可使用该功能。在用户体验方面,对UI进行了美化且加入适当的提示提高与用户的交互性。

1 相关技术

1.1 开发与测试环境

为了便于该校园失物招领微信小程序的升级及更新,项目采用前后端分离的开发方式。

前端开发工具使用腾讯推出的微信开发者工具,后端采用JetBrains软件公司的IntelliJ IDEA进行开发。开发完成后为了测试该平台在移动端的可用性与兼容性,分别对Android和iOS两种不同的移动端系统进行项目测试。开发与测试环境见表1。

1.2 Spring Boot框架

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。它简化了基于Spring的应用开发,通过少量的代码就能创建一个独立的、产品级别的Spring应用。Spring Boot的核心思想就是约定大于配置,多数Spring Boot应用只需要很少的 Spring 配置[7]。

1.3 MyBatis框架

MyBatis是一个Java持久化框架,它通过XML描述符或注解把对象与存储过程或SQL语句关联起来,映射成数据库内对应的记录。MyBatis将Java方法与SQL语句关联,与JDBC相比,MyBatis简化了相关代码:SQL语句在一行代码中就能执行。Mybatis官方给我们提供的逆向工程,也减少了我们的开发时间,使开发者可以针对数据库单表生成所需要的代码。

1.4 微信小程序

微信小程序,小程序的一种,英文名WeChat Mini Program,是一种不需要下载安装即可使用的应用。相较于App和Web,微信小程序不仅开发成本和推广成本较低,而且能够依据用户需求进行个性化制作。小程序包含一个描述整体程序的App和多个描述各自页面的page[8]。

2 项目设计与实现

2.1 功能模块设计

校园失物招领微信小程序主要分为失物招领与课程提醒两大模块,失物招领模块包括发布失物招领模块、发布寻物启事模块、展示发布详情模块及用户评论模块,课程提醒模块包括生成课表模块、上课提示模块和备忘录模块。项目功能模块设计详见图1。

2.2 数据库设计

本项目采用MySQL数据库,为了保证数据库设计的合理性和减少数据不必要的冗余,数据库表结构严格遵循MySQL三大范式[9],保证属性的原子性、记录的唯一性、字段的冗余性。根据图1所示的项目功能模块设计,在数据库中建立4张表,各表详细信息见表2。

2.3 接口设计

本项目后端需要设计接口为小程序前端提供数据。Swagger是全球最大的API开发框架,我们只需要按照它的规范去定义接口及接口相关信息,再通过Swagger的Swagger-ui组件就可以将controller层的方法进行可视化的展示。这样,项目在开发新版本或者迭代更新的时候我们就只需要更新Swagger描述文件。因此,本项目后端使用Restful风格设计接口,结合Swagger用来定义接口和测试接口。

3 项目重要模块实现

3.1 OSS

阿里云对象存储服务(Object Storage Service,简称 OSS)是由阿里巴巴提供的一项高性价比、高性能以及高可靠性的云存储服务。本项目的所有文件都放在阿里云OSS中已创建的Bucket中,具体操作步骤为:创建一个OSS实例ossClient、获取想要上传的文件并修改文件名称、把文件按照日期进行分类、调用OSS方法进行上传、关闭ossClient。注意:要使用阿里云OSS需要在pom.xml引入依赖com.aliyun.oss.aliyun-sdk-oss。

3.2 信息加密

为了提高用户信息的安全性,有必要针对整个数据库中所有需要保密的信息都进行加密,这样,即使他人已经得到了整个数据库,如果他们没有解密的算法,也无法得到原来的密码信息。本次项目加密采用 MD5信息摘要算法对其进行加密, MD5加密的操作都是以512比特位为计算单位的[10],与Base64相比,MD5加密完全不可逆,所以它的安全性比较高。

3.3 读取Excel课程表

在课程提醒模块,为了实现生成课程表的功能,需要导入课程表并且读取出特定班级的课程。Apache POI是Apache软件基金会提供的开放源码函式库,POI提供了API让我们可以通过Java程序来实现对Microsoft Office格式档案读和写的功能。本项目使用POI读取解析Excel文件,pom.xml导入org.apache.poi.poi和org.apache.poi.poi-ooxml依赖之后,接口使用二维list集合来接收执行ExcelReader类的ExcelUtil.getReader()方法后得到的结果,并返回给前端。

3.4 小程序界面展示

用户进入小程序并且小程序获得微信授权之后,跳转至首页,如图2。用户可以浏览寻物启事,如图3。用户可以发表自己的评论,如图4。用户收到的评论消息如图5。用户可以添加寻物启事,如图6。添加课程表如图7。用户可以选择相应的功能。

4 结束语

本文主要论述了基于Spring Boot的校园失物招领微信小程序的设计与实现,介绍了各功能模块设计、数据库设计、接口设计等内容。通过使用阿里云OSS对象存储、MD5加密、POI读取解析Excel文件等方式来提升软件性能,达到了预期目标。但是由于能力和精力等原因,在小程序的功能设计上,还存在可以扩展的功能,需进一步完善,如:发布失物加入定位功能,结合VR技术实现活动现场导航指引功能。

參考文献(References):

[1] 张园.失物招领Lost & Found[D].大连工业大学,2017.

[2] 康耀龙,张景安,冯丽露.校园失物招领APP的设计与开发[J].电子技术与软件工程,2020.17:73-74

[3] 张浩田,戚玫云,吕瑞雪.基于微信小程序的校园失物招领平台建构[J].内蒙古科技与经济,2019.4:80-81

[4] 巩小芳,李敏,高万福.基于微信小程序的校园失物招领平台的设计与实现——以甘肃农业大学失物招领平台为例[J].农家参谋,2020.4:285

[5] 郑智方,黄政,张清瑞,赵磊.利用微信小程序开发的大学失物招领平台[J].计算机产品与流通,2020.2:137

[6] 王庆月,吴宇,张天宝.基于微信小程序的失物招领系统开发[J].电子质量,2020.10:66-70

[7] 桂晨晖.基于SpringBoot框架对P2P借贷平台的设计与实现[D].电子科技大学,2019.

[8] 微信小程序官方文档https://developers.weixin.qq.com/miniprogram/dev/framework/structure.html

[9] 肖文娟,王加胜.基于Vue和Spring Boot的校园记录管理Web App的设计与实现[J].计算机应用与软件,2020.37(4):25-30,88

[10] 张昊,宋杰,罗名君.基于MD5算法的分布式无线传感器网络数据安全传输方法研究[J].苏州科技大学学报(自然科学版),2019.36(1):68-74

猜你喜欢

失物招领微信小程序校园
失物招领处
不当“小捣蛋”
信息技术与专业课程融合路径探索
当图书馆遇上微信小程序
校园的早晨
春满校园