当前位置: 首页 > article >正文

基于微信小程序的车位共享平台的设计与实现源码数据库文档

摘  要

近年来,随着国民经济的飞速发展,城镇化进程的步伐加快,城市人口急剧增长,人们的生活水平持续改善,特别是大中型城市,城市的交通规模日益增大,汽车的保有量不断提高,然而城市的停车位资源有限,己经越来越无法满足城市的停车需求,引发了车辆违停乱停等一系列不良现象,而且日趋严重。人们为了不违规停车,又造成停车场门口等待车辆的大量积压,严重的影响着正常的道路交通。而随着智能手机大规模的普及以及5G技术快速发展,我们步入了全新的移动互联时代,许多工作可直接在智能终端上完成,随着近年来“共享概念”,“共享经济”的兴起,推出了共享停车系统,通过互联网和大数据,解决停车位供应不足,使用不均衡,效率不高,车位动态信息不透明不共享等问题,帮助改善城市的交通条件和提高设施的利用效率。

尽管目前智能手机技术得到了快速发展,但移动端用的发展风口已经开始逐渐淡去,加上相同种类的移动应用越来越多,从而加剧了许多应用的竞争,移动端应用程序的发展也出现了瓶颈期。但是,微信新推出的小程序应用,又使新时代的移动端网络技术迎来了新的机遇。本文以微信小程序、java为开发技术,实现了一个基于微信小程序的车位共享平台。论文主要是对该平台进行了介绍,包括研究的现状,还有涉及的开发背景,然后还对系统的设计目标进行了论述,还有系统的需求,以及整个的设计方案,对系统的设计以及实现,也都论述的比较细致,最后对车位共享平台微信小程序的进行了一些具体测试。该小程序主要包括服务端和用户端。服务端包括基本信息的录入,发布(空闲时间,费用,车位总数量的统计),车位状态修改,地图导航定位等功能。用户端包括包括客户端实现定位功能,车位搜索,车位租赁缴费等功能。具体在系统设计上,采用了B/S的结构,后台基于PHP框架,前端通过JAVA技术进行实现,后台上采用Mysql数据库,是一个非常优秀的车位共享微信小程序。

关键词 :车位共享:小程序;B/S结构;PHP;Mysql


Abstract

In recent years, with the rapid development of the national economy, the pace of urbanization has accelerated, the urban population has grown rapidly, and people's living standards have continued to improve, especially in large and medium-sized cities, where the scale of urban traffic has increased and the number of cars has continued to increase. However, the city’s parking space resources are limited, and it has become increasingly unable to meet the city’s parking needs, causing a series of undesirable phenomena such as illegal parking of vehicles, which are becoming more and more serious. In order not to stop illegally, people have caused a large backlog of waiting vehicles at the entrance of the parking lot, which has seriously affected the normal road traffic. With the large-scale popularization of smart phones and the rapid development of 5G technology, we have entered a new era of mobile internet. Many tasks can be done directly on smart terminals. With the rise of the "sharing concept" and "sharing economy" in recent years , Launched a shared parking system, through the Internet and big data, to solve the problems of insufficient parking space supply, unbalanced use, low efficiency, opaque parking space dynamic information and non-sharing, helping to improve the city's traffic conditions and improve the utilization efficiency of facilities.

Despite the rapid development of smart phone technology, the development trend for mobile applications has gradually faded. In addition, there are more and more mobile applications of the same type, which intensifies the competition of many applications, and the development of mobile applications has also There has been a bottleneck period. However, the new mini-program application of WeChat has ushered in new opportunities for the new era of mobile terminal network technology. This article uses WeChat applet and java as the development technology to realize a parking space sharing platform based on WeChat applet. The thesis mainly introduces the platform, including the current status of the research, and the development background involved, and then discusses the design goals of the system, as well as the requirements of the system, and the overall design plan, the design of the system, and the design of the system. The realization is also discussed in detail. Finally, some specific tests were carried out on the WeChat applet of the parking space sharing platform. The small program mainly includes the server and the user. The server includes basic information entry, release (free time, cost, statistics of the total number of parking spaces), parking status modification, map navigation and positioning and other functions. The client terminal includes the client terminal to realize the positioning function, parking space search, parking space rental payment and other functions. Specifically, the system design adopts the B/S structure, the backend is based on the PHP framework, the front end is implemented through JAVA technology, and the Mysql database is used on the backend. It is an excellent WeChat applet for university canteen ordering.

Keywords: parking space sharing: small program; B/S structure; PHP; Mysql

1 概述

1.1 课题背景及意义

中国是个人口大国,伴随着国家经济实力的迅速提升,汽车这个代步工具逐渐的进入了每个人的家庭,扮演着社会生活中的重要角色。面对汹涌而来的车流,无数的机场、车站、医院、酒店、行政服务中心等人流密集地区无不对停车问题感到束手无策,停车位一位难求,停车场门口排起长龙,时间成本默默流失,道路交通严重瘫痪。这些己经成为了城市生活的一道司空见惯的风景。以一线城市北京为例,据2019年的统计,截止2018年底北京全市城镇地区汽车总数为608.4万辆,位居全国第一,然而正规备案停车位总量只有189.05万个,有着巨大的车位缺口。全市范围内白天写字楼、医院和行政中心等公共场所停车位尤其紧张,矛盾更为突出的是夜间的居民区停车状况,供需严重失衡,可以说五环内无车位充足区。但是根据2018年普查结果显示,北京停车位与停车需求按照各个地区划分所统计出来的供需关系,他们的总量几乎相同,那是什么造成了这种供需失衡呢?

