《基于Android的智能停车系统的设计与开发(修改版).docx》由会员分享,可在线阅读,更多相关《基于Android的智能停车系统的设计与开发(修改版).docx(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、摘要在对城市停车位供给紧缺、停车难以及乱停车等问题进行解决时,可以研究其根源,对城市的有效停车位进行增加,构建现代化停车场,另外也可以针对目前已有的停车场进行科学合理的配置、控制以及调度。关于Android 的智能停车位管理系统来说,其重点能够划分成两部分,分别是服务器端与手机端。前者在开发工具上应用了eclipse,对于SSH框架设计进行了应用,重点针对数据的保存以及交互,能够将其当作是一个中转站,在数据库设计上应用了mysql,其能够进行长期化数据的保存。而后者的开发工作在Android Studio平台进行。利用HTTP网络协议对服务器发送请求,而服务器把相关的数据进行打包,将其设置为J
2、SON格式进而发送至手机,达成各数据的及时性网络更新。这一系统利用服务器来提取停车位信息,这里的信息涉及到停车场地理位置、收费价格等,将其在数据库中进行保存。而关于停车场的详细停车位信息则是利用两个模块来进行动态化的更新,这两个模块分别是esp8266物联模块和红外感应模块。关键词:智能停车 安卓 SpringAbstractIn view of the shortage of urban parking space supply, parking difficulty and disorderly parking, in addition to analyzing the crux of t
3、he problem, increasing the effective urban parking space and building a modern parking lot, it is also an effective measure to effectively allocate, dispatch and manage the existing parking lot.The intelligent parking management system based on Android is mainly divided into two parts: server and mo
4、bile. The server-side is developed by eclipse development tools and designed by SSH framework. It is mainly responsible for data storage and interaction. It can be regarded as a transit station, while the database is designed by MySQL and is a container for persistent data. The mobile terminal is de
5、veloped on the Android studio platform. The mobile terminal requests the server through HTTP network protocol, and the server packs the corresponding data into JSON format to feed back to the mobile phone, so as to realize the real-time network update of each data. The system collects parking inform
6、ation through the server, including the location of parking lot, charging price, etc., and records them in the database. The specific parking information of the parking lot is dynamically updated through the ESP 8266 IOT module and the infrared sensor module.Keywords: Intelligent parking Android Spr
7、ing目 录第一章 绪论11.1 课题的背景及意义.11.2 研究动机11.3 论文的主要目的2第二章 相关技术介绍32.1 Android系统简介32.2 Spring框架42.3 Tomcat52.4 Mysql数据库6第三章 需求分析73.1 可行性分析73.1.1 经济可行性73.1.2 技术可行性73.1.3 操作可行性73.1.4 社会可行性73.2 功能需求分析8第四章 设计与实现94.1 API网关设计94.2 数据库设计104.2.1 系统的概念数据模型104.2.2 系统的物理数据模型114.3 基于安卓的智能停车系统的开发与实现124.3.1 系统结构124.3.2 用户
8、注册登录模块124.3.3 后端车位预定模块164.3.4 后端订单管理模块184.3.5 后端车位管理模块204.3.6 后端订单管理功能224.4 本章小结24第五章 软件测试255.1 测试原则255.2 测试方法和环境255.2.1 功能测试255.3 并发性测试265.4 本章小结26第六章 总结与展望27参考文献28致 谢29广东东软学院本科生毕业设计(论文)广东东软学院本科生毕业设计(论文)第一章 绪论1.1 课题的背景及意义社会经济的不断加速发展,城市的机动车数量不断增加,特别是大批私有汽车的不断涌现,另外还有长时间以来城市停车设施建设比较滞后,赶不上机动车的不断增加,使得停车
9、难问题比较显著。在对城市停车位供给紧缺、停车难以及乱停车等问题进行解决时,可以研究其根源,对城市的有效停车位进行增加,构建现代化停车场,另外也可以针对目前已有的停车场进行科学合理的配置、控制以及调度。因此构建对应配套的技术比较先进、有着稳定性能以及自动化程度较高的智能停车场管理系统,在对停车位管理水平的提升上非常关键。在当代社会中,现代化停车场管理已经变为比较重要的需求,选定合理的停车场管理系统对于停车场管理的优化能够产生巨大的作用,能够进一步提升其管理的有效性、安全性、可靠性以及停车场运营自动化程度。在停车场不断变多的情况下,市场上针对其对应管理系统的需求较大。1.2 研究动机不断发展的移动
10、网络提供了快速,灵活的Internet访问,极大地改变了我们的日常生活。它带动了各种移动应用程序和服务的兴起,例如移动流视频,移动电子支付等。同事车流量大,停车难的问题摆到人们面前,如何利用信息化手段来解决人们停车难的问题,是当前需要紧迫解决的一大民生问题。对于智能停车系统,它需要满足数据存储方便、数据操作变通性较好等条件,本系统进行设计的过程中需要对下面几个目标进行满足,包括:(1)先进性:在操作中应用比较先进的技术,同时在安全管理系统平台,进而维持系统在以后一段时期内的先进性。(2)可扩展性:在访问量不断增长的情况下,系统需要包含较高的可扩展性,进而使其对新功能的引入适应度较高,能够很快开
11、展新业务操作。(3)标准开放性:所有接口标准一致,系统需要包含较好的可移植性。(4)安全高效性:针对信息的保密性较高,工作效率较快,系统稳定性较高,另外能够进行较高品质服务的提供以及较快速度的响应。(5)实用灵活性:系统所提供的各项服务要应该是简单和方便的,尽最大力满足各个层次用户的要求,为用户带来真正的方便。1.3 论文的主要目的本文的主要目的是利用系统的设计和实现,完成对智能停车的问题,利用前后端平台和技术手段,方便人们在客户端完成预约功能和停车服务,方便大众。第二章 相关技术介绍2.1 Android系统简介Android是一个基于Linux的开源、开放性较高、支持共享的执行平台。Goo
12、gle在ASL许可下部署Android,Android的实质为基于规范的Linux系统上添加Java虚拟机Dalvik,另外在Dalvik虚拟机上构建一个JAVA的application framework,全部的应用程序均基于JAVA的application framework来进行。Dalvik虚拟机属于一类以寄存器为基础的Java虚拟机,另外其同时能够对内存资源的应用进行完善,另外还有允许多个虚拟机进行工作,这就是其特征。Android在ARM平台进行重点使用,然而其不仅仅可以应用在此,其包含跨平台这一特点,能够利用编译进行控制,其在很多体系结构的机器中同样能够工作,包括X86、MAC等
13、。Android系统架构进行结构分层,包括四层,由上到下为应用程序层、应用程序框架层、系统运行库层还有Linux内核层,具体描述为:(1)应用程序层Android平台不仅是操作系统,其中有很多应用程序,比如短信客户端程序、电话拨号程序、图片浏览器以及Web浏览器等应用程序。这些应用程序的编写均利用了Java语言,另外这些应用程序包含可替代性,能够被开发人员开发的其他应用程序进行替代,对比其他手机操作系统,其变通性较高,而其他手机操作系统则被固定在系统内部。(2)应用程序框架层进行Android开发的基础就是应用程序框架层,许多关键应用程序在达成自身的关键性功能时对其也进行了应用,这一层对于组件
14、的重用进行了进一步的简化,开发人员能够直接应用其所提供的组件进行较快速度的应用程序开发,另外也能够利用继承来达成对个性化的延伸。(3)系统运行库层在对Android进行关键特性的支持时,应用了部分c/c+库,比如SQLite在数据库上进行支持, OpenGL|ES库则是在3D绘图上进行支持,WebKit库在浏览器内核上进行支持等。另外在该层包含Android运行时库,能够进行部分关键库的提供,可以统一开发者应用JAVA语言对Android应用进行编写。另外还拥有虚拟机Dalvik,然而其此后变为了ART运行环境,让Android应用均能够拥有属于自己的进程以及Dalvik虚拟机实例,对比JAV
15、A的虚拟机,Dalvik是为移动设备进行专业化设定的,在内存以及CPU性能进行了改良。(4)Linux内核层Android系统的基础为Linux内核,对于Android设备的硬件来说,该层能够进行底层驱动(比如说显示,音频,照相机,蓝牙,WI-FI以及电源管理等)的提供,而Android选择使用linux主要和Linux的特性存在关联,内核为其抽象层,包含于硬件以及软件之间,在内存以及进程管理上比较强,依据权限的安全模式,允许共享库,其驱动模式通过验证,其自身就是开源项目等。2.2 Spring框架Spring 为一个能够减轻复杂性的WEB应用程序的轻量级开源框架,其特征为分层,通过这一架构能
16、够使用户基于自身的需要来对组件进行确定,其框架的延伸能力较强,对于WEB程序来说,其能够进行一个集成框架的支持。Spring 属于分层架构,包含很多耦合较低的模块。它的其他模块基于Spring Core上进行创建,见图2-1:图2-1 Spring框架7个模块Spring DAO:其为Spring框架中对持久层相关事务进行操作的模块,通过应用统一的方式来对事务进行管理以及调用,能够避免实现代码入侵业务逻辑的情况发生。Spring ORM:Spring 框架中存在很多对象关系映射框架,针对对方进行管理时能够进行对象关系映射工具的提供,另外其参照了Spring的管理结构。Spring MVC 框架
17、:模型试图控制器框架就是创建Web系统的对应部件的达成。模型试图控制器框架对Spring的其他模块还有部分和web存在联系的框架进行集成,其在配置水平上较高。Spring框架:Spring属于一类开源的Java轻量级框架,它的出现让众多互联网企业受益,从兴起至今已有十多个年头了,但是热度丝毫未减。框架采用的是分层架构,使用者可以选择性的使用它所拥有的组件。你可以将它看成一个容纳对象的特殊容器,它可以帮我们维护管理好全部构建的对象还有对象间的依赖关系。与此同时其对于各类出色的框架并不拒绝,在内部为这些框架进行了很多支持的提供,所以很多框架都可以和其搭配组合使用。SpringMVC: 其本身属于S
18、pring框架基础性架构的组成部分,其为Spring所提供的一个轻量级web框架,其中结合了MVC架构模式思想,针对Web层开展职责解耦工作。其关键组件是DispatcherServlet,即前端控制器。此框架切实解决了业务数据和对象之间存在的紧密耦合,同时极大程度的简化了Web层开发,目前已是大多数企业优先选择的框架。开发环境:CPU:8核内存:16G硬盘:2T 操作系统:Windows10数据库:MySQL开发工具包:JDK 1.8JSP服务器:Tomcat 8.52.3 TomcatSun公司开发出了Tomcat,其属于一类Servlet容器,其主要基于JavaServer Web De
19、velopmentKit,通过java来达成,在具体应用中可以当做插件,Servlet和tomcat均在server端运行;另外Servlet服务器对于Java语言比较依赖;其为client提供服务,并且可以为server提供能够加载以及操作的程序代码;其对于浏览器无依赖,不论何种状况,其均能够访问Servlet,这和语言并没有关系。Tomcat 服务器属于Web应用服务器,在开放源代码上不需要支付任何费用,在应用服务器中属于轻量级,应用较多的场景为中小型系统以及并发访问用户较少的情况下,在对JSP程序进行开发以及调试时,其是首要选择。站在初学者的角度,能够这样说,在一台机器上已经完成了Apa
20、che 服务器配置工作,就能够应用其响应HTML(它是规范化通用标记语言下的一个应用)页面的访问请求。实质上,Tomcat就是Apache 服务器的延伸,然而在工作过程中其独立性较高,因此在进行tomcat的应用时,其就是一个和Apache 独立的进程,在工作中独立运行的。诀要是,在其配置无误的情况下, Apache 为HTML页面服务,而事实上Tomcat 运行的是JSP 页面以及Servlet。除此之外,Tomcat与IIS等Web服务器相同,能够对HTML页面进行相关操作,还有就是其能够是一个Servlet以及JSP容器,对于Tomcat来说,其默认模式就是独立的Servlet容器。但是
21、,Tomcat对比Apache服务器在对静态HTML进行操作的方面能力较差。当前Tomcat最新版本是10.0.0-M3。Servlet容器的基本功能如图2-2所示。图2-2 Servlet容器基本功能图2.4 Mysql数据库关系数据库系统为支持关系模型的数据库system。关系模型包含关系数据结构Relational data structures,关系操作集合Relational operation sets以及关系完整性约束Relational integrity constraints。(1)Relational data structures单个数据结构-关系,真实世界实体和实体之
22、间的各种连接用于表结构存储,其结构是二维表组成的一个表。常有的操作,查询,数据更新(添加和删除),查询表达式的能力是最重要的部分。(2)Relational operation sets即操作object和操作result全部被设置(非关系数据模型的数据操作模式:一次性记录文件系统的数据操作模式)。(3)目前,数据库类别较多,然而其中应用最普遍的就是Mysql数据库。数据库的作用时对数据进行保障的提供。其能够针对普遍的数据开展直接查询操作;其操作对象为对应记录的对应集合。Mysql 数据库对比其他数据库,达成相同的功能要求代码量不多。其能够对类型不一致的数据库进行连接,和其他数据库开展接口连接
23、操作。针对DTS结构工具进行开发,进一步提升了开发软件人员以及数据库管理员的变通性,使其管理更加方便,对于开发编程人员以及数据库管理员来说,其应用难度不高;对于数据库中的报表服务能够对数据进行更佳的管理,进一步提升数据开发能力。(4)关系模型中的完整性约束包括entity,Reference以及User defined的完整性。entity完整性规则为,若属性为基于关系的主体属性,那么这一属性不能为空,并且引用规则是定义外部代码与主代码之间的引用规则。26第三章 需求分析上一章节概述了系统开发要求的工具以及技术,本章则对需求开展可行性研究,重点针对三个可行性开展系统研究。任何系统的设计和实现之
24、初需求分析是最重要的环节,需求分析决定了一个系统从无到有的关键,更是整个系统框架设计的原由,通过各方面的分析了解系统应该解决目前社会上的哪些痛点,并且根据分析决定系统的各方面细节,列出系统是什么?能做什么?在什么场景下使用?使用的对象是谁?为什么使用系统?等五个问题,就可以充分了解系统是应该被完成的。3.1 可行性分析3.1.1 经济可行性智能停车系统的设计与实现在经济层面的投入很少,整个系统的拥有很大一部分的代码复用性,并且各模块设计的功能模块操作也十分简单,一般的开发技术就可以完成相关设计模块,整体的业务流程非常少,都是单线程审批。但是在用户实用性却很高,因为线下流程转至线上的操作方便了用
25、户停车,并且大大提高了停车的效率,节约了较多的人力物力,所以在系统的经济方面研究存在可行性。3.1.2 技术可行性改系统主要以java作为开发语言和mysql作为数据库,目前涉及到的技术都已经广为人知,因此在技术层面是非常简单的,在开发时遇到的任何问题都可以通过其他帮忙得以解决,并且全程开发需要的办公工具只有eclipse和mysql,能够明确系统在技术上存在可行性。3.1.3 操作可行性系统在操作可行性分析中占有绝对的优势,系统设计之初就以操作简单为理念,各模块设计都基于人性化考虑,每个模块的功能操作都能让用户快速的上手,即使是之前没有网上停车经验的人群也能接受相关功能,在后期系统的推广使用
26、阶段在操作层面绝对不存在任何难点,因此整个系统在操作层面是绝对可行的。3.1.4 社会可行性因为疫情期间线上办公的热潮,各大互联网公司争相开发线上办公等产品,就以钉钉几亿下载量足以说明智能停车系统在社会层面占有绝对的市场,并且依靠办公效率的提高和易操作性,绝对符合社会可行性。基于Android的智能停车系统设计用户执行页面工作比较简单,美观简洁,能够在任意时间任意地点对车位预约进行浏览,一方面,能够符合车主对车位进行预约的需要,另一方面可以进行车位的退还等。提升了车主操作的便捷性,存在社会可行性。3.2 功能需求分析基于安卓的智能停车系统分为后端和前端,后台的功能点为:(1)登录注册在用户第一
27、次登入系统期间,系统会对其进行注册的提示,用户要填入用户名、密码,从而进行注册。在进行登录操作时需要输入对应信息,对账号是否存在以及密码的正确性进行检验,在前台界面会显示登录成功与否。(2)管理员管理管理员管理主要包括管理员信息的增加、删减、修改以及查询,能够对管理员用户名以及密码进行设定。(3)车位管理管理员登录系统后,点击“车位管理”,可以看到车位id,车位号和状态,并对车位信息进行增删改查,点击添加车位,填写“位置”和“状态”,点击保存即可。(4)订单管理功能管理员登入系统后,点击“车位管理”,可以看到用户ID,车位信息,停车时长,开始停车时间、结束停车时间、停车状态,费用以及车牌号。前
28、台的功能点如下:(1)车位预约用户通过登录手机app后,可以看到“小区停车”菜单栏中停车信息,点击“可预约”按钮,输入车牌号和到达时间,点击“预约车位”便可成功预约。页面将会弹出“已为您预约XX车位,请务必在预约时间10分钟内到达,否则将取消已预约车位”模态框。(2)订单管理用户点击“订单”列表,可以查看自己的订单详情,车位信息和下单时间,此时页面有两个按钮,“我已到达”和“我要离开”。当车已到达车位时,点击“我已到达”,则表明车已到达成功,后台状态一栏将会显示“已到达”;同理,当车已要离开车位时,点击“我要离开”,则表明车已离开,后台状态一栏将会显示“已离开”。本章通过可行性以及需求研究这两
29、方面对基于安卓的智能停车系统的需求进行了概述,另外还进行了具体的需求研究。第四章 设计与实现上一章对系统开展了具体的需求分析,本章将对基于安卓的智能停车系统开展具体的设计以及达成,详细过程为首先对后台API网关的设计与实现进行概述,此后针对系统开展概要以及具体设计,另外还有设计数据库。4.1 API网关设计API网关为后台java开发应用较多的架构模式,其重点应用于对服务分散性较高以及管理统一的进出口流量这两个问题的解决。在微服务架构里面,系统架构的入口只有一个,就是服务网关,其在系统构成中应用较多。API网关在系统入口位置出现,仅仅能够进行访问入口的提供。其鞥狗进一步减少客户端的调用服务次数
30、,同时能够在系统入口位置开展负载或者权限验证操作。总体服务端提供API网关,其就是内外部的门户,另外客户端访问应用无状态REST风格的请求。API网关的功能重点为提供路由服务以及总体系统唯一入口,对于外部能够对内部的详细达成进行屏蔽,增加各微服务对于本身业务逻辑处理的重视。构建API Gateway的module,要求引进spring-cloud-starter-zuul。API网关详细的关键代码为:dependencyManagement imports mavenBom org.springframework.boot:spring-boot-dependencies:+ springBo
31、otVersion mavenBom org.springframework.boot:spring-boot-starter:+ springBootVersion dependencies if(result)result1code = cls_config_ErrorCode.code_numEN_SUCCESS;result1message = “success”;result1item = result;elseresult1code = cls_config_ErrorCode.code_enumEN_FAIL;result1message = “fail”;sourceSets
32、main resources.srcDirs = src/main/resources, src/main/java resources.includes = */*.xml, */*.yml jar baseName = apigateway-boot4.2 数据库设计在软件系统设计期间数据库设计比较重要,其能够为系统达成提供较好的基础。数据模型设计中有三大方面,分别是数据结构、操作以及约束,这里面数据结构是后两者的基础,而数据操作重点介绍了对应数据结构上的操作类型以及方式,约束则重点介绍了数据结构之内和数据结构之间的依赖关系以及数据的转变规范。数据模型设计通常需要首先开展对概念数据模型的设
33、计,此后基于这一模型对存储介质的组织构架进行考量,推动物理数据模型的设计的进行。本文在对系统数据库设计介绍时基于概念数据模型以及物理数据模型两个方面来进行。4.2.1 系统的概念数据模型对于大部分开发者来说,其在开展数据库设计过程中首选的构建模型就是概念数据模型(CDM, Conceptual Data Model),其能够展示总体数据库设计的最高层抽象。这里要求设计数据库的功能,在对数据库开展表框架的设计时利用E-R图。以下针对重点模块开展E-R图的设计。(1)管理员管理用户信息,设计的E-R模型如下:图4-2 管理员管理用户E-R图(2)车主预定车位模块,设计的E-R模型如下:预定车位模块
34、车主车位图4-3 管理员编辑名片E-R图4.2.2 系统的物理数据模型物理数据模型设计主要是为了在对达成概念数据模型时选择怎样的数据库模式,另外还有保存数据。这一模型的内容有对全部表与列的明确,另外还有对主键以及外键的定义等。在下面在对系统的关键数据库表设计上从几个方面进行概述,包括字段名称、类型以及长度等。本文在对系统设计的数据库进行确定时,选定了关系型数据库Mysql。详细的表结构为:(1)表4-1为用户信息表,对用户的基础性信息进行保存。表4-1 用户信息表字段字段名类型长度允许空值备注用户iduserIdvarchar255否主键账号accountNamevarchar255否密码pa
35、sswordvarchar255否姓名userNamevarchar255否联系方式phonevarchar255否地址addressIdvarchar255否创建时间create_datetimestamp255是描述descriptionvarchar255是(2)表4-2为车位信息表,存放名片的基本字段。表4-2 车位信息表字段字段名类型长度允许空值备注车位ididint255否主键车位号Numvarchar255否车位状态Typevarchar255否外键描述descriptionBLOB255否车位主人peoplevarchar255是(3)表4-3就是用户订单表。其能够进行用户所下
36、订单信息的保存。表4-3 用户订单表字段字段名类型长度允许空值备注订单idorderIdvarchar255否主键订单编号orderNumvarchar255否订单信息orderInfovarchar255否停车费orderPricevarchar255是下单时间timeDate255否订单状态statusvarchar255否4.3 基于安卓的智能停车系统的开发与实现4.3.1 系统结构如图4-5,为基于Android的智能停车系统设计功能结构图,分为系统前端和后端管理,后端管理分为用户注册登录、管理员管理、车位管理、订单管理这4个模块;前端管理分为车位预约和订单管理这两个大的模块。图4-5
37、 的智能停车系统APP功能结构图4.3.2 用户注册登录模块进入智能停车系统的首界面,要求用户进行注册,该页面重点达成的功能包括:首先,对用户填写信息的正确性进行验证;其次提示注册成功与否的信息;最后是对用户数据的存储。在用户输入信息完成后,单击提交选项,注册完成。注册完成后,需要进行账号以及密码输入,后台则会在数据库中对其进行验证,如果数据库包含其登录信息,那么会在前台显示登录成功字样,成功进入系统;如果在其中找不到用户或者密码输入有误,那么会出现对话框显示用户名或密码有误。用户登录模块的流程图如图4-6所示。图4-6 用户登录流程图主要顺序为:(1)用户填入正确的用户名以及密码,单击登录选
38、项;(2)系统按照输入的对比数据库中的账号以及密码来开展用户登录权限的验证,系统根据账户权限分为两类用户:用户和管理员;(3)如果密码正确,界面显示登录成功弹窗提示,跳转至系统首页;如果密码错误,界面显示登录失败弹窗提示,用户需要重新输入密码。(4)登录成功后用户各角色可正常使用各模块功能。数据层面涉及User表,其中数据层核心实现代码为:SELECT id, name, password, admin, controllableNodes, updateTime, createTimeSELECT tt.*,SUM(CASE WHEN ti.status IS NOT NULL THEN 1
39、 ELSE 0 END) AS total,SUM(CASE WHEN ti.status LIKE END% THEN 1 ELSE 0 END) AS totalEndINSERT INTO user(name, password, admin) VALUES (#name, #password, #admin)上面就是User表的数据库一部分的插入和查询语句,其中查询语句能够按照不同的条件来开展查询工作,例如用户id以及机器状态等。而关于Node表的达成在前面的节点管理模块里面已经进行描述,在这里就不进行重复的介绍。按照上一章的内容这一功能模块重点业务处理类是UserController
40、类以及AccountController类,以下就是这两个类的一部分关键代码:Value($site.secret)private String secretKey;Autowiredprivate SessionService sessionService;Autowiredprivate UserMapper userMapper;public String login(String username, String password) User user = userMapper.getByName(username);if (user = null | !PasswordUtils.c
41、heck(secretKey, password, user.getPassword()Model.addAttribute(username, username);Model.addAttribute(error, 1); / password errorreturn account/login;sessionService.setLogin(response, user.getId();return redirect: + ctx.getReferer();上面的代码就是AccountController类代码,在得到网站密钥认证的协助时应用到Value,应用Autowired引入Sess
42、ionService依赖,其作用是进行服务器和客户端间的Session认证业务。这一段代码主要的作用是进行用户的登录认证,类中的其他部分还能够进行用户密码的更正。LoginRequiredAdminRequiredpublic Response updateControllableNodes(RequestParam(name = id, required = true) Integer id,RequestParam(name = controllableNodes, required = false) String controllableNodes) controllableNodes
43、= controllableNodes = null ? : controllableNodes;userMapper.updateControllableNodes(id, controllableNodes);return Response.SUCCESS;上面的代码是UserController类中的一部分代码,而AdminRequired指的是这一类里面的全部功能函数均需要管理员用户进行验证,这一部分代码的功能是对用户能够控制的节点进行更改,类中还有其他功能,包括增加、删除一般用户以及对一般用户的密码进行更改等。下面是本模块的后端部分代码:Ajax(url: $ctx.path/api
44、/user/update,type: post,data: id: row.id, controllableNodes: row.controllableNodes,callback: 0: table.refresh,1: function (r) promptMsg.failMsg(更新失败: + r.data););后端用户登录界面如图4-7所示:图4-7 后台用户登录页面4.3.3 后端车位预定模块用户通过登录手机app后,可以看到“小区停车”菜单栏中停车信息,点击“可预约”按钮,输入车牌号和到达时间,点击“预约车位”便可成功预约。页面将会弹出“已为您预约XX车位,请务必在预约时间10分钟内到达,否则将取消已预约车位”模态框。车位预定页面如图4-12所示,预订成功页面如图4-13所示.图4-12 车位预定页面图4-13 预定成功页面车位预定页面的核心代码实现如下:public void listVirtualCard() throws InvalidKeyException,NoSuchAlgorithmException, HttpException, IOException String developerServer = :8080/client/api; String ApiK