基于微信小程序的垃圾分类(lw+演示+源码+运行)

 

随着生态文明体制改革的不断推进,可持续发展的环保理念逐渐成为社会共识,而在推行环保措施的过程中却困难重重.针对生活废弃物肆意无序投放的问题,尽管目前各大城市相继推出垃圾分类强制性执行的政策法规,但因市民欠缺对垃圾种类的正确认识而导致垃圾分类的施行难度和成本开销较大,互联网时代如何充分运用移动应用技术帮助人们解决上述难题值得深入研究。而随着互联网技术的不断发展,互联网已经渗入到我们生活中的各个方面。移动设备的普及使我们的生活发生了翻天覆地的变化,这种变化也深刻影响着我们的日常生活,随之而来的垃圾分类智能化化也普遍得到人们的重视。

微信是腾讯公司在 2011年所发布的一款实时通讯软件,随着互联网技术的不断发展,微信的功能也不断得到扩充。微信目前已经成为了一个“航母级别的软件”,也是每个智能手机上必备的软件之一。直到 2017 年“微信小程序”的发布,也成为了业界的一股热潮。微信小程序的使用无需安装,使用时只需要扫一扫或者搜一搜,用完即走。微信小程序针对于用户来说,无需在手机上下载软件,只要是有微信这个软件即可使用。针对于小程序开发者来说,微信小程序开发时可直接调用自带的 API接口,开发时较为简单,节省时间人力与物力。与此同时,小程序也可以实现与原生 app 一样的流畅体验。针对人们不良的垃圾分类行为习惯,以及人们欠缺对垃圾种类的正确认识而导致垃圾分类的施行难度和成本开销较大,本文设计出一个包含拍照识别,垃圾处理,知识问答,学习资料,垃圾图鉴的微信小程序,以此帮助提高居民对垃圾分类的认知,养成垃圾分类的行为习惯,促进垃圾分类工作的进展。

关键词 :微信;小程序;垃圾分类


Abstract

With the continuous advancement of the reform of the ecological civilization system, the concept of sustainable development of environmental protection has gradually become a social consensus, but there are many difficulties in the process of implementing environmental protection measures. In response to the problem of arbitrary and disorderly disposal of domestic waste, although major cities have successively Policies and regulations for mandatory implementation of garbage classification have been introduced. However, the implementation of garbage classification is difficult and costly due to the lack of correct understanding of garbage types by citizens. How to make full use of mobile application technology to help people solve the above problems in the Internet era is worthy of in-depth study. With the continuous development of Internet technology, the Internet has penetrated into all aspects of our lives. The popularity of mobile devices has brought about earth-shaking changes in our lives, and this change has also profoundly affected our daily lives. The subsequent intelligentization of garbage classification has also generally received people's attention.

WeChat is a real-time communication software released by Tencent in 2011. With the continuous development of Internet technology, the functions of WeChat have been continuously expanded. WeChat has become an "aircraft carrier-level software" and one of the must-have software on every smart phone. It was not until the release of the “WeChat Mini Program” in 2017 that it became a boom in the industry. There is no need to install the WeChat applet to use. You only need to scan or search when you use it. The WeChat applet is aimed at users, no need to download software on the mobile phone, as long as the WeChat software is available. For small program developers, the built-in API interface can be directly called when developing WeChat small programs, which is relatively simple and saves time, manpower and material resources. At the same time, small programs can also achieve the same smooth experience as native http://apps.In view of people's bad garbage classification behaviors and people's lack of correct understanding of the types of garbage, the implementation of garbage classification is difficult and costly. This article designs a photo identification, garbage disposal, knowledge quiz, learning materials, and garbage illustration. The WeChat applet is used to help improve residents’ awareness of garbage classification, develop the behavioral habits of garbage classification, and promote the progress of garbage classification.

Keywords: WeChat; Mini Program; Garbage Classification

目 录

1 概述1

1.1课题背景及意义1

1.2 国内外研究现状1

1.3 本课题主要工作2

2 系统开发环境4

2.1系统开发平台4

2.2 Mysql数据库4

2.3 B/S结构5

2.4 SSM框架5

3 系统分析7

3.1 可行性分析7

3.1.1 技术可行性7

3.1.2操作可行性7

3.1.3 经济可行性7

3.1.4 法律可行性8

3.2系统流程分析8

3.2.1系统开发流程8

3.2.2 用户登录流程9

3.2.3 系统操作流程9

3.2.4 添加信息流程10

3.2.5 修改信息流程11

3.2.6 删除信息流程11

4 系统设计13

4.1 系统概述13

4.2 系统结构设计13

4.3数据库设计15

4.3.1 数据库设计原则15

4.3.2 数据库实体16

4.3.3 数据库表设计17

5统详细设计21

5.1用户登录功能模块21

5.2用户订单会员功能23

5.3管理员功能模块24

6系统测试27

6.1系统测试的意义27

6.2 测试方法28

6.3测试分析28

结 论29