各种停车资源的利用率低,居民区的停车位夜间严重不足,促使着车主挤占小区周边道路,写字楼等空间停车困难的地方反而无人停车。北京市人大常委会就《北京市机动车停车管理条例(草案)》进行了讨论。其中,在第五章第三十八条【开放共享】中提到,本市鼓励政府机关、团体、企事业单位的机动车停车场向社会开放;鼓励居住区在满足本居住区居民停车需求的情况下,将多余的停车资源进行共享。

国家一直在鼓励车位所有者与车位使用者积极的进行错时车位共享,停车场物业管理部门应当积极的配合,适当的提供相应服务,然而真正到实施层面了,却无比艰难。共享车位小程序也就成了解决车位利用率失衡的重要工具。让空闲的车位活用起来,解决人们停车难的问题,同时也提供给了车位所有者和物业一定的经济收益,实现有偿共享。

1.2 车位共享的发展现状

在发达国家如日本、美国及一些欧洲国家,很早其就投入运行了共享停车管理系统,对其实际运用状况进行研究可知,其有较为理想的效果。纵观国外停车场的发展历程,下面几个阶段是其主要内容:路边停车最早,因为拥有很少的社会车辆,针对路边停车方面的交通管理法规也没有明确规定;而由于经济的发展,车辆也不断变多,越来越多的问题暴露于路边停车中,严重的占道现象加大了城市拥堵同时车辆偷盗现象也更加严重等  。此时陆续出现了停车场,刚开始政府统一对其进行指定修建,并派专人看守这些停车场。接着停车场的私营化由政府授权,并且其持续时间很长,但是车辆增长迅猛使得对停车场进行人力管理越发地困难。在 20 世纪80 年代中期,欧美发达国家第一次在停车场的管理中引入了计算机技术。接着信息技术、自动化技术等当时较为新兴的手段和科技也接连被引进。21 世纪伊始,城市车辆的增长速度进一步加大,欧美发达国家逐渐暴露出停车难的问题,为了解决这一问题,许多的城市管理者和学者专家们陆续开展了研究,于是进一步普及与推广了共享停车管理系统 。

从世界上其他国家的共享停车管理系统的功能的角度,其在各个方面都有较为显著的成效,比如减少环境污染、缓解交通压力及解决停车难问题等。但是智能化程度还较低是其普遍存在的问题,主要包括有序管理与车位推荐两方面。

人工管理的方式还主导着我国当前各个城市的停车场管理,没有普及智能化的管理体系,同时智能化水平也明显不够高] 。车辆进出困难导致交通拥挤时常出现于早晚高峰时期 。管理人员对于停车场车位的占用率不能准确掌握是造成这一问题的主要原因,车辆在进入停车场后只能盲目寻找停车位,由于停车场的空间本身就相对较小,待开出的车辆就受到了这些来往穿梭待停车辆的影响,因而交通拥堵车辆进出两难的状况就频繁出现于停车场内部和进出口处。虽然共享停车管理系统已经应用于一些城市之中,包括将就近停车场泊位数据进行显示及车辆进出场时刷卡取卡等方式,但是这些方式治标不治本,数据传输与接收不匹配、缺乏统一数据管理、科技含量不高及智能化水平不高是其主要的问题。所以,升级与改善我国当前的共享停车管理系统的实际和理论意义都非常重要。

1.3 微信小程序的发展

微信是腾讯公司在 2011 年发布的一款为智能终端提供的即时通讯应用程序。微信软件的使用与下载是完全免费的,只需少量的网络流量费用。同时,其使用不受移动终端系统和运营商的限制,已成为目前亚洲地区拥有最大用户群体的移动即时通讯软件。随着互联网技术的不断发展,微信也在不断拓展着自身的功能来更好的满足人们对于软件功能的需要。比如我们现在很熟悉也很常用的钱包支付功能,以及用来推送文章的微信公众号平台,还有一些订阅号,企业号等功能。目前微信已经被应用到我们日常生活中的各个领域,例如广播电台,旅游服务等方面。在教育领域中,关于如何将微信应用于教育中的研究也在不断深入。有学者依托微信构建一些学习交流平台,希望可以在学科教学中起到一定的助推作用,一些学校教师也通过创设学科学习微信公众号,初步构建基于微信的新型微学习模式,探讨微学习模式在优化教学课堂中的应用。也有的学者提出利用微信建立生活中的应用,提供生活的便利性。

微信小程序是在 2017 年基于微信内部而开通的一款最新功能。“微信之父”张小龙曾经说过这样的一句话:“小程序是一种无需下载安装,即可使用的一种应用,小程序的出现实现了我们曾经一直以来对于应用可以实现“触手可及”的期望,用户只需通过扫一扫或者搜一搜就可以轻松快捷的打开自己所需要的功能的对应的应用,这也充分的体现了符合当今快速发展社会的其中“用完即走”的这一理念与趋势,使用小程序的用户们无需再像从前一样,经常关心其手机是否安装了太多应用的问题。2017 年 1 月 9 日,微信小程序正式开放,作为一种不需要下载、即开即使用的线上应用,它最大的好处莫过于节省手机空间。小程序可在微信中置顶或在手机桌面形成快捷方式,这样一来用户可卸载掉手机中冗杂的应用,用小程序来代替。用户不需要担心安装过多应用的问题,也不必为了节省空间而卸掉一些应用,小程序可以通过搜索获得,也可以通过扫描二维码获得,还可以在私聊,群聊界面分享。

