版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-1-第1章绪论1.1研究目的和意义由于日益加剧的社会压力,许多人都面临着财产损失的问题。目前,许多人都会遇到这种问题,而且寻找失主的途径也变得越来越丰富。目前,QQ空间、微信朋友圈、微博人工寻找失主的方式已被广泛应用于各种场合,如个人社区、学校等寻找失主的地方。尽管这种解决问题的途径各异,但它们都存在一定的局限性,比如信息的快速传递、信息的覆盖面较窄。因此,本文提出了一个新的解决方案,即利用微信小程序搭建一个便捷的社交媒体,以便更加快捷地与拾取者取得联系。利用此失物招领系统,失主们不仅可以迅速、高效地发出求助信息,拾取者们还可以利用此系统来实现自己的求助目标。1.2国内外研究现状随着技术的进步,失物招领系统已经在全球范围内得到了广泛的应用,形成了一套多样化的失物招领管理体系,以满足不同类型物品、不同环境和不同的需求。在国内的微信小程序比较普及,对于用户的使用更加方便。2019年,张浩田、戚玫云、吕瑞雪在《基于微信小程序的社区失物招领平台建构》[8]中提到此系统是以J2EE作为开发基础、MySQL作为数据库、Eclipse为开发工具、以微信公众平台为载体,Bomb为后端,实现内嵌于微信公众平台的校园失物招领系统小程序设计,更适用于在校人员低频率、及时化的应用REF_Ref27349\r\h[1]。2019年,钱若芸与任雨杰在《基于微信公众平台的失物招领系统设计》[10]提出了一种新的失物招收系统,该系统基于PHP语言与MySQL数据库,可以轻松地应用于天津理工大学现有的微信公众号,同时具备语音识别、自动回应、信息搜寻等多种功能,大大提高了工作效率。对于用户的使用来说更加方便。在国外,社区失物招领系统的研究并不十分广泛,相关产品十分有限,而且微信小程序在国外也不算普及,大多数社区失物招领系统所运用的技术都不是微信小程序。2015年,BatainehE,BatainehB,AlKindiS在《Design,developmentandusabilityevaluationofanonlineweb-basedlostandfoundsystem》[18]中写到该系统设计简单,易于使用和学习,社区业主和管理员都可以在线访问该系统,研究人员使用了多种技术工具来开发新系统,如XAMPP、Dreamweaver、AdobePhotoShop、AdobeImageReady、TobiiStudio、HTML、MSQL、PHP和JavaScript。之所以选择这些工具,是因为研究人员对使用这些工具感到舒适和熟练。所以有些对于用户来说使用起来有一定难度。2021年,AhmadA,FreedM,HassanA在《LostandFoundManagementSystem》[19]中是设计了一个基于Web和android的失物招领系统,使用方便简单,可以通过图片显示失物特征。但是所有者和查找者需要自己注册。目前小程序的普及率越来越高,所以,开发一款特意针对社区失物招领小程序是有可行的。1.3研究内容本系统主要采取面向对象的开发模式进行软件的开发和硬体的架设,搭配MySQL数据库,采用Java语言,使用微信开发者工具为开发工具,根据本系统的全部功能,进行系统的编码及其开发。本系统应完成的主要功能有:用户管理、社区寻物管理、物品类型管理、认领信息管理、失物招领管理、社区公告管理、社区资讯管理功能。1.4论文组织架构本文将深入探讨系统的开发设计流程,包括从构建项目到理论分析,再到实施开发工具,以及搭建环境和编写代码,本文主要包括以下内容:第1章,本章阐明了本系统的研究目的和意义,介绍了国内外研究现状及研究内容。第2章,本章概括了与本项目相关的理论和技术。第3章,本章对系统的可行性分析及需求分析进行了详尽介绍。第4章,本章介绍了系统设计,包括功能模块设计和数据库设计。第5章,本章介绍了系统的实现,具体包括系统的核心功能代码和页面效果。第6章,本章详细介绍了系统测试的方法及实现结果。第2章相关理论和技术2.1Java简介Java是一种强大的、能够支持多种操作系统的、具有开放性和多功能的编码语言。Java技术具有卓越的通用性、高效性、平台移植性和安全性,应用广泛用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。Java语言,也被简写为Java,源自SumMicroSystems公司,它的开元者JamesGosling与他的团队一起努力,最终在1995年成功问世,为面向对象程序设计领域带来了革命性的变革。Oak,最初用于创建消费电子产品的嵌入式处理单元,1991年得到改进,1995年正式用于创建互联网。其功能主要有:可以支持多种Web应用,支持多种不同的网络环境。Java的出现大大改变了Web的使命,它的出现为Web的快速发展提供了强大的助力,许多主要的浏览器都能够使用JavaApplet。同时,Java的技术也得到了飞快的进步,它的出现为C++及其他语言带来了极大的挑战,而且,随着世界虚拟化及移动互联网的普及,Java还有着极大的潜能及客观的未来。2010年Oracle公司并购了SumMicroSystems。2.2MySQL简介 Oracle甲骨文公司旗下的MySQL被誉为“关系数据库”,它可以被MIS的“SQLServer”所兼容,并且可以被多种不同的操作系统所使用,从Solaris到MacOS,从FreeBSD到Windows,甚至Linux都可以被使用。MySQL数据库的核心功能可用于存储和管理大量数据、支持快速查询和检索数据的能力,还提供了安全性和权限控制的功能。MySQL的服务端采用IO复用+可伸缩的连接池,实现了网络高并发的经典模型。2.3微信开发者工具简介微信开发工具专门用于支持微信后台设计开发人员调试。微信后台页面开发者在利用微信开发工具时,不需要建立布局就能更便捷、更安全的调试微信页面。微信开发者工具以nw.js为平台,采用node.js,chromium,系统API等技术实现核心模块,同时采用React,Redux的前端技术框架搭建用户交互层,使工具能够在Mac,Windows平台下无缝操作并实现代码共享。微信开发工具基本原理就是把ChromeDevTools与基本移动调试模块集成起来,方便对微信内部网页与微信小程序进行调试。可以为开发者提供代码的开发,编译与运行,接口与逻辑调试,小程序的预览与提交等诸多操作。微信开发工具软件具有以下特点:(1)可通过在网上登陆微信用户模拟实际网页浏览及调试过程。(2)对页面JSSDK功能进行了分析,并对大多数SDK输入输出进行了仿真,以便检查。(3)通过将ChromeDevTools与基本移动调试模块相结合,我们向客户提供一种开发工具来帮助客户更有效地开发。第3章系统分析3.1可行性分析3.1.1技术可行性在系统技术上的可行性考虑的因素包括:本系统描述了以微信小程序为开发平台,以微信开发者工具为开发工具,以Idea开发环境为开发工具辅助工具和MySQL数据库为数据存储和管理工具,在此基础上,对社区失物招领微信小程序加以编码,实现技术的有效开发,从而达到最佳的效果。Idea提供了一种灵活多样的编程方式,可以有效地控制各种编程语言,为本系统的技术操作提供了便利的开发环境。3.1.2经济可行性本系统的开发环境是Java语言、MySQL数据库、Idea软件和微信开发者工具,所涉及的软硬件都是可以在浏览器网站里免费下载并方便获取的。通过对开发过程的全面评估,本系统建设一个微信小程序,经济成本相对来说是能够满足预算需求的。建立的微信小程序具备良好的经济效益。因此,本文认为设计开发社区失物招领微信小程序在经济上是可行的。3.1.3操作可行性本系统开发完成后,功能完善、界面友好,用户使用操作便捷、精准,大多数操作均以可视化的界面呈现,数据的输入可靠、清晰,用户可以清楚地查看小程序的所有功能模块,系统操作不仅能够满足用户的相关需求,还可以提供给用户很好的使用体验。经过仔细分析,本次系统开发具有良好的实施前景。3.1.4法律可行性在法律层面上,整个开发工作呈现如下显著特点:在开发过程中,使用的所有技术数据均已经过严格的审查和验证,以确保其合法性和正确性;本系统开发时严格按照知识产权法律法规进行,没有抄袭任何网站;一切开发工作均为自行进行,未涉及法律责任。3.2需求分析本系统建立的背景是在社区失物招领方面,为失主和拾取人建立一个良好的沟通平台,能够更高效地找寻丢失物品。通过进行全面的系统需求分析,用户通过使用小程序,进行注册登录,查看并更新个人中心;用户可以获取社区寻物信息、社区公告信息、社区资讯信息和失物招领信息的浏览权限;拾到者可将物品信息公布供失主查寻,同时失主可通过查看失物招领信息以寻找丢失物品。而且,系统页面设计直观明了,色彩温和,能够更好地满足用户需求。3.2.1功能需求分析本系统主要研究的是社区失物招领微信小程序,其使用角色是要分为用户、管理员两个角色。管理员拥有本系统的全部权限,主要对本系统所有功能模块进行管理。用户则可以进行注册登录后,交互体验小程序内所有的功能,本社区失物招领微信小程序预期有如下功能:1、用户(1)新用户必须先注册才能进入登录模块。(2)用户可以在个人中心模块中访问个人数据信息。(3)用户可以通过社区寻物模块获取有关社区的最新信息。(4)用户可以在“失物招领”模块中查看失物,并认领这些物品。(5)用户可以通过社区资讯模块中轻松获取有关各个社区的最新动态。用户用例图如图3.1所示。登录注册登录注册个人中心个人中心社区寻物社区寻物失物招领失物招领用户社区资讯用户社区资讯图3.1用户用例图2、管理员(1)通过用户管理,可以更好地控制和维护用户信息。(2)通过物品类型管理,可以将物品划分为不同的类别。(3)通过社区寻物管理,可以收集和记录社区中的寻物信息。(4)通过失物招领管理,可以有效地管理和追踪物品的丢失情况。(5)通过实施认领信息管理,可以有效地控制和管理物品的认领过程。(6)通过社区公告管理,可以统计和记录每个社区的信息。(7)通过系统管理,可以实现轮播图、社区资讯等有效管理。管理员用例图如图3.2所示。用户管理用户管理物品类型管理物品类型管理社区寻物管理社区寻物管理失物招领管理失物招领管理管理员管理员认领信息管理认领信息管理社区公告管理社区公告管理系统管理系统管理图3.2管理员用例图3.2.2非功能需求分析本文提出一个微信小程序,不仅可以帮助用户快速找到丢失的东西,还可以搜集各种社区的信息,并且可以记录个人信息。此外,本文还特地对用户的身份验证功能做出了相关规定,使得本系统更加安全可靠。Java的Web管理系统通常会对每个用户进行身份认证,以便给予使用者合适的权限,能够独立地进行任何活动,同时也能够安全地访问和使用操作系统的资源。通过管理员的权限身份,能够有效地防护系统中的数据,一旦出现任何异常情况,就会立刻终止其使用。为了确保系统的可靠性和稳定性,本系统建立了一个定义明确、完善的错误处理机制,以确保系统在非高峰时间不超过3秒,高峰时间不超过5秒,从而有效地防止系统出现故障,便于解决系统中的错误。3.3数据流程分析注册流程图如图3.3所示:开始开始输入账号、密码、姓名、身份证号码、性别、手机号码输入账号、密码、姓名、身份证号码、性别、手机号码再次输入密码再次输入密码是是上传头像上传头像否否判断两次密码是否一致判断两次密码是否一致判断账号是否已注册是判断账号是否已注册是点击注册点击注册否否注册成功注册成功结束结束图3.3注册流程图登录流程图如图3.4所示:否否是是结束跳转首页页面点击登录监测账号、密码是否正确输入账号、密码注册开始是否登录否否是是结束跳转首页页面点击登录监测账号、密码是否正确输入账号、密码注册开始是否登录 图3.4登录流程图添加信息流程图如图3.5所示:开始开始点击添加点击添加输入物品信息、状态、拾得地址、拾得时间、认领地址、物品描述输入物品信息、状态、拾得地址、拾得时间、认领地址、物品描述否否点击提交点击提交是否提交成功是否提交成功是是结束结束图3.5添加信息流程图删除信息流程图如图3.6所示:开始开始选择要删除的信息选择要删除的信息否是否确认删除否是否确认删除是是点击确认点击取消点击确认点击取消结束结束图3.6删除信息流程图修改信息流程图如图3.7所示:开始开始点击修改点击修改输入想要修改的信息输入想要修改的信息否否是否修改成功是否修改成功是是点击提交点击提交结束结束图3.7修改信息流程图查询信息流程图如图3.8所示:开始开始在搜索框中输入物品名称在搜索框中输入物品名称否点击搜索否点击搜索是否搜索成功是否搜索成功是是显示想要查询的物品信息界面显示想要查询的物品信息界面结束结束图3.8查询信息流程图第4章系统设计4.1功能模块设计经过研究,微信小程序在社区失物招领方面有着多种实际应用,其中最重要的几个模块是:失物招领管理、认领信息管理、物品类型管理、社区寻物管理、社区公告管理、社区资讯管理。系统功能图如图4.1所示。社区失物招领小程序社区失物招领小程序用户管理员用户管理员认领信息管理失物招领管理社区寻物管理物品类型管理用户管认领信息管理失物招领管理社区寻物管理物品类型管理用户管理社区公告管理系统管理社区资讯失物招领社区寻物个人中心登录注册图4.1系统功能图4.2数据库设计4.2.1数据库概念结构设计数据库概念结构设计的实体主要有:管理者、用户、社区公告、社区资讯、失物招领信息、认领信息、物品类型。1、管理员实体,包括:密码、用户名、角色,如图4.2所示:角色用户名密码角色用户名密码管理员管理员图4.2管理员实体图性别2、用户实体,包括用户账号、密码、用户姓名、性别、身份证、手机、头像,如图4.3所示:性别身份证用户姓名身份证用户姓名手机密码手机密码头像用户账号头像用户账号用户用户图4.3用户实体图3、社区资讯实体,包括:标题、图片、简介、内容,如图4.4所示:简介图片简介图片标题内容标题内容社区资讯社区资讯图4.4社区资讯实体图4、社区公告实体,包括:公告标题、图片、内容、发布日期,如图4.5所示:内容图片内容图片发布日期公告标题发布日期公告标题社区公告社区公告图4.5社区公告实体图5、社区寻物实体,包括:物品名称、物品类型、图片、丢失地点、物品详情、丢失日期、账号、发布人、手机、标题,如图4.6所示:丢失地点图片物品类型丢失地点图片物品类型物品详情物品名称物品详情物品名称社区寻物丢失日期标题社区寻物丢失日期标题手机发布人账号手机发布人账号图4.6社区寻物实体图拾取地址评论用户账号6、实体关系图,如图4.7所示:拾取地址评论用户账号物品名称物品名称招领密码招领密码用户姓名用户姓名mnmn性别物品类型用户性别物品类型用户物品数量物品数量mn认领身份证mn认领身份证物品图片物品图片手机手机头像头像认领地址认领地址图4.7实体关系图4.2.2数据库逻辑结构设计(1)管理员表users“users”是一个储存管理员资料的数据库表,结构可参考表4.1所示。表4.1管理员表字段名称类型长度字段说明主键默认值idbigint主键主键usernamevarchar10用户名passwordvarchar8密码rolevarchar10角色管理员addtimetimestamp新增时间CURRENT_TIMESTAMP(2)关于我们systemintro关于我们systemintro的结构如表4.2所示。表4.2关于我们systemintro表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPtitlevarchar50标题subtitlevarchar20副标题contentlongtext500内容picture1longtext4294967图片1picture2longtext4294967图片2picture3longtext4294967图片3(3)社区资讯news社区资讯news是记录社区信息的数据库表,news的结构如表4.3:表4.3社区资讯表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPtitlevarchar50标题introductionlongtext200简介picturelongtext4294967图片contentlongtext500内容(4)社区公告表shequgonggao“社区公告表shequgonggao”是记录社区公告信息的数据库表。社区公告表shequgonggao的结构如表4.4所示。表4.4社区公告表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPgonggaobiaotivarchar20公告标题tupianlongtext4294967图片neironglongtext500内容faburiqidate发布日期(5)配置文件表config“配置文件表config”提供了一个完整的、详尽的配置文档,其中config的内容可以在4.5中找到。表4.5配置文件表字段名称类型长度字段说明主键默认值idbigint主键主键namevarchar20配置参数名称valuevarchar100配置参数值(6)社区寻物shequxunwu“社区寻物shequxunwu”是记录社区寻找丢失物品信息的数据库表。社区寻物shequxunwu的结构如表4.6所示。表4.6社区寻物表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPbiaotivarchar30标题wupinmingchengvarchar20物品名称wupinleixingvarchar20物品类型tupianlongtext4294967图片wupinxiangqinglongtext500物品详情diushididianvarchar200丢失地点diushiriqidate丢失日期zhanghaovarchar10账号续表4.6社区寻物表xingmingvarchar10发布人shoujivarchar12手机(7)用户yonghu“用户yonghu”是记录小程序登录用户的数据库表。用户yonghu的结构如表4.7所示。表4.7用户表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPyonghuzhanghaovarchar10用户账号mimavarchar8密码yonghuxingmingvarchar10用户姓名xingbievarchar2性别shenfenzhengint20身份证shoujivarchar12手机touxianglongtext4294967头像(8)失物招领shiwuzhaoling“失物招领shiwuzhaoling”是用来记录丢失物品信息的数据库表。失物招领shiwuzhaoling的结构如表4.8所示。表4.8失物招领表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPwupinmingchengvarchar20物品名称wupinshuliangvarchar20物品数量wupinleixingvarchar20物品类型wupintupianlongtext4294967物品图片zhuangtaivarchar10状态shidedizhivarchar200拾得地址shideshijiandatetime拾得时间renlingdizhivarchar200认领地址wupinmiaoshulongtext200物品描述zhanghaovarchar10账号xingmingvarchar10拾取人(9)token表“token表”结构如表4.9所示。表4.9token表字段名称类型长度字段说明主键默认值idbigint主键主键useridbigint用户idusernamevarchar10用户名tablenamevarchar20表名rolevarchar10角色tokenvarchar8密码addtimetimestamp新增时间CURRENT_TIMESTAMP(10)收藏表storeup“storeup”是用于记录用户收集物品信息的数据库表,其结构参考表4.10所示。表4.10收藏表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPuseridbigint用户idrefidbigint物品idtablenamevarchar20表名namevarchar20名称picturelongtext4294967图片(11)认领信息renlingxinxi“认领信息renlingxinxi”是记录失物认领信息的数据库表。认领信息renlingxinxi的结构如表4.11所示。表4.11认领信息表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPwupinmingchengvarchar20物品名称wupinshuliangvarchar20物品数量wupinleixingvarchar20物品类型wupintupianlongtext4294967物品图片shidedizhivarchar200拾得地址renlingdizhivarchar200认领地址zhanghaovarchar10账号xingmingvarchar10拾取人renlingzhanghaovarchar10认领账号renlingrenvarchar10认领人shenfenzhenghaovarchar20身份证号dengjishijiandatetime登记时间续表4.11认领信息表sfshvarchar10是否审核待审核shhflongtext500审核回复(12)失物招领评论表discussshiwuzhaoling“失物招领评论表discussshiwuzhaoling”是记录失主对失物招领评论信息的数据库表。失物招领评论表discussshiwuzhaoling的结构如表4.12所示。表4.12失物招领评论表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPrefidbigint关联表iduseridbigint用户idavatarurllongtext4294967头像nicknamevarchar10用户名contentlongtext500评论内容replylongtext500回复内容(13)社区寻物评论表discussshequxunwu“社区寻物评论表discussshequxunwu”是记录社区寻物评论内容信息的数据库表。社区寻物评论表discussshequxunwu的结构如表4.13所示。表4.13社区寻物评论表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPrefidbigint关联表id续表4.13社区寻物表useridbigint用户idavatarurllongtext4294967头像nicknamevarchar10用户名contentlongtext500评论内容replylongtext500回复内容(14)物品类型wupinleixing“物品类型wupinleixing”是记录物品类型信息的数据库表。物品类型wupinleixing的结构如表4.14所示。表4.14物品类型表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPwupinleixingvarchar20物品类型第5章系统实现5.1用户登录注册首次访问本系统的用户,可以通过图5.1的注册界面,输入相关的姓名、账号、密码、身份证号、性别、联系方式、上传头像,随后点击注册按钮来完成注册操作。注册成功后,将跳转至图5.2所示登录界面,用户需在该界面输入正确的账号和密码,并点击登录按钮进行登录。若用户在登录界面中输入了错误的账号或密码,则会出现:“账号或密码不正确”的提示框,如图5.3所示。图5.1用户注册界面图5.2用户登录界面图5.3用户登录错误界面实现该功能的关键代码如下:@IgnoreAuth @RequestMapping(value="/login") PublicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){ YonghuEntityu=yonghuService.selectOne(newEntityWrapper<YonghuEntity>().eq("zhanghao",username)); if(u==null||!u.getMima().equals(password)){ ReturnR.error("账号或密码不正确"); } Stringtoken=tokenService.generateToken(u.getId(),username,"yonghu","用户"); ReturnR.ok().put("token",token); } /***注册*/ @IgnoreAuth@RequestMapping("/register")publicRregister(@RequestBodyYonghuEntityyonghu){ //ValidatorUtils.validateEntity(yonghu); YonghuEntityu=yonghuService.selectOne(newEntityWrapper<YonghuEntity>().eq("zhanghao",yonghu.getZhanghao())); if(u!=null){ ReturnR.error("注册用户已存在"); } LonguId=newDate().getTime(); yonghu.setId(uId);yonghuService.insert(yonghu);ReturnR.ok();}5.2用户个人中心当用户登录成功之后,单击“我的”按钮就可以在小程序中进入个人中心界面了,如图5.4,这个时候就可以显示出用户个人信息了。单击头像后设置按钮,使用者可在该界面中查看个人信息;用户单击“失物招领”键后,即可发布失物招领信息;点击“认领信息”按钮可查看认领信息;点击“我的收藏管理”按钮可查看收藏信息。图5.4用户个人中心界面实现该功能的关键代码如下:@RequestMapping("/session")PublicRgetCurrUser(HttpServletRequestrequest){ Longid=(Long)request.getSession().getAttribute("userId");YonghuEntityu=yonghuService.selectById(id);ReturnR.ok().put("data",u);}5.3用户管理管理员登录后端系统,后端首页如图5.7所示,单击“用户管理”选项,展示用户界面,如图5.8所示。在用户界面之上输入姓名、性别,并单击查询按钮,展示用户查询界面如图5.9所示。如果想要对用户信息进行删除,可点击对应的删除按钮,从而进入删除界面,如图5.10所示;点击修改按钮,用户修改界面如图5.11所示。图5.7后端首页界面图5.8用户管理界面图5.9用户查询界面图5.10用户删除界面图5.11用户修改界面实现该功能的关键代码如下:@RequestMapping("/page")PublicRpage(@RequestParamMap<String,Object>params,YonghuEntityyonghu, HttpServletRequestrequest){EntityWrapper<YonghuEntity>ew=newEntityWrapper<YonghuEntity>(); PageUtilspage=yonghuService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,yonghu),params),params));ReturnR.ok().put("data",page);}/***查询*/@RequestMapping("/query")publicRquery(YonghuEntityyonghu){EntityWrapper<YonghuEntity>ew=newEntityWrapper<YonghuEntity>(); ew.allEq(MPUtil.allEQMapPre(yonghu,"yonghu")); YonghuViewyonghuView=yonghuService.selectView(ew); returnR.ok("查询用户成功").put("data",yonghuView);}/***删除*/@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){yonghuService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}/***修改*/@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyYonghuEntityyonghu,HttpServletRequestrequest){//ValidatorUtils.validateEntity(yonghu);yonghuService.updateById(yonghu);//全部更新returnR.ok();}5.4物品类型管理管理员在后端系统点击“物品类型”按钮,将展示物品类型界面,如图5.12所示。界面之上输入物品类型后单击查询按钮,会弹出物品类型的查询界面,如图5.13所示。在物品类型信息后方点击删除按钮,显示物品类型删除界面如图5.14所示。图5.12物品类型管理界面图5.13物品类型查询界面图5.14物品类型删除界面实现该功能的关键代码如下:@RequestMapping("/lists")PublicRlist(WupinleixingEntitywupinleixing){ EntityWrapper<WupinleixingEntity>ew=newEntityWrapper<WupinleixingEntity>(); ew.allEq(MPUtil.allEQMapPre(wupinleixing,"wupinleixing"));ReturnR.ok().put("data",wupinleixingService.selectListView(ew));}/***查询*/@RequestMapping("/query")publicRquery(WupinleixingEntitywupinleixing){EntityWrapper<WupinleixingEntity>ew=newEntityWrapper<WupinleixingEntity>(); ew.allEq(MPUtil.allEQMapPre(wupinleixing,"wupinleixing")); WupinleixingViewwupinleixingView=wupinleixingService.selectView(ew); returnR.ok("查询物品类型成功").put("data",wupinleixingView);}/***删除*/@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){wupinleixingService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}5.5社区寻物管理用户登录小程序,在小程序首页点击“社区寻物”按钮,显示界面如图5.15所示。图5.15小程序社区寻物界面管理员在后端系统点击“社区寻物”按钮,显示社区寻物界面如图5.16所示;在社区寻物界面上方输入标题、物品名称、物品类型、丢失地点,点击查询按钮,显示社区寻物查询界面如图5.17所示;在社区寻物信息后方点击修改按钮,显示社区寻物修改界面如图5.18所示。图5.16社区寻物管理界面图5.17社区寻物查询界面实现该功能的关键代码如下:@RequestMapping("/lists")PublicRlist(ShequxunwuEntityshequxunwu){ EntityWrapper<ShequxunwuEntity>ew=newEntityWrapper<ShequxunwuEntity>(); ew.allEq(MPUtil.allEQMapPre(shequxunwu,"shequxunwu"));ReturnR.ok().put("data",shequxunwuService.selectListView(ew));} /***查询*/@RequestMapping("/query")PublicRquery(ShequxunwuEntityshequxunwu){EntityWrapper<ShequxunwuEntity>ew=newEntityWrapper<ShequxunwuEntity>(); ew.allEq(MPUtil.allEQMapPre(shequxunwu,"shequxunwu")); ShequxunwuViewshequxunwuView=shequxunwuService.selectView(ew); ReturnR.ok("查询社区寻物成功").put("data",shequxunwuView);}图5.18社区寻物修改界面/***修改*/@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyShequxunwuEntityshequxunwu,HttpServletRequestrequest){//ValidatorUtils.validateEntity(shequxunwu);shequxunwuService.updateById(shequxunwu);//全部更新returnR.ok();}5.6失物招领管理用户在小程序发布失物招领信息后,在首页点击“失物招领”按钮,显示界面如图5.19所示。图5.19小程序失物招领界面管理员在后端系统点击“失物招领”按钮,将会显示失物招领界面,效果如图5.20所示;在失物招领界面上方输入物品名称、物品类型、拾得地址,点击查询按钮,失物招领查询界面会弹出如图5.21所示的界面。若需删除某条失物招领信息,可单击失物招领信息后面的删除按钮,对应界面如图5.22所示。图5.20失物招领管理界面图5.21失物招领查询界面图5.22失物招领删除界面实现该功能的关键代码如下:@RequestMapping("/lists")PublicRlist(ShiwuzhaolingEntityshiwuzhaoling){ EntityWrapper<ShiwuzhaolingEntity>ew=newEntityWrapper<ShiwuzhaolingEntity>(); ew.allEq(MPUtil.allEQMapPre(shiwuzhaoling,"shiwuzhaoling"));ReturnR.ok().put("data",shiwuzhaolingService.selectListView(ew));} /***查询*/@RequestMapping("/query")PublicRquery(ShiwuzhaolingEntityshiwuzhaoling){EntityWrapper<ShiwuzhaolingEntity>ew=newEntityWrapper<ShiwuzhaolingEntity>(); ew.allEq(MPUtil.allEQMapPre(shiwuzhaoling,"shiwuzhaoling")); ShiwuzhaolingViewshiwuzhaolingView=shiwuzhaolingService.selectView(ew); ReturnR.ok("查询失物招领成功").put("data",shiwuzhaolingView);}/***删除*/@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){shiwuzhaolingService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}5.7认领信息管理用户在小程序“失物招领”界面查看物品详细信息,如有想要认领的情况,在物品详细信息界面左下方点击“认领”按钮,等待后端系统管理员审核,审核通过,在小程序认领物品详细信息界面显示“已认领”状态。管理员在后端系统点击“认领信息”按钮,显示认领信息界面如图5.23所示;在认领信息后方点击“审核”按钮,管理员审核界面如图5.24所示;在认领信息界面上方输入物品名称、物品类型、拾得地址,点击查询按钮,显示认领信息查询界面如图5.25所示;在认领信息后方点击修改按钮,显示认领信息修改界面如图5.26所示。图5.23认领信息管理界面图5.24认领信息审核界面图5.25认领信息查询界面图5.26认领信息修改界面实现该功能的关键代码如下:@RequestMapping("/lists")PublicRlist(RenlingxinxiEntityrenlingxinxi){ EntityWrapper<RenlingxinxiEntity>ew=newEntityWrapper<RenlingxinxiEntity>(); ew.allEq(MPUtil.allEQMapPre(renlingxinxi,"renlingxinxi"));ReturnR.ok().put("data",renlingxinxiService.selectListView(ew));}/***审核*/@RequestMapping("/shBatch")@TransactionalpublicRupdate(@RequestBodyLong[]ids,@RequestParamStringsfsh,@RequestParamStringshhf){List<RenlingxinxiEntity>list=newArrayList<RenlingxinxiEntity>();for(Longid:ids){RenlingxinxiEntityrenlingxinxi=renlingxinxiService.selectById(id);renlingxinxi.setSfsh(sfsh);renlingxinxi.setShhf(shhf);list.add(renlingxinxi);}renlingxinxiService.updateBatchById(list);returnR.ok();} /***查询*/@RequestMapping("/query")PublicRquery(RenlingxinxiEntityrenlingxinxi){EntityWrapper<RenlingxinxiEntity>ew=newEntityWrapper<RenlingxinxiEntity>(); ew.allEq(MPUtil.allEQMapPre(renlingxinxi,"renlingxinxi")); RenlingxinxiViewrenlingxinxiView=renlingxinxiService.selectView(ew); ReturnR.ok("查询认领信息成功").put("data",renlingxinxiView);}/***修改*/@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyRenlingxinxiEntityrenlingxinxi,HttpServletRequestrequest){//ValidatorUtils.validateEntity(renlingxinxi);renlingxinxiService.updateById(renlingxinxi);//全部更新returnR.ok();}5.8社区公告管理管理员点击“社区公告”按钮,展示社区公告界面,如图5.27所示;在社区公告界面上方管理员可输入公告标题后点击查询按钮,会展示社区公告查询界面,如图5.28所示;若想要删除某一社区公告则需点击社区公告信息后面的删除按钮,显示社区公告删除界面如图5.29所示。用户登录小程序后点击“社区公告”按钮,显示界面如图5.30所示。图5.27社区公告管理界面图5.28社区公告查询界面图5.29社区公告删除界面图5.30小程序社区公告界面实现该功能的关键代码如下:@RequestMapping("/lists")PublicRlist(ShequgonggaoEntityshequgonggao){ EntityWrapper<ShequgonggaoEntity>ew=newEntityWrapper<ShequgonggaoEntity>(); ew.allEq(MPUtil.allEQMapPre(shequgonggao,"shequgonggao"));ReturnR.ok().put("data",shequgonggaoService.selectListView(ew));} /***查询*/@RequestMapping("/query")PublicRquery(ShequgonggaoEntityshequgonggao){EntityWrapper<ShequgonggaoEntity>ew=newEntityWrapper<ShequgonggaoEntity>(); ew.allEq(MPUtil.allEQMapPre(shequgonggao,"shequgonggao")); ShequgonggaoViewshequgonggaoView=shequgonggaoService.selectView(ew); ReturnR.ok("查询社区公告成功").put("data",shequgonggaoView);}/***删除*/@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){shequgonggaoService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}5.9系统管理管理员点击“系统管理”按钮,显示下拉列表界面如图5.31所示。点击“轮播图管理”,显示轮播图管理界面如图5.32所示。点击“社区资讯”,展示社区资讯界面图,如图5.33所示;在社区资讯界面之上输入公告标题后单击查询按钮即可展示社区资讯查询界面,如图5.34所示。用户登录小程序后点击“社区资讯”按钮,显示界面如图5.35所示。图5.31系统管理下拉界面图5.32轮播图管理界面图5.33社区资讯管理界面图5.34社区资讯查询界面图5.35小程序社区资讯界面实现该功能的关键代码如下:@RestController@RequestMapping("/news")publicclassNewsController{@AutowiredprivateNewsServicenewsService;@RequestMapping("/lists")PublicRlist(NewsEntitynews){ EntityWrapper<NewsEntity>ew=newEntityWrapper<NewsEntity>(); ew.allEq(MPUtil.allEQMapPre(news,"news"));ReturnR.ok().put("data",newsService.selectListView(ew));} /***查询*/@RequestMapping("/query")PublicRquery(NewsEntitynews){EntityWrapper<NewsEntity>ew=newEntityWrapper<NewsEntity>(); ew.allEq(MPUtil.allEQMapPre(news,"news")); NewsViewnewsView=newsService.selectView(ew); ReturnR.ok("查询社区资讯成功").put("data",newsView);}
第6章系统测试为了确保系统的可靠性和稳定性,在完成各功能模块和前台操作界面的设计之后,必须进行一系列的操作和性能测试,以确保本系统能够得到及时的维护和改进,以确保正式使用的可靠性和稳定性。黑盒测试旨在通过使用用户角度的测试用例,来评估系统的功能性和可靠性,以便发现潜在的问题并采取有效的措施。通过这种方式,测试人员可以更准确地评估系统的实际表现,并为用户提供更可靠的服务。6.1测试步骤软件开发过程应分步实施,以确保每一步都能有效地推进整个项目的发展。一个复杂的软件项目通常由多个子程序组成,每个子程序又由多个模块组成,为了保证整个工作可靠稳定。故系统测试时一般要经过如下几个环节:1.模块测试有助于检测程序是否存在编码及设计错误。2.经过测试程序,可找出系统设计中存在的不足。3.确保检查结果符合标准,以确保验收测试方案的有效性。6.2测试用例6.2.1登录测试用例根据用户需求,本文设计了一系列用户端和管理端的测试用例,采用了黑盒测试的方法。为了保证实际效果,本文提供了一些具有代表性的测试用例。用户登录测试用例如表6.1所示,用户登录测试图如图6.1所示。表6.1用户登录测试用例表测试编号测试目的操作步骤预期结果实际结果001登录测试输入账号:11输入密码:11登录成功登录成功002登录测试输入账号:12输入密码:11登录失败登录失败003登录测试输入账号:11输入密码:12登录失败登录失败图6.1用户登录测试图6.2.2认领信息管理测试用例认领信息管理测试用例如表6.2所示,认领信息查询测试用例图如图6.2所示,认领信息修改测试用例图如图6.3所示。表6.2认领信息管理测试用例表测试编号测试目的操作步骤预期结果实际结果001添加认领信息测试在添加界面输入认领信息,点击确认按钮。添加成功添加成功续表6.2认领信息管理测试用例表002修改认领信息测试在修改界面修改认领信息,点击确认按钮。修改成功修改成功003删除认领信息测试在管理认领信息界面,点击某一用户的删除按钮。删除成功删除成功004查询认领信息测试在管理认领信息界面查询输入框输入要查询的用户名字,点击查询按钮。查询成功查询成功图6.2认领信息查询测试用例图图6.3认领信息修改测试用例图6.2.3物品类型管理测试用例表6.3展示了物品类型管理测试用例,删除操作测试用例图如图6.4所示,查询操作测试用例图如图6.5所示。表6.3物品类型管理测试用例表测试编号测试目的操作步骤预期结果实际结果001查询物品类型信息测试在管理物品类型信息界面查询输入框输入要查询的物品类型名称,点击查询按钮。查询成功查询成功002添加物品类型信息测试在添加界面输入物品类型信息,点击确认按钮。添加成功添加成功续表6.3物品类型管理测试用例表003修改物品类型信息测试在修改界面修改物品类型信息,点击确认按钮。修改成功修改成功004删除物品类型信息测试在管理物品类型信息界面,点击某一用户的删除按钮。删除成功删除成功图6.4物品类型删除测试用例图图6.5物品类型查询测试用例图6.2.4失物招领管理测试用例失物招领管理测试用例如表6.4所示,失物招领查询测试用例图如图6.6所示,失物招领删除测试用例图如图6.7所示。表6.4失物招领管理测试用例表测试编号测试目的操作步骤预期结果实际结果001查询失物招领信息测试在管理失物招领信息界面查询输入框输入要查询的失物招领信息,点击查询按钮。查询成功查询成功002添加失物招领信息测试在添加界面输入失物招领信息,点击确认按钮。添加成功添加成功003修改失物招领信息测试在修改界面修改失物招领信息,点击确认按钮。修改成功修改成功004删除失物招领信息测试在管理失物招领信息界面,点击某一用户的删除按钮。删除
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位笔试-青海-青海皮肤病与性病学(医疗招聘)历年参考题典型考点含答案解析
- 2025年产科产科手术器械操作规范考核试题及答案解析
- 2025年发展研究院招聘公共绩效与信息化研究中心项目主管岗位备考题库及1套参考答案详解
- 2026年项目看板信息共享合同
- 2025年上海市科创教育研究院招聘备考题库完整参考答案详解
- 浅谈急性乳腺炎
- 浏阳市卫生健康局2025年公开招聘乡村医生备考题库完整答案详解
- 2025年北京协和医院肿瘤内科合同制科研助理招聘备考题库及答案详解一套
- 中国电子行业CEIC2025前沿聚焦:从智能终端到医疗家居鸿蒙生态全场景展出
- 2025年北京协和医院变态(过敏)反应科合同制科研助理招聘备考题库及答案详解参考
- 北京市东城区2024-2025学年五年级上册期末测试数学试卷(含答案)
- 眼科手术患者的心理护理与情绪管理
- 项目分包制合同范本
- 2025天津大学管理岗位集中招聘15人考试笔试备考题库及答案解析
- 企业数据安全管理制度
- 2025年公务员多省联考《申论》题(陕西A卷)及参考答案
- 摘菜劳动课件
- 2025义齿行业市场分析报告
- DB34∕T 4796-2024 药品临床综合评价质量控制规范
- 2025年公共管理与公共政策专业考试试卷及答案
- 学堂在线 雨课堂 学堂云 批判性思维-方法和实践 章节测试答案
评论
0/150
提交评论