致 谢30

参考文献31

1 概述

1.1课题背景及意义

在日常生活中人类每天会产生大量的垃圾,其数量远远高于可再生资源。由于排出量相对较大,成分复杂多样,具有一定的污染性、资源性和社会性,这就需要我们做相应的无害化、资源化、减量化和社会化的处理。如果没有做出妥善处理,一方面这些垃圾会侵占大量土地,污染环境,影响环境卫生,浪费资源,进而破坏生活安全,影响社会和谐。而另一方面,垃圾中又可能含有多种有用物质,可视为一种资源,如果能将其中的有用物质回收利用,不但能有效解决当今资源短缺问题,还可有效的的降低垃圾的排放量。因此,垃圾问题一直是社会发展中所关注的一个焦点,妥善处理垃圾问题是人类迈向美好生活的一个重要因素。

2019年,住房和城乡建设部等9部门印发《关于在全国地级及以上城市全面开展生活垃圾分类工作的通知》规划,指出从2019年开始全国地级城市及地级以上城市全面启动生活垃圾分类工作,2025年底,全国地级城市及地级以上城市将基本建成生活垃圾分类处理系统。全面推动垃圾分类势在必行。同年,上海的垃圾分类引发了全国人民的极大关注。调查显示日常生活中我们对垃圾的分类存在很多的盲区,面对五花八门的垃圾我们通常依靠常识来进行分类,而这种常识存在差异性和遗忘性,并且由于垃圾分类的系统以及基础设施尚不完善,加之人们垃圾分类意识薄弱,垃圾分类给我们带来的一定困难和挑战。但依目前情况来看,目前社会垃圾分类处理情况不容乐观。首先,人们虽然了解垃圾分类的重要性,但还没有真正意识到自己也要参与到进行垃圾分类的生活中去。他们在生活和学习上还没有形成垃圾分类的意识,没有养成丢垃圾前先分类的习惯,嫌麻烦、随大流的情况依然存在。其次,社会落实垃圾分类力度不够,社会上垃圾分类基础设施不健全,分类粗糙、垃圾桶数量不够等情况比比皆是,社会对垃圾分类宣传教育力度不够,没有激励及监督人们进行垃圾分类。因此,建立社会垃圾分类回收小程序有助于创造更加美好的生活环境,培养人们的责任心和环保意识;有利于推动社会的生态文明建设,构建“绿色社会”,提升社会形象;有利于环境的保护,实现绿色化发展。

1.2 国内外研究现状

德国是最早实行循环经济立法的西方发达国家,也是实施最成功的国家之一。1972年,原西德政府制定了《废弃物处理法》拉开循环经济立法的序幕。1991年6月,德国颁布实施《废物分类包装条例》,该条例旨在减少包装废弃物的产生,对于不可避免的一次性包装废弃物,规定必须再利用或循环。1996年10月,颁布实施《循环经济与废弃物处理法》,确立了德国循环经济的总纲,该法要求所有资源必须尽力减少用量。列入循环经济回收利用的产品有:除包装废弃物外,还包括废汽车、废旧电子器件和电子设备,废旧电池,生物废弃物,建筑或拆毁废墟,废地毯和纺织物,废木柴等。此后还出台了废车限制条例、废弃电池条例等专项产品的实施条例,以逐步完善该法。

我国自2019年7月1日上海正式实施《上海市生活垃圾管理条例》之后,我国垃圾分类回收已正式拉开帷幕。但社会反响及回收效果并不理想。主要原因有以下三点:

1.2.1部分居民垃圾分类知识缺乏

这是制约垃圾分类回收的重要因素。我国自抗日战争初期开始便是农民人数居多的国家,抗日方针也是“农村包围城市”。垃圾分类在此基础上实行必不简单,“居民”既指城市固定居民,还包括一些暂住人口、农民工、游客等等。其中城市居民不仅是垃圾投放的主体,也是垃圾分类的主要劳动力,他们的垃圾分类,关乎到垃圾分类行动的直接结果,将会直接影响到整体垃圾分类的效益。但现实生活中,很多市民并不将垃圾准确扔进三大类垃圾桶里,他们大多都是就近随意丢弃,无端增加了环卫工人的工作量。另一方面,我国尚未投放标准统一的垃圾桶,全国各地垃圾桶均有不同,又给垃圾分类活动带来极大不便。

1.2.2相关法律尚未完善奖惩机制

我国在垃圾分类上并不是领头羊,在诸多方面还存在着不足的地方。对于垃圾分类,并未形成严格的法律体系。垃圾分类具体实施起来有一定难度,增加生活成本的同时又带来繁琐,缺少法律法规的约束,大多数人都会得过且过,不会真正意义上严于律己。另一方面,拒绝单纯依赖严格的法律法规,还应颁布奖惩机制激励优秀市民,惩戒不遵守规则的市民,在有动力的前提下官民一起积极完善垃圾分类的相关事宜。

1.2.3缺少宣传力度