微信小程序的开发相对来说也较为简单,在开发微信小程序时,开发者可以直接调用微信自带的 api 功能接口来实现所需功能。用户在使用小程序时也十分简单,用户只需打开自己常用的微信软件,在微信中直接搜索或者直接扫一扫即可进入小程序进行使用。小程序的出现,使开发者的开发周期大大缩短,小程序一经公布,很快就被大家所认可,并且积极应用于各个领域。一些学者将微信小程序用于构建校园失领平台,以及家政服务的预约。生活领域对于微信小程序的应用研究也在不断深入。

1.4 本课题主要工作

本文正是基于微信小程序开发平台,针对城市停车管理缺乏信息化、现代化的问题,本文设计出一个车位共享平台小程序,以此城市共享停车的智能化、规范化。

一开始,本文就对系统内谈到的基本知识,从整体上进行了描述,并在此基础上进行了系统分析。为了能够使本系统较好、较为完善的被设计实现出来,就必须先进行分析调查。基于之前相关的基础,在功能上,对新系统进行了细致的分析。然后通过详细的分析,进行系统设计,其次,系统在实施的可行性上,我选择了JAVA开发平台来进行开发设计,在JAVA WEB架构上基于PHP,在数据存储上,采用Mysql数据库来进行设计。由于JAVA和Mysql都已经非常成熟,因此无论在各个方面,都非常可靠安全实用。最后对系统进行测试完善并发布。

2 系统开发环境

本系统前端采用小程序的开发架构进行开发,同时后台采用PHP组合框架。

小程序的运行环境一般分为逻辑层和渲染层,并且有两个线程分别对运行环境进行管理,在界面中,渲染使用 WebView,在逻辑层中, JavaScript 脚本采用 JsCore进行运行,微信客户端在这两个线程的通信做中转,微信客户端与第三方服务器的交互通过HTTPS 请求进行,而且小程序的开发平台给开发者开放了很多的功能,非常的方便实现起来。微信小程序减少了为不同设备、不同操作系统适配的工作量,为学习者带来很多便利。

2.1 微信小程序相关技术

启动微信小程序的初衷不仅使用户使用起来更加方便,而且为开发人员提供了更方便,更便捷的开发环境,以实现更高效的开发。任何系统的设计和开发都需要完整的系统框架,以确保整个系统的完整运行。对于微信小程序,为了使开发更快,微信小程序采用的框架是MINA应用程序框架。 MINA框架主要是负责数据交互的系统。它的组成主要包括用于显示页面的视图层结构和负责实现数据交互的逻辑层系统。其中,视图层负责发布事件请求,逻辑层负责接收和处理数据。当逻辑层接收到数据时,视图层将根据逻辑层中的数据进行更改,然后进行相应的更新。 MINA框架使逻辑层和视图层中的数据更改同步。

该框架还负责许多交互操作。开发人员只需要输入要实现的页面的方法和功能。该框架可以管理整个程序的页面路由和生命周期,从而使applet可以无缝地跳转到不同的子页面Smooth。 MINA框架中的视图层用于开发applet的前端接口,页面建立该接口,并使用WXML和WXSS语言进行开发。 WXML和WXSS语言都是框架本身提供的描述语言,WXML用于描述页面结构。 WXSS用于控制页面的显示样式并构建页面的基本视图结构。 AppService逻辑层是MINA的服务中心。它负责页面渲染和页面交互处理的逻辑所需的数据,管理应用程序和页面路由的生命周期,视图层将事件请求发送到逻辑层,逻辑层执行页面数据处理和处理通过请求。传输,然后发送到视图层进行页面渲染。逻辑层用JavaScript语言编写,以实现页面交互,网络请求和数据处理。逻辑层包含用于小型程序的强大API接口功能。开发人员可以直接调用他们在开发过程中需要哪些功能,包括用于获取用户信息的接口。 ,支付功能接口,位置服务功能接口等。此外,小程序还使用JSBridge实现底层API接口的动员。 JSBridge通过JavaScript连接Web和本机,以便本机可以调用WEB的js代码,而Web可以调用本机代码。因此,微信小程序的开发不需要考虑ios和Android操作系统之间的区别。两者是兼容的,只需要在视图层和逻辑层中进行开发。下图主要显示了MINA框架的主要结构:

图2-1 MINA 框架的主要结构

2.2 微信小程序文件目录

每个微信小程序的开发都必须包括一个应用程序(其主要功能是描述小程序的整体)和一个页面(主要用于描述小程序的页面)。 开发小程序时,微信小程序初始化的代码结构目录非常简单明了。 仅显示两个目录,即页面目录,utils目录以及三个app.js,app.json和app.wxss。 应用程序文件。 对于页面目录,其主要功能等效于“存储”小程序的每个显示页面的“内存”。 页面对应于一个目录,该目录包含四个文件:js文件,wxml文件,wxss文件和json文件。 如下图所示,pages目录主要存储两个页面的索引和日志的构成文件。 Utils负责存储js库和数字格式文件。如图2-2所示。

图2-2小程序文件目录介绍

接下来要介绍的是每个小程序必须包含的三个文件app.js,app.json和app.wxss。 这三个文件是applet的主要部分。 而且这三个文件的文件名都是固定的,因此不能随意修改。 下表2-1详细介绍了这三个文件。

表 2-1  小程序主体介绍

app.js文件是第一个要执行的文件。 因为它必须首先统一定义程序代码并统一处理整体逻辑。 通过app.js的后缀,我们知道这部分使用了JavaScript代码。 App主要包含onLaunch方法,getUserInfo方法和globalData全局变量数据。

当小程序启动时,将执行onlaunch方法中的程序。该方法以Wx开头。是系统的所有“内置”方法。我们可以在需要使用它们时直接调用它们。每次Wx输入后,系统将立即显示自己的方法。如上图所示。 Wx.Getstoragesync是获取本地缓存的日志字段。 unshift()方法将新的日志内容和当前时间添加到数组的末尾。 Get userinfo定制方法用于获取用户信息。在这里,我们需要先判断用户信息是否为空。如果用户信息为空,则调用微信登录界面。成功登录后,用户ID和身份存储在全局变量GlobalData中。 app.json文件是小程序的整体配置文件。在此文件中,我们必须根据实际需要配置小程序的合成页面,以及整个小程序的统一窗口背景色和导航栏。样式,默认标题等。不能在文件中添加注释。 App.json是当前小程序的全局配置。包括小程序的所有页面路径,界面窗口性能,网络超时,底部选项卡等。应用程序的配置。 JSON可以被相同的方法覆盖。其他页面的JSON配置。

应用程序。 Wxss是整个applet的通用样式表。主要目的是控制小型程序的样式。同样,此文件中的样式将被其他页面上的Wxss中的相同样式覆盖。

Mysql数据库具有很多优点,例如操作上易于理解,功能强大,信息存储量大。因此被广泛使用。对于MySQL数据库,它主要对数据进行编码和查询,并且在许多设计中都将其应用于数据库。在此过程中,我们可以查询和合并常规数据,因此,当我们使用MySQL数据库时,我们只需要编写一小部分数据即可实现相应的功能。数据库是数据存储的存储空间,但是数据存储在计算机上,而不是在实际的存储空间中。数据的存储是固定格式的,没有混乱,那么定义是:存在很长时间的固定格式,可以共享并存储在计算机内存中。数据库管理主要包括数据表的建立,数据的存储,数据的修改和增加。为了使数据库系统正常运行,相关人员进行了管理工作。数据表的建立可以对数据表中的数据进行调整,重组和重建,并保证数据的安全性。

2.3 小程序页面文件构成

在开发小程序之前,首先,根据开发的系统的功能,在页面下建立页面的相应子文件夹。我们设计的系统中的页面数取决于页面下相应的子文件夹。相应地,每个子文件夹,即与页面相对应的文件夹,由四个子文件组成。四个文件的后缀为。js,.json,.wxml,.wxss。此外,规定四个文件的文件名必须与它们所在的子文件夹的文件名相同。每个子文件下的四个文件具有不同的功能。

.JS文件是子文件夹中的核心逻辑文件,主要用于编辑每个页面的业务处理程序。Wxml文件用于创建我们需要创建的所有页面的结构和布局。这也是必须创建的文件,类似于网页中HTML的功能。wxss文件是当前页面的样式文件。负责调整当前页面的样式布局。

B / S结构中包含三层:数据层,控制逻辑层和视图层。用户通过视图层使控制层调用数据层的数据,从而实现整个访问过程。这三层彼此独立,易于维护且使用安全。三层可以互相调用以提高效率。

2.4 MySql数据库

Mysql的语言是非结构化的,用户可以在数据上进行工作。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。并且因为Mysql的语言和结构比较简单,但是功能和存储信息量很强大,所以得到了普遍的应用。

Mysql数据库在编程过程中的作用是很广泛的,为用户进行数据查询带来了的方便。Mysql数据库的应用因其灵活性强,功能强大,所以在实现某功能时只需要一小段代码,而不像其他程序需要编写大段代码。总体来说,Mysql数据库的语言相对要简洁很多。

数据流程分析主要就是数据存储的储藏室,它是在计算机上进行的,而不是现实中的储藏室。数据的存放是按固定格式,而不是无序的,其定义就是:长期有固定格式,可以共享的存储在计算机存储器上。数据库管理主要是数据存储、修改和增加以及数据表的建立。为了保证系统数据的正常运行,一些有能力的处理者可以进行管理而不需要专业的人来处理。数据表的建立,可以对数据表中的数据进行调整,数据的重新组合及重新构造,保证数据的安全性。介于数据库的功能强大等特点,本系统的开发主要应用了Mysql进行对数据的管理。

2.5 B/S结构

BROWSER/SERVER程序架构方式是使用电脑中安装的各种浏览器来进行访问和使用的,相比C/S的程序结构不需要进行程序的安装就可以直接使用。BROWSER/SERVER架构的运行方式是在远程的服务器上进行安装一个,然后在任何接入互联网的电脑上访问和使用。BROWSER/SERVER架构的开发方式给用户带来了极大的便利,在任何时间和地点都可以使用开发的程序系统。

在B/S的结构中,用户可以在任何可以上网的地方访问和使用系统网站的功能,没有地域和时间等方面的限制,B/S结构是把程序完整放置到计算机网络的服务器上,通过计算机互联网给用户提供远程的网络服务。在三层体系结构的B/S系统中,通过浏览器,会员可以对很多服务器发出请求, B/S系统会很大程度的降低工作量,用户只需要安装运行较少的客户端即可,大量的工作将由服务器承担,另外,服务器也完成包括访问数据库,执行应用程序的工作等等。