现下我国关于宣传垃圾分类的力度还有待加强。我国并不比发达国家从小学开始对学生开设有关垃圾分类的课程,我国学生从未涉猎过此类内容,这从一方面也可证明市民的意识层面浅薄,绝大部分人仍不知道何为垃圾分类。我国的农产品流通供应链上占主导地位的还是那些大大小小的农产品批发交易市场。 全国成规模的农产品批发交易市场超过 4000 多家,通过批发交易市场交易的农产品超过 农产品交易量的60%以上。随着中国科技的不断提高,生活水平的上升,农村也渐渐步入小康, 在网上了解农产品的信息,购买农产品也成为可能。现在网络的发展已呈现商业化、全民 化、全球化的趋势。并且由于网路信息化浪潮的持续推进,发展信息化,提高整体信息化发展水平,让现在科技技术服务于农业生产,利用现代化的技术,来提高农业生产水平,提高相关部门的管理服务水平, 通过现在化的手段服务于农业生产,是我们目前农业所需要关注的问题。

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

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

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

1.3 本课题主要工作

本文正是基于微信小程序开发平台,针对人们不良的垃圾分类行为习惯,以及人们欠缺对垃圾种类的正确认识而导致垃圾分类的施行难度和成本开销较大,本文设计出一个包含拍照识别,垃圾处理,知识问答,学习资料,垃圾图鉴的微信小程序,以此帮助提高居民对垃圾分类的认知,养成垃圾分类的行为习惯,促进垃圾分类工作的进展。

2 系统开发环境

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

2.1微信小程序相关技术

微信小程序上线的初衷除了让用户使用更加方便,同时也给开发者提供更加方便便捷的开发环境来进行更加高效的进行开发。任何一套系统的设计与开发都需要一套完整的系统框架,用来保证整套系统的完整运作。对于微信小程序来说,为了使开发更加快捷,微信小程序采用的框架为 MINA 应用框架。MINA 框架主要为一个负责数据交互的系统。其构成主要包括用来显示页面的视图层结构与负责实现数据交互的逻辑层系统。其中,视图层负责发出事件请求,逻辑层负责接受数据,处理数据。当逻辑层接收到数据后,视图层再根据逻辑层的数据改变,从而做出相应的更新,MINA 框架使逻辑层和视图层内的数据变化达到同步。

框架还负责很多的交互操作,开发者只需负责将要实现页面方法与函数输入进去,框架就可以管理整个程序的页面路由与生命周期,让小程序可以在不同的子级页面跳转时无缝流畅。MINA 框架中的视图层用来开发小程序的前端界面,page建立界面,使用 WXML 和 WXSS 语言进行开发。WXML 和 WXSS 语言都是框架自身提供的描述语言,WXML 用来描述页面结构。WXSS 用来控制页面的展示样式,搭建页面的基础视图结构。AppService 逻辑层是 MINA 的服务中心,负责页面渲染需要的数据以及页面交互所处理的逻辑,管理应用的生命周期以及页面路由,视图层向逻辑层发送事件请求,逻辑层通过请求进行页面数据处理与传输,再发送给视图层进行页面渲染。逻辑层使用 JavaScript 语言编写,实现页面的交互,网络请求以及数据的加工处理,逻辑层含有小程序强大的 API 接口功能,开发者在开发时,需要哪些功能直接调用即可,包括获取用户信息接口,支付功能接口,定位服务功能接口等。此外,小程序借助 JSBridge 实现对底层API 接口的调动,JSBridge 通过 JavaScript 连接 Web 与 Native,使 Native 可以调用WEB 的 js 代码,让 Web 可以调用原生的代码。所以微信小程序的开发无需考虑ios 和安卓操作系统的差异,两者兼容,只需在视图层和逻辑层进行开发即可。下图主要展示了 MINA 框架的主要结构:

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

2.2微信小程序文件目录

每一个微信小程序的开发,都必定包括一个 app—其主要功能是针对于小程序整体进行描述,以及一个 page—主要用于描述小程序的页面。在开发小程序时,微信小程序初始化的代码架构目录是十分简单明了的,仅仅显示了 2 个目录,即 pages 目录还有 utils 目录,以及 app.js、app.json、app.wxss 这 3 个应用文件。针对于 pages 目录来说,其主要功能相当于一个“存储器”,用来“存放”小程序的各个显示页面。一个页面对应着一个目录,目录里包含着 js 文件,wxml 文件,wxss 文件,json 文件这四个文件。如下图所示,pages 的目录里面主要存放着index 与 logs 这两个页面的构成文件。Utils 负责存放 js 库和数字格式化文件。如图 2-2 所示。

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

接下来要介绍的就是每个小程序都必须包括的 app.js、app.json、app.wxss 这三个文件,这三个文件是一个小程序的主体部分。且这 3 个文件的文件名都是固定的,是不可以进行随便修改的。以下表 2-1 对此三个文件进行详细介绍。

表 2-1 小程序主体介绍