B/S结构主要有三层,分别为数据层、控制逻辑层和视图层。用户通过视图层,让控制层调用数据层的数据,从而达到整个访问过程。三层相互独立,维护方便,使用安全,三层有互相调用,提高效率。

2.6 uni-app框架

自 2017年小程序诞生以来,历经多年的迭代升级,已有数百万小程序上线,成为继Web、iOS、Android之后,第四大主流开发技术。与之相随,小程序的开发生态也在蓬勃发展,从最初的微信原生开发,到wepy、mpvue、taro、uni-app等框架依次出现,生态越来越丰富。其中,uni-app是DCloud推出一款支持微信的所有原生组件和api,无限制的第三方框架。在跨端方面,即便仍然使用微信原生的组件和API,也可以直接跨端编译到App、H5、以及支付宝百度头条等小程序,如图2-9所示。

从功能框架图中可以看到,uni-app能够将应用编译发布到APP平台、小程序平台以及H5平台,即实现了跨平台应用发布。图中uni内置组件和API一层,将常用的组件和API进行了跨平台封装,可以覆盖大部分的业务需求。图中APP平台中的HTML5Plus表示的是一个跨iOS和Android的JavaScript增强引擎。

图2-9uni-app功能框架图

相对于微信小程序自身的开发框架来说,使用uni-app框架更加简单。开发者使用uni-app框架,可以采用Vue.js的语法和微信小程序api来进行程序开发,这对于前端工程师来说并不需要额外的学习成本。另外,使用该框架之后,开发者写的一套代码不仅可以运行在微信小程序平台中还可以运行在其他小程序平台上,方便了日后项目运营的扩展。

3 系统分析

所谓系统分析,就是需求人员通过与用户的沟通获取信息,然后通过需求规范的方式向用户和开发人员展示信息。在软件功能开发的悠久历史中,很长一段时间,尤其是在开始时,需求分析的重要性就未被人们认识到。例如,IBM当时为BT开发了一套信息管理系统,并在需求不明确时开始开发它。最初的建设工期为一年,但由于要求不明确,工期被推迟了半年以上,造成了巨大的损失。我们的许多软件公司也都存在这种情况,而需求,开发同时,即使没有与客户的明确沟通,也直接复制相同类型的项目进行更改,导致系统接受时间,重新更改,从而导致大量浪费人力物力。所有这些后果的原因是需求获取不及时,清晰和全面。

3.1 可行性分析

车位共享微信小程序主要目标是实现通过小程序进行车位共享,具体包含后台端和用户端,后台端包括基本信息的录入,发布(空闲时间,费用,车位总数量的统计),车位状态修改,地图导航定位等功能。用户端包括包括客户端实现定位功能,车位搜索,车位租赁缴费等功能。在确定了目标后,我们从以下四方面对能否实现本系统目标进行可行性分析。

3.1.1 技术可行性

车位共享微信小程序主要采用微信小程序开发平台,采取PHP框架,具备完整功能,使用简单的特点。车位共享微信小程序具有很高可行性,且开发人员掌握了一定的开发技术,所以系统的开发具有可行性。

3.1.2 操作可行性

车位共享微信小程序利用微信进行关联,并通过注册进行进行登录,简单易于操作,采用常见的小程序设计界面,通过手机端进行访问操作。此系统的开发采用java语言开发,基于小程序开发框架结构和B/S结构,这些开发环境使系统更加完善。本系统具有易操作、易管理、交互性好的特点,在操作上是非常简单的。因此本系统可以进行开发。

3.1.3 经济可行性

车位共享微信小程序前端是基于小程序开发框架,后端是PHP框架,采用前端加服务器的开发模式,所要求的硬件和软件环境,市场上都很容易购买,程序开发主要是管理系统的开发和维护。所以程序在开发人力、财力上要求不高,而且此系统不是很复杂,开发周期短,在经济方面具有较高的可行性。

3.1.4 法律可行性

此车位共享微信小程序是自己设计的分类管理系统,具有很大的实际意义。因为无论是软件界面,还是具体逻辑功能都采用的都是开源代码,因此这个系统的开发和设计,并不存在侵权等问题,在法律上完全具有可行性。

综上所述,车位共享微信小程序在技术、经济、操作和法律上都具有很高的可行性,开发此程序是可行的。

3.2 系统流程分析

3.2.1 系统开发流程

车位共享微信小程序开发时,首先进行需求分析,进而对系统进行总体的设计规划,设计系统功能模块,数据库的调用等,本系统的开发流程如图3-1所示

图3-1系统开发流程图

3.2.2 用户操作流程

为了保证系统的安全性,要使用本系统对系统信息进行管理,必须先登陆到系统中。用户进入系统后,会先显示登录界面,输入正确的用户名和密码,系统自动检测信息,若信息无误,则用户会进入系统功能界面,进行操作,否则会提示错误无法登录,操作流程如图3-2所示。

图3-2 系统操作流程图

3.2.3 添加信息流程

管理员可以对画作信息等进行信息的添加,用户也可以对自己权限内的信息进行添加,输入信息后,系统会自行验证输入的信息和数据,若信息正确,会将其添加到数据库内,若信息有误,则会提示重新输入信息,添加信息流程如图3-3所示。

图3-3 添加信息流程图

3.2.4 修改信息流程

管理员可以对画作信息等进行信息的修改,用户也可以对自己权限内的信息进行修改,首先进入修改信息界面,输入修改信息数据,系统进行数据的判断验证,修改信息合法则修改成功,信息更新至数据库,信息不合法则修改失败,重新输入。修改信息流程图如图3-4所示。

图3-4 修改信息流程图

3.2.5 删除信息流程

管理员可以对画作信息等进行信息的删除,对要删除的信息进行选中后,点击删除按钮,系统会询问是否确定,若点击确定,则系统会删除掉选中的信息,并在数据库内对信息进行删除,删除信息流程图如图3-5所示。

图3-5 删除信息流程图

4 开发环境和系统设计

4.1系统开发环境搭建

4.1.1  微信小程序的注册 

在开发微信小程序之前,需要登录并注册小程序。注册微信小程序的步骤如下:

(1)首先进入网站进入微信公众平台进行注册。

图 4-1  微信公众平台注册界面

(2)注册后,选择“小程序”进入正式注册界面。注册界面出现后,需要根据提示填写页面空白信息,然后单击“立即注册”。

(3)点击注册后,微信公众平台会在上一步中向登录邮箱发送登录电子邮件。此时,登录到注册邮箱,单击邮箱中来自微信平台的电子邮件中的链接进行验证。验证完成后,您可以登录信息注册界面。

图 4-2  激活认证界面

(4)提交主题信息后,登录小程序,即可使用小程序背景。进入小程序后,将补充开发所需的相关字母,包括程序的名称,头像,介绍等。

本文基于微信小程序开发的大学食堂订购被称为“车位共享”。小程序:该小程序主要用于车位共享。

4.1.2 微信小程序开发工具的安装  

在上述微信小程序的注册中,我们已经完成了微信小程序的注册。接下来,我们需要下载并安装系统开发所需的微信开发人员工具。

(1)首先,在微信公众平台上下载微信开发者工具。

图 4-3  微信开发者工具安装页面

(2)然后打开微信网页开发工具,并通过微信扫描打开的QR码进行登录。微信被授权登录,微信网页开发工具进入如图所示的界面。

(4)要创建一个新项目,请首先单击该小程序以进入界面,然后单击新项目(该项目需要选择一个新文件夹)。输入项目名称:车位共享,单击确定创建项目。

图 4-4  微信开发者工具注册

4.1.3 微信小程序开发工具的安装  

微信小程序的编辑界面简单,操作相对容易。微信小程序的后台编辑界面如下:

图 4-5  初始界面

以下是对该接口各部分功能的详细介绍:

1.此区域负责选择型号:此小程序以iPhone 6的屏幕尺寸为设计标准。

2.此区域是模拟的网络环境:2G / 3G / 4G / WiFi

3.该区域是实时预览界面,该界面的效果将显示在该区域中

4.该区域是代码架构目录,用于显示整个项目的文档目录结构

5.该区域是代码编辑区域和显示区域。在此区域中编辑代码。

6.该区域是调试区域。

以下是调试模式:(1)Console

Console 的意思就是几乎每个 IDE 都有的控制台,其作用显示错误信息和打

印变量的信息等。

(2)Sources

SSources panel 用于显示当前项目的脚本文件,

(3)Network

Network 顾名思义:用于观察和显示 request 和 socket 的请求情况

(4)Storage

Storage pane 用来显示数据存储的情况。

(5)AppData

AppData 是用来显示当前项目所需的具体数据。

(6)Wxml

Wxml 用于帮助开发者开发 Wxml 转化后的界面。

7.此区域将代码变成可执行的程序

8.此区域负责上传代码:将代码上传到腾讯服务器,提交审核必经步骤。可

以填写版本号和备注信息

4.2 系统概述

进系统设计包含总体设计和详细设计。总体设计只是一个大体的设计,经过了总体设计,我们能够划分出系统的一些东西,例如文件、文档、数据等。而且我们通过总体设计,大致可以划分出了程序的模块,以及功能。但是只是一个初步的分类,并没有真正的实现。

整体设计,只是一个初步设计,而且,对于一个项目,我们可以进行多个整体设计,通过对比,包括性能的对比、成本的对比、效益的对比,来最终确定一个最优的设计方案,选择优秀的整体设计可以降低开发成本,增加公司效益,从这一点来讲,整体设计还是非常重要的。

车位共享微信小程序工作原理图如图4-6所示:

图4-6 系统工作原理图

4.2.1 系统结构设计

系统架构图属于系统设计阶段,系统架构图只是这个阶段一个产物,系统的总体架构决定了整个系统的模式,是系统的基础。车位共享微信小程序的整体结构设计如图4-7所示。

图4-7 系统结构图

用户小程序进行进行登录,通过不同角色登录实现对共享停车的智能化管理。

4.3 数据库设计

数据库的概念结构设计采用实体—联系(E-R)模型设计方法。E-R模型法的组成元素有:实体、属性、联系,E-R模型用E-R图表示,是提示用户工作环境中所涉及的事物,属性则是对实体特性的描述。在系统设计当中数据库起着决定性的因素。下面设计出这几个关键实体的实体关系图。

数据模型中的实体(Entity),也称为实例,对应现实世界中可区别于其他对象的“事件”或“事物”。例如,公司中的每个员工,家里中的每个家具。

本系统主要的E-R图如下图所示:

1.用户实体图如图4-8所示:(具体需要哪个数据表可以参考sql进行编写)

图4-8用户实体图

相关文章:

基于微信小程序的车位共享平台的设计与实现源码数据库文档