app.js 的文件是最先执行的文件。因为其首先要对程序的代码进行统一的定义,并统一处理全局的逻辑。从 app.js 的后缀名,我们就知道这部分用到了JavaScript 的代码。App 里面主要包含着 onLaunch 方法、getUserInfo 方法、globalData 全局变量数据。

onLaunch 方法内的程序将在小程序启动时被执行。以 wx.这个开头的都是系统“自带”的方法,需要使用时我们直接调用即可。每次输入 wx.时,系统会马上显示出其“自带”的自带方法。其中正如上图所示。wx.getStorageSync 是获取本地缓存的 logs 字段。unshift()方法将新的 log 内容和现在时间添加到数组的尾部。get UserInfo 自定义的方法用于获取用户信息。这里需要先判断用户信息是否为空,若用户信息为空则调用微信的登录接口。登录成功后,将用户 id 及身份标识存储在全局变量 globalData 里。app.json 文件是小程序的整体配置文件。在该文件中,必须配置小程序的组成页面,以及可根据实际需求配置整个小程序的统一的窗口背景色,导航条。样式,默认标题等内容。该文件不可添加任何注释。 app.json 是对当前小程序的全局配置。包括小程序的所有页面路径、界面窗口表现、网络超时时间、底部 tab 等。app.json 的配置是可以被其他页面相同的.json配置所覆盖的。

app.wxss 是整个小程序的公共样式表。主要是针对于小程序的样式进行一个总的控制。同样,这个文件中的样式也会被其他页面中.wxss 中的相同样式覆盖。

mysql 数据库它有很多的优点,例如它在操作上能够让人通俗易懂、功能强大、信息储存量高等优点。所以被人们广泛应用,对于mysql数据库来说它一般主要是对数据进行编码和查询,而且在很多的设计当中都应用到了该数据库,在此过程当中我们可以对常规的数据进行查询和组合,所以我们在进行使用mysql数据库的时候只要对编写一小段的数据就能实现相应的功能。数据库,就是数据存储的储藏室,只不过数据是存储在计算机上的,而不是现实中的储藏室,数据的存放是按固定格式,而不是无序的,则定义就是 :长期有固定格式,可以共享的存储在计算机存储器上。数据库管理主要包括数据表的建立,数据存储、修改和增加数据,为了使数据库系统能够正常运行,相关人员进行的管理工作。数据表的建立,可以对数据表中的数据进行调整,数据的重新组合及重新构造,保证数据的安全性。

2.3小程序页面文件构成

在开发小程序之前,首先根据所开发系统的功能,在 pages下面建立页面对应的子文件夹,我们所设计的系统一共有多少页面,就相应的在 Pages下建立多少个子文件夹。相应的,在每个子文件夹即页面所对应的文件夹下都由四个子文件构成。这四个文件的后缀拓展名分别为.js,.json,.wxml,.wxss。并且规定,这四个文件的文件名必须与所在的子文件夹的文件名名相同。每个子文件下的四个文件都有不同的作用。

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

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

2.4微信小程序 API 接口

微信内部提供丰富的原生 API 接口,可以方便的调起微信提供的能力。x.on开头的API是监听某个事件发生的API接口,接受一个CALLBACK函数作为参数。当该事件触发时,会调用CALLBACK函数。如未特殊约定,其他API接口都接受一个OBJECT作为参数。OBJECT中可以指定success,fail,complete来接收接口调用结果。

参数名类型必填说明
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

API列表主要包括网络API和文件 API等,其中具体如下表所示:

网络API列表:

API说明
wx.request发起网络请求
wx.uploadFile上传文件
wx.downloadFile下载文件
wx.connectSocket创建WebSocket连接
wx.onSocketOpen监听WebSocket打开
wx.onSocketError监听WebSocket错误
wx.sendSocketMessage发送WebSocket消息
wx.onSocketMessage接受WebSocket消息
wx.closeSocket关闭WebSocket连接
wx.onSocketClose监听WebSocket关闭

文件 API 列表:

API说明
wx.saveFile保存文件
wx.getSavedFileList获取已保存的文件列表
wx.getSavedFileInfo获取已保存的文件信息
wx.removeSavedFile删除已保存的文件信息
wx.openDocument打开文件

3 系统分析

所谓系统分析就是,需求人员通过与用户的沟通,所获取的信息,然后把这些信息通过需求说明书的方式展示给用户和开发人员。在软件功能发展的历史长河中,很长时间,特别是最开始的时候,需求分析的重要性并不被人们所认同,例如当时美国IBM公司为英国电信公司开发一套信息管理系统,在需求不明确的情况下开始开发,最初的工期为一年,由于需求获取不清晰导致工期推迟了半年多,造成巨大损失。我们很多软件公司也存在这种情况,边需求,边开发,甚至与客户没有沟通清楚的情况下,直接照搬同类型的项目进行更改,导致到系统验收的时候,重新更改,造成了人力、物力的极大浪费。而导致这一切后果的原因就是需求获取不及时、不清楚、不全面。

3.1 可行性分析

基于微信小程序的垃圾分类主要目标是实现通过小程序扫一扫或直接输入信息,进行垃圾分类的相关操作。在确定了目标后,我们从以下四方面对能否实现本系统目标进行可行性分析。

3.1.1 技术可行性

基于微信小程序的垃圾分类主要采用java前端技术,基于小程序开发框架,对于应用程序的开发要求具备完整功能,使用简单的特点。基于微信小程序的垃圾分类具有很高可行性,且开发人员掌握了一定的开发技术,所以系统的开发具有可行性。

3.1.2操作可行性

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

3.1.3 经济可行性

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

3.1.4 法律可行性

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

综上所述,基于微信小程序的垃圾分类在技术、经济、操作和法律上都具有很高的可行性,开发此程序是可行的。

3.2系统流程分析

3.2.1系统开发流程

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

图3-1系统开发流程图

4 开发环境和系统设计

4.1系统开发环境搭建

4.1.1 微信小程序的注册

在开发微信小程序之前,首先需要对小程序进行登陆注册。注册微信小程序的步骤如下:

  1. 首先输入网址进入微信公众平台进行注册。

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

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

(3)点击注册后,微信公众平台会向上一步中的登陆邮箱中发送一封登录邮件,此时登陆此注册邮箱,并在邮箱中点击来自微信平台的邮件中的链接,即可进行验证,验证之后即可登陆信息登记界面。

图 4-2 激活认证界面

(4)主题信息提交后,对小程序进行登录,小程序后台即可以使用了。进入小程序后,将开发所需要的相关信进行补充,其中包括程序的命名、头像、简介等。

本论文开发的基于微信小程序的垃圾分类,将其程序名称命名为“垃圾分类”。小程序介绍为:本小程序主要用于垃圾分类、关键词检索和拍照检索三部分。

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

在上述的微信小程序的注册中已经完成了微信小程序的注册,接下来要对系

统开发所需的微信开发者工具的下载与安装。

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

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

(2)随后打开微信 web 开发者工具,通过微信扫描打开的二维码授权登录。微信授权登录,微信 web 开发者工具进入到如图界面。