摘 要 近年来,随着国民经济的飞速发展,城镇化进程的步伐加快,城市人口急剧增长,人们的生活水平持续改善,特别是大中型城市,城市的交通规模日益增大,汽车的保有量不断提高,然而城市的…...

多模态大语言模型arxiv论文略读(111)

SEA: Supervised Embedding Alignment for Token-Level Visual-Textual Integration in MLLMs ➡️ 论文标题:SEA: Supervised Embedding Alignment for Token-Level Visual-Textual Integration in MLLMs ➡️ 论文作者:Yuanyang Yin, Yaqi Zhao, Yaji…...

网页端 VUE+C#/FastAPI获取客户端IP和hostname

1 IP可以获取,但是发现获取到的是服务端的IP,如何解决呢。 如果采用nginx反向代理,那么可以在conf/nginx.conf文件中配置 location /WebApi/ { proxy_pass http://localhost:5000/; #这个/会替换location种的WebApi路径 #关键,加…...

一个自动反汇编脚本

一、环境 wsl ubuntu18.04、python3.6 二、目的 调试程序,需要分析第三方库。希望能将多个库自动转为汇编文件。 三、使用方法 将该脚本下载,进入wsl,进入到该脚本所有文件夹。 请使用 python 脚本名.py 运行。 1)、运行…...

函数与数列的交汇融合

前情概要 现行的新高考对数列的考查难度增加,那么整理与数列交汇融合的相关题目就显得非常必要了。 典例剖析 依托函数,利用导数,求数列的最值;№ 1 、 \color{blue}{№ 1、} №1、 等差数列 { a n } \{a_{n}\} {an​} 的前 n n n 项和为 S n S_{n} Sn​, 已知 S 10…...

怎么让自己ip显示外省?一文说清操作

在互联网时代,IP地址不仅关联网络连接,还可能影响IP属地显示。那么,手机和电脑用户怎么让自己IP显示外省?一文说清操作要点。 ‌ 二、4种主流方法详解 要让自己的IP显示为外省地址,主要有以下几种方法: …...

【Docker】容器安全之非root用户运行

【Docker】容器安全之非root用户运行 1. 场景2. 原 Dockerfile 内容3. 整改结果4. 非 root 用户带来的潜在问题4.1 文件夹读写权限异常4.2 验证文件夹权限 1. 场景 最近有个项目要交付,第三方测试对项目源码扫描后发现一个问题,服务的 Dockerfile 都未指…...

汽车车载软件平台化项目规模颗粒度选择的一些探讨

汽车进入 SDV 时代后,车载软件研发呈现出开源生态构建、电子架构升级、基础软件标准化、本土供应链崛起、AI 原生架构普及、云边协同开发等趋势,这些趋势促使车载软件研发面临新挑战,如何构建适应这些变化的平台化架构成为车企与 Tier 1 的战…...

【八股消消乐】构建微服务架构体系—服务注册与发现

😊你好,我是小航,一个正在变秃、变强的文艺倾年。 🔔本专栏《八股消消乐》旨在记录个人所背的八股文,包括Java/Go开发、Vue开发、系统架构、大模型开发、具身智能、机器学习、深度学习、力扣算法等相关知识点&#xff…...

大数据+智能零售:数字化变革下的“智慧新零售”密码

大数据+智能零售:数字化变革下的“智慧新零售”密码 大家好,今天咱们聊聊一个火到不行的话题:大数据在智能零售中的应用。这个领域,不仅是技术的“硬核战场”,更是商业创新的风口浪尖。谁能玩转数据,谁就能掌控消费者心智,实现销售爆发。 咱们不搞枯燥学术,而是用最“…...

C++_核心编程_菱形继承

4.6.8 菱形继承 菱形继承概念: ​ 两个派生类继承同一个基类 ​ 又有某个类同时继承者两个派生类 ​ 这种继承被称为菱形继承,或者钻石继承 菱形继承问题: 1. 羊继承了动物的数据, 驼同样继承了动物的数据&#xff0…...

掌握Git核心:版本控制、分支管理与远程操作

前言 无论热爱技术的阅读者你是希望掌握Git的企业级应用,能够深刻理解Git操作过程及操作原理,理解工作区暂存区、版本库的含义;还是想要掌握Git的版本、分支管理,自由的进行版本回退、撤销、修改等Git操作方式与背后原理和通过分…...

c#,Powershell,mmsys.cpl,使用Win32 API展示音频设备属性对话框

常识(基础) 众所周知,mmsys.cpl使管理音频设备的控制面板小工具, 其能产生一个对话框(属性表)让我们查看和修改各设备的详细属性: 在音量合成器中单击音频输出设备的小图标也能实现这个效果&a…...

STM标准库-TIM旋转编码器

文章目录 一、编码器接口1.1简介1.2正交编码器1.3编码器接口基本结构**1. 模块与 STM32 配置的映射关系****2. 设计实现步骤(核心流程)****① 硬件规划****② 时钟使能****③ GPIO 配置(对应架构图 “GPIO” 模块)****④ 时基单元…...

深入解析JVM工作原理:从字节码到机器指令的全过程

一、JVM概述 Java虚拟机(JVM)是Java平台的核心组件,它实现了Java"一次编写,到处运行"的理念。JVM是一个抽象的计算机器,它有自己的指令集和运行时内存管理机制。 JVM的主要职责: 加载:读取.class文件并验…...

MCP通信方式之Streamable HTTP