(4)新建项目时,首先点击小程序进入界面,并点击新建项目(此项目需要选择一个新建文件夹。输入项目名称:垃圾分类,点击确定,创建项目完成。

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

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

微信小程序编辑界面简洁,操作起来相对来说比较简单,微信小程序后台编辑界面如下图所示:

图 4-5 初始界面

以下为对此界面各部分功能详细介绍:

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

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数据库设计

本文通过天行数据接口实现垃圾分类的检索。天行数据接口支持查询绝大部分生活中常见或不常见的废弃物垃圾类型,支持精确搜索和模糊搜索,并给出分类建议。目前已有近万条废弃物种类数据,针对用户输入的复杂长尾词也有智能预判机制。同时系统会根据查询结果不断增加新的数据,以及根据政策和指导建议优化分类。相关新闻:垃圾分类新闻接口、环保新闻:环保资讯接口。

具体接口信息如下所示:

接口地址:http://api.tianapi.com/txapi/lajifenlei/index

请求示例:http://api.tianapi.com/txapi/lajifenlei/index?key=APIKEY&word=眼镜

支持协议:HTTP/HTTPS

请求方式:GET/POST

返回格式:UTF8 JSON

请求参数:post请求时,enctype应为application/x-www-form-urlencoded,请求参数中有url或特殊字符时,应该对值urlencode编码下

图4-8 urlencode编码

返回示例如下图所示:

图4-9 返回示例参考

5统详细设计

5.1小程序主题功能模块

用户通过微信关联进入小程序后,如图5.1所示。

图5-1垃圾分类小程序主题界面图

用户登陆小程序之后,可以通过输入物品关键词检索,或通过对物品拍照以及本地物品图片信息进行识别检索,从而筛选出该物品的垃圾分类。如图5.2所示。

图5-2通过输入物品关键词检索

也可以通过热门物品关键词推荐,直接识别出结果,如图5-3所示。

图5-3通过物品热门关键词推荐进行检索

也可以对物品进行拍照或直接选取本地的物品照片进行识别检索,从识别出该物品信息的垃圾种类。如图5-4所示。

图5-4通过物品的图片信息进行垃圾分类

另外,在小程序的底部也对不同的垃圾种类分别进行了介绍,如图5-5所示。

图5-5垃圾种类介绍

6系统测试

系统开发的最后一个步骤就是系统测试,系统测试也是整个系统十分重要的一个环节,测试的好坏关系到产品的发展。客户对软件的质量、性能和可靠性等需求就要通过测试来实现。测试过程要必须遵循严谨性、完善性、规范性的原则,测试的主要目的就是看看在系统运行中,是否会出现bug,然后对出现的bug进行调试,直到程序完美运行。但是软件的测试只能尽可能的减少bug,理论上来说是无法达到消除bug。但是bug越少,系统出错的几率就越低,用户使用起来也更方便、更安全。

近年来,软件包含测试从现在的检验当中来看,系统接近预期目标可能出现的问题,并对这些错误做出相应的修正,假如我们不进行早期的测试错误就会延续下去,最后所做出的成品就会有很大的困难。

我们要在这个测试的过程当中找出错误。测试成软件开发的主要一部分,自从有了程序的设计那天开始,它就成为了重要的组成部分。经过统计来看,软件测试可以占据这个系统45%的工作量,而在软件开发的成本当中,对于测试成本来说它包含了很多的测试工作。每个程序测试时都会出现和遇到错误。在整个程序的开发过程当中,人为去查找错误是非常复杂和困难的,所以我们一般都会找一些测试的工具来进行测试

6.1系统测试的意义

随着现代信息的快速发展,在社会各大领域中已经都开始应用网络信息技术,在应用网络技术的同时人们也开始把软件的质量问题作为了一个重要焦点来关注,因为一个软件的好与坏它决定着这个系统在市场上的生存,所以我们必须要把软件质量来做好,这样才有一定的生存能力。对于用户来说它们首先选用的都是保证这个系统软件的质量问题,因为一个系统的软件质量决定着用户在后期上成本经济的问题。图6-1就是纠错测试流程。

图6-1 测试与纠错信息流程

6.2 测试方法

具体测试方法包括:黑盒测试和白盒测试。

黑盒测试又被人们称作为功能测试,通常是在程序的接口来做一些测试的方法,它一般包括对程序的功能和使用的方法来做出一些数据的接受和输出,同时还可以做出正确的输出信息,并保证与外部信息的完整性。

白盒测试通常被人们称作为结构测试,在整个程序的结构和处理当中它是由程序当中的逻辑测试和检验程序来完成一些正确的工作。

具体的功能测试它是包括:系统的适用性、准确性、安全性等功能测试。

6.3测试分析

本基于微信小程序的垃圾分类应用满足相关信息的管理需求,在设计时借鉴了国内外优秀小程序的优点,从界面到系统设计都保证了用户能够方便操作。系统的主要特点和优点归纳如下:

(1)本系统用的移置性和针对性都比较高,因为针对性高可以提供更好的服务而移置性可以在多个系统上运行,更给客户带来了极大的方便。

(2)该基于微信小程序的垃圾分类应用内容全面,管理方便可以及时的全面的处理各种错误,异常,这样避免了很多因客户的马虎操作而出现的失误,其操作方便,会员界面友好,能够上网的人都可以很好的进行操作。

经过对上述的测试结果分析,所有基本功能齐全,操作简单,系统运行性能良好,系统安全可靠,能促进基于微信小程序的垃圾分类应用程序的发展,发展前景广阔。

结 论

本系统通过对微信小程序开发框架简介,从硬件和软件两反面说明了基于微信小程序的垃圾分类应用的可行性,本文结论及研究成果如下:实现了java与微信小程序相结合构建的垃圾分类应用,该小程序可以响应式展示。通过本次基于微信小程序的垃圾分类应用的研究与实现,我感到学海无涯,学习是没有终点的,而且实践出真知,只有多动手才能尽快掌握它,经验对系统的开发非常重要,经验不足,就难免会有许多考虑不周之处。比如要有美观的界面,更完善的功能,才能吸引更多的用户。

由于在此之前对于java知识没有深入了解,所以从一开始就碰到许多困难,例如一开始的页面显示不规范、无法实现参数的传递等等,不过通过在网上寻找有关资料以及同学的帮助下最后都得到了解决,在此过程中,我不仅学到了很多知识,也提高了自己解决问题的能力,尤其是学会如何从大量的信息中筛选出所需有用的信息,同时我更加深刻的体会到了,虽然书本上的大部分知识都是有价值,正确的,但实际上每个人编程的思路和对数据处理的方法、思想都是不同的,这就要求我们一定要通过实践才能找到解决问题的方案。在此次毕业设计活动中,我不断的提高了自己,也得到了宝贵的经验,我相信这些对我以后的发展都会有很大帮助。

通过这次基于微信小程序的垃圾分类的开发,我参考了很多相关系统的例子,取长补短,吸取了其他系统的长处,逐步对该系统进行了完善,但是该系统还是有很多的不足之处,有待以后进一步学习。

实践证明,基于微信小程序的垃圾分类应用程序有着非常好的发展前景,经过测试运行,系统各项功能都十分完善,界面漂亮,使用方便,操作容易,在技术理论上已经成熟。

致 谢

大学的学习生活在这个季节将结束,但是在我的生命这仅仅只是一个逗号,我将面对的旅程的另一个的开始。通过这次毕业设计的整个开发过程,从需求分析到具体功能实现,再到最终测试和维护的理解有了很大的进步,让我对系统开发有了更深刻的认识,对我个人的实践能力和解决问题的能力,都有了很大的帮助。这是这次毕业设计最大的收获。

首先要感谢我的指导老师,他在论文写作上,给予了我各种无私的帮助,治学严谨,严格要求,使我获得了很大的收获。老师深厚的理论知识和丰富的实践经验,都深深的影响到我,在这方面,我谨表示衷心的感谢。

其次,我还要对所有的老师和同学表示感谢,他们在我学习的过程中,都积极的提供了很多帮助,无论是专业知识,还是实践操作技能,也能够让我在论文写作中,遇到的一些难题迎刃而解。

最后,对阅读和评审本论文的各位老师表示衷心的感谢!

参考文献

  1. 王 冲 , 卜 晓 燕 . 小 程 序 , 大 舞 台 — — 微 信 小 程 序 在 电 商 中 的 应 用 [J/OL]. 品 牌究,2018(S2):44+46[2019-03-11].https://doi.org/10.19373/j.cnki.14-1384/f.2018.s2.027..
  2. 李春燕,李根.基于java技术的网络信息学生平台设计[J/OL].电子技术与软件工程,2017,(20):9(2017-10-26).

[3]王浩.基于java技术的在线技能评测系统的设计与实现[J].数字技术与应用,2016,(12):171-172.

[4]王金龙,张静.基于java+Mysql的高校慕课(MOOC)学生系统设计[J].通讯世界,2017,(20):276-277.

[5]潘国荣.基于java+JavaBean+Servlet实现模式的增删改模块的设计与实现[J].信息通信,2017,(08):101-103.

[6]葛建霞.《java动态网页设计》课程中项目学生法的应用研究[J].宿州教育学院学报,2017,20(04):160-161.

[7]李清霞.《java动态网页设计》课程建设与学生模式研究[J].福建电脑,2017,33(06):92-93+166.

[8]曾晰,舒坚.基于java的养老院管理信息系统的设计与实现[J].信息通信,2017,(09):122-124.

[9]傅峰. 基于移动平台的论坛管理系统的设计[J]. 电子设计工程,2016,24(09):66-68+71.

[10]李丹. 派遣信息网络管理平台设计与实现[J]. 软件导刊,2016,15(03):97-98.

[11]付昕. 基于B/S调度信息管理系统的实现[J].山东省农业管理干部学院学报, 2010, 27(4):166-168

[12] 黄艳峰. 在Java语言中实施“案例医学会网站管理系统”的研究与探索[J]. 电脑知识与技术, 2010, 6(5):1148-1149

[13] 赵钢. java Servlet+EJB的Web模式应用研究[J]. 电子设计工程, 2013, 21(13):47-49

[14] 肖英. 解决java/Servlet开发中的中文乱码问题[J]. 科技传播, 2011, (1)11-25

[15] Hsiao I H, Sosnovsky S, Brusilovsky P. Guiding students to the right questions: adaptive navigation support in an e-learning system for Java programming[J]. Journal of Computer Assisted Learning, 2010, 26(4):270-283.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/876089.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Luban策划开源工具

一、Luban游戏配置解决方案,是一个强大、易用、优雅、稳定的游戏配置解决方案。它设计目标为满足从小型到超大型游戏项目的简单到复杂的游戏配置工作流需求。luban标准化了游戏配置开发工作流,可以极大提升策划和程序的工作效率。 二、核心特性&#xf…

【代码随想录训练营第42期 Day58打卡 - 图论Part8 - 拓扑排序

目录 一、拓扑排序介绍 定义 特点 实现方法(2种) 应用 二、题目与题解 题目:卡码网 117. 软件构建 题目链接 题解:拓扑排序 - Kahn算法(BFS) 三、小结 一、拓扑排序介绍 对于拓扑排序&#xff0c…

攻防世界 ics-05

ics-05 隐藏的变量传参,php弱类型比较 只有设备维护中心可以点击进去 查看源码,发现有个隐藏的超链接变量传参 看到变量传参,有可能存在文件包含漏洞读取源码,这个站是php的站,所以可以使用php伪协议读取源码 index.p…

Web 原生组件化方案:Web Components

你好,我是沐爸,欢迎点赞、收藏、评论和关注。 Web 组件化是一种将Web应用的UI部分拆分成可复用的独立组件的架构方法。这种方法有助于提高代码的可维护性、可重用性和可测试性。 而Web Components 标准则提供了一套原生的API,允许开发者创建…

IDEA 通义灵码 插件使用体验

目录 前言 主要功能 演示代码 解释代码 生成单元测试 生成代码注释 生成优化建议 代码片段补全 总结 前言 自从 AI 技术开始大规模应用,老板就想让下面的牛马借助 AI 工具来提高编码效率,由于团队都没有在实际编码中深度使用过 AI 工具&#x…

视频推拉流/直播点播EasyDSS平台安装失败并报错“install mediaserver error”是什么原因?

TSINGSEE青犀视频推拉流/直播点播EasyDSS平台支持音视频采集、视频推拉流、播放H.265编码视频、存储、分发等视频能力服务,在应用场景中可实现视频直播、点播、转码、管理、录像、检索、时移回看等。此外,平台还支持用户自行上传视频文件,也可…

【物联网技术大作业】设计一个智能家居的应用场景

前言: 本人的物联网技术的期末大作业,希望对你有帮助。 目录 大作业设计题 (1)智能家居的概述。 (2)介绍智能家居应用。要求至少5个方面的应用,包括每个应用所采用的设备,性能&am…

【深度学习】神经网络-怎么分清DNN、CNN、RNN?

怎么分清DNN、CNN、RNN? 最“大”的概念是人工神经网络(Artificial Neural Network, ANN),它是较为广泛的术语,通常指的是一类模拟生物神经网络的数学模型,其中包括神经元、权重和连接。在这个术语下&#…

【Redis】主从复制 - 源码

因为主从复制的过程很复杂, 同时核心逻辑主要集中在 replication.c 这个文件中, 避免篇幅过大, 所以将主从复制中涉及这个文件的代码集中到了另一篇文章。 在当前文章主要分析主从复制的大体代码逻辑, 如果需要了解整体的过程, 可以配合 Redis 主从复制 - relication 源码分析 …

iOS 知识点记录

王巍 博客地址:OneVs Den git地址:onevcat (Wei Wang) GitHub 江湖人称喵神,目前就职于line。喵神的博客涉及方面比较广, 有Obejctive-C, Swift, SwiftUI, Unity等等。博客内容很有深度,非常值得关注。 戴铭 博客地址&#xff1…

ESP32-WROOM-32 开篇(刚买)

简介 买了一个ESP32-WROOM-32模块的开发板, 记录板初上机细节。 模块简介 Look 连接PC 1. 解决驱动问题 https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tabdownloads 下载驱动, 如下图 解压缩下载的包, 然后电机64位的版本, 一直…

汽车无钥匙启动功能工作原理

移‌动管家无钥匙启动‌是一种科技化的汽车启动方式,它允许车主在不使用传统钥匙的情况下启动车辆。这种技术通过智能感应系统实现,车主只需携带智能钥匙,当靠近车辆时,车辆能够自动解锁并准备启动。启动车辆时,车主无…

友思特方案 | 搭建红外桥梁:嵌入式视觉接口助力红外热像仪传输

导读 为红外成像设备数据传输快速搭桥!友思特嵌入式视觉接口能帮助用户快速享有 GigE Vision 协议优势,是红外成像设备视觉接口集成、开发高性能相机的高效快捷方案。 引言 红外热像仪作为一种非接触式设备,能够检测红外能量(热量…

CSS实现前端布局更巧妙的方案!在 flex 布局中通过使用 margin 实现水平垂直居中以及其他常见的前端布局

在前端开发中,实现水平垂直居中一直是个热门话题。随着 CSS Flexbox 布局的普及,开发者们开始更多地使用 justify-content 和 align-items 这两个属性来解决这个问题。 然而,还有一种更加简洁、灵活的方式——使用 margin: auto; 来实现居中以…

Grafana面板-linux主机详情(使用标签过滤主机监控)

1. 采集器添加labels标签区分业务项目 targets添加labels (模板中使用的project标签) … targets: [‘xxxx:9100’] labels: project: app2targets: [‘xxxx:9100’] labels: project: app1 … 2. grafana面板套用 21902 模板 演示

UE5 阴影通道

Shadow Pass Switch节点中 Default代表模型遮罩的效果 Shadow代表阴影的生成遮罩效果

3. 进阶指南:自定义 Prompt 提升大模型解题能力

怎么判断 Prompt 的好坏,有什么问题有着标准答案么? 答:让大模型求解数学问题。 李宏毅老师的 HW4 正好提到了有关数学问题的 Prompt,所以我决定中间插一篇这样的文章。通过本文你将: 了解各种 Prompt 如何影响大型语言…

从C语言过渡到C++

📔个人主页📚:秋邱-CSDN博客☀️专属专栏✨:C 🏅往期回顾🏆:单链表实现:从理论到代码-CSDN博客🌟其他专栏🌟:C语言_秋邱的博客-CSDN博客 目录 ​…

HOT 100(七)栈、堆、贪心算法

一、栈 1、每日温度 使用单调递减栈来解决。主要思路是遍历temperatures数组,利用栈来存储还没有找到比当前温度高的天数的索引。当遇到比栈顶索引所对应温度更高的温度时,就可以确定当前这一天的温度比之前那一天高。索引的差值就是等待的天数。 求一…

Golang数据流处理:掌握Reader和Writer接口的技巧

Golang数据流处理:掌握Reader和Writer接口的技巧 引言理解Reader和Writer接口Reader接口的定义和基本方法Writer接口的定义和基本方法 Reader接口的深入探讨Reader接口的实现示例使用io.Reader读取文件内容从网络连接中读取数据 常用Reader类型及其应用场景strings.…