目录 一、前言二、三种传输方式对比1、Stdio和 HTTP SSE工作原理2、Streamable HTTP3、Streamable HTTP解决什么问题三、Streamable HTTP MCP设计原理四、Streamable HTTP MCP demo演示1、MCP server示例2、MCP Client示例一、前言 2025年5月9日,MCP(Model Context Protocol)…...

第七十三篇 从电影院售票到停车场计数:生活场景解析Java原子类精髓

目录 一、原子类基础:电影院售票系统1.1 传统售票的并发问题1.2 原子类解决方案 二、原子类家族:超市收银系统2.1 基础类型原子类2.2 数组类型原子类 三、CAS机制深度解析:停车场管理系统3.1 CAS工作原理3.2 车位计数器实现 四、高性能实践&a…...

【原创】基于视觉模型+FFmpeg+MoviePy实现短视频自动化二次编辑+多赛道

AI视频处理系统功能总览 🎯 系统概述 这是一个智能短视频自动化处理系统,专门用于视频搬运和二次创作。系统支持多赛道配置,可以根据不同的内容类型(如"外国人少系列"等)应用不同的处理策略。 &#x1f3d…...

C++----剖析list

前面学习了vector和string,接下来剖析stl中的list,在数据库中学习过,list逻辑上是连续的,但是存储中是分散的,这是与vector这种数组类型不同的地方。所以list中的元素设置为一个结构体,将list设计成双向的&…...

纳米AI搜索与百度AI搜、豆包的核心差异解析

一、技术定位与设计目标 1、纳米AI搜索:轻量化边缘计算导向
专注于实时数据处理与资源受限环境下的高效响应,通过算法优化和模型压缩技术,实现在物联网设备、智能终端等低功耗场景的本地化部署。其核心优势在于减少云端依赖,保障…...

不到 2 个月,OpenAI 火速用 Rust 重写 AI 编程工具。尤雨溪也觉得 Rust 香!

一、OpenAI 用 Rust 重写 Codex CLI OpenAI 已用 Rust 语言重写了其 AI 命令行编程工具 Codex CLI,理由是此举能提升性能和安全性,同时避免对 Node.js 的依赖。他们认为 Node.js “可能让部分用户感到沮丧或成为使用障碍”。 Codex 是一款实验性编程代理…...

人工智能:网络安全的“智能守护者”

在数字化时代,网络安全已经成为企业和个人面临的重大挑战。随着网络攻击的复杂性和频率不断增加,传统的安全防护手段已经难以应对。人工智能(AI)技术的出现为网络安全带来了新的希望和解决方案。本文将探讨人工智能在网络安全中的…...

Python60日基础学习打卡Day46

一、 什么是注意力 注意力机制的由来本质是从onehot-elmo-selfattention-encoder-bert这就是一条不断提取特征的路。各有各的特点,也可以说由弱到强。 其中注意力机制是一种让模型学会「选择性关注重要信息」的特征提取器,就像人类视觉会自动忽略背景&…...

综述论文解读:Editing Large Language Models: Problems, Methods, and Opportunities

论文为大语言模型知识编辑综述,发表于自然语言处理顶会ACL(原文链接)。由于目前存在广泛的模型编辑技术,但一个统一全面的分析评估方法,所以本文: 1、对LLM的编辑方法进行了详尽、公平的实证分析,探讨了它们各自的优势…...

WEB3全栈开发——面试专业技能点P1Node.js / Web3.js / Ethers.js

一、Node.js 事件循环 Node.js 的事件循环(Event Loop)是其异步编程的核心机制,它使得 Node.js 可以在单线程中实现非阻塞 I/O 操作。 🔁 简要原理 Node.js 是基于 libuv 实现的,它使用事件循环来处理非阻塞操作。事件…...

Vscode下Go语言环境配置

前言 本文介绍了vscode下Go语言开发环境的快速配置,为新手小白快速上手Go语言提供帮助。 1.下载官方Vscode 这步比较基础,已经安装好的同学可以直接快进到第二步 官方安装包地址:https://code.visualstudio.com/ 双击一直点击下一步即可,记…...

Java八股文——MySQL篇

文章目录 Java八股文——MySQL篇慢查询如何定位慢查询?如何分析慢SQLExplain标准答案 索引索引类型索引底层数据结构什么是聚簇索引什么是非聚簇索引?(二级索引)(回表)聚集索引选取规则回表查询 什么是覆盖…...

Oracle数据库学习笔记 - 创建、备份和恢复

Oracle数据库学习笔记 创建,备份和恢复 Oracle 版本基于11g 尽量不使用图形界面方式,操作适用于linux和windows 创建数据库 创建实例 # 步骤1:设置环境变量 export ORACLE_SIDmyorcl export ORACLE_HOME/u01/app/oracle/product/19.0.0/dbh…...

Go语言--语法基础5--基本数据类型--输入输出(1)

I : input 输入操作 格式化输入 scanf O : output 输出操作 格式化输出 printf 标准输入 》键盘设备 》 Stdin 标准输出 》显示器终端 》 Stdout 异常输出 》显示器终端 》 Stderr 1 、输入语句 Go 语言的标准输出流在打印到屏幕时有些参数跟别的语言…...

永磁同步电机无速度算法--自适应龙贝格观测器

一、原理介绍 传统龙伯格观测器,在设计观测器反馈增益矩阵K时,为简化分析与设计,根据静止两相坐标系下的对称关系,只引入了K、K,两个常系数,且在实际应用时,大多是通过试凑找到一组合适的反馈增益系数缺乏…...