APP下载

基于微信小程序的垃圾分类系统设计与实现

2023-06-25李艳平张成昊

现代信息科技 2023年10期
关键词:微信小程序垃圾分类

李艳平 张成昊

摘  要:随着环境污染带来的影响日趋严重,合理地进行垃圾分类成为亟待解决的问题。借助微信这个强大的社交网络平台,针对目前垃圾分类现状进行研究,设计并实现一个垃圾分类小程序,旨在帮助人们更好地进行垃圾分类,普及垃圾分类知识。系统采用WXML和WXSS实现客户端页面功能,进行页面布局设计,使用Java语言实现交互功能,使用MySQL数据库存储数据,旨在为用户提供垃圾分类文字查询、拍照查询以及垃圾分类知识问答等功能。

关键词:微信小程序;垃圾分类;文字查询;拍照查询;知识问答

中图分类号:TP311  文献标识码:A  文章編号:2096-4706(2023)10-0014-05

Abstract: With the increasingly serious impact of environmental pollution, classifying garbage reasonably has become an urgent problem to be solved. With the help of WeChat, a powerful social network platform, we have studied the current status of garbage classification, design and implement a garbage classification mini program to help people better classify garbage and popularize garbage classification knowledge. The system adopts WXML and WXSS to implement client page functions, design page layout, use Java language to achieve interactive functions, and use MySQL database to store data. It aims to provide users with functions such as garbage classification text query, photo query, and garbage classification knowledge Q&A.

Keywords: mini program; garbage classification; text query; photo query; knowledge Q&A

0  引  言

随着社会的发展,人们对于环境保护越来越重视,垃圾分类已经变为一个全球性的问题。随着我国经济的发展,国内城镇化发展不断加快,环境污染也在增加,环境污染带来的负面影响日趋显露。如果不能有效地进行垃圾分类回收、处理,它们将会侵占大量的土地,而且会对环境造成很大的影响,而合理地进行垃圾分类成为首先要解决的问题[1]。

微信小程序作为一个自带流量、无需下载安装的轻量级应用,依靠微信的社交网络平台,具有很高的用户粘性,已与人们的日常生活密不可分,具有很好的宣传效应[2]。

因此,基于微信平台设计一个小程序,为用户提供垃圾分类信息查询,普及垃圾分类知识,提高居民的垃圾分类意识。将垃圾分类回收落实到每个居民,减少不必要的资源消耗,为经济和环境的可持续发展提供助力。

1  开发环境

1.1  微信开发者平台

微信开发者集中了开发程序、调试代码、预览实现效果等功能,对于开发小程序、小游戏等非常有优势,可以根据实际需要进行自定义的微信接口的开发和利用[3]。文中微信小程序的前端采用微信开发者实现。

微信小程序的系统架构分为三个层次:视图层(View)、逻辑层(APP Service)和系统层(Native)[4]。如图1所示。

1.2  WXML和WXSS

微信小程序在逻辑层将数据进行处理后发送给视图层通过WXML和WXSS展现出来[4]。WXML是一种用于微信小程序前端开发的语言,它和WXSS搭配在一起,用于小程序页面布局的设计。WXML用于搭建小程序页面框架,WXSS用于实现页面框架及元素的显示样式。

1.3  IDEA

本小程中的知识问答、垃圾分类查询等功能通过IDEA实现。IDEA是一种Java集成开发环境,和传统的Eclipse开发环境相比,其最大的优势是调试代码,不仅可以对Java代码、JavaScript、JQuery、Ajax等进行调试,并且建立了统一的标准,语法提示更加智能,提高了开发者的工作效率。

1.4  MySQL数据库

MySQL是一款是开源数据库,支持多种操作系统,能提供多种API接口,具有数据管理、存储和搜索等功能。而且它的体积小、性能稳定、检索速度快[5]。因此,本文采用MySQL数据库存储数据,加快软件的运行速度和数据检索速度。

2  系统分析

2.1  系统功能分析

通过调研和分析,系统主要为用户提供垃圾分类查询、知识问答、历史记录浏览等主要功能。其中,历史记录浏览需要用户登录后才可使用此功能。系统主要功能如图2所示。

2.2  系统功能模块划分

综上系统功能分析,系统主要划分为垃圾分类查询、知识问答、历史记录浏览和用户登录四个功能模块,系统功能结模块图如图3所示。

2.2.1  垃圾分类查询

主要为用户提供方便、快速地查询垃圾分类的类型信息。查询方式分为文字查询和拍照查询两种。其中拍照查询,通过用户上传的垃圾照片,能自动识别出垃圾的分类类型,并将识别结果呈现给用户。

2.2.2  知识问答

主要为用户提供垃圾分类相关知识的测试。每次测试随机从题库中抽出十道垃圾分类题,用户答题后,可以查看答题结果和正确答案。

2.2.3  历史记录浏览

主要对用户曾经搜索过的垃圾分类信息和知识问答情况进行浏览和查看。

2.2.4  用户登录

用户登录后才可以对曾经搜索过的垃圾分类信息和知识问答情况进行浏览和查看。垃圾分类查询和知识问答则不需要用户登录即可直接使用此功能。

3  系统设计与实现

3.1  系统主要功能模块设计

3.1.1  垃圾分类查询模块设计

垃圾分类查询模块主要包括两个功能:

1)文字查询。用户输入查询关键字后,首先通过request中的get方法,向服务器发送获取数据请求。控制层在接收到前端的请求后,调用服务层的getTrashList(catid,text),通过SQL语句来查询用户所输入垃圾的名称、类别,然后控制层再将查询结果返回给前端,在搜索页面中进行展示。在控制层中,定义了三个变量:“catid”“text”“page”,分别是垃圾分类类别、垃圾名称和页码。

2)拍照查询。本系统还提供了拍照识别垃圾分类的功能。通过第三方提供的APPKey和APPCode调用API接口实现。当用户使用该功能时,首先在主页面点击拍照查询按钮进入拍照查询页面,在该页面中上传待查询的图片,然后拍照识别功能对图片进行分析,根据分析结果显示垃圾分类信息,

3.1.2  知识问答模块设计

垃圾分类知识模块主要为三个功能:

1)垃圾分类介绍。该功能主要通过前端页面概要的介绍系统中垃圾分类的四个类别,让用户初步了解垃圾分类的基本知识。首先,通过前端的页面布局设计出四个页面,然后通过组件view将文字填入到容器中,另外需要用view组件定义一个类.item,这个类可以用来控制背景的颜色、宽高等,再加入四种不同类型的垃圾分类图片,即可实现此功能。

2)垃圾字典。点击“垃圾字典”可以查看各种垃圾分别属于哪个垃圾类型。通过查看信息加强对于垃圾分类知识的积累。本功能的查询语句是由catid即垃圾类别来进行区分的,用户在前端点击不同的类别,就会向服务器发送不同的catid进行查询,然后将返回结果显示在前端垃圾字典页面上。用户从主页面点击进入垃圾字典页面,每次系统会加载出20条垃圾名称,当用户滑动该页面到底部时,就会再加载出20条新的垃圾名称。

3)知识问答。用户在主界面“点击知识问答”进入知识问答页面,系统会随机生成10道判断垃圾类别的选择题,每道题有四个不同类别的答案。用户答完10道题后,系统会自动给出10道题的正确答案,并可以统计用户答对和答错的题数。此外,用户也可以在答题过程中点击重新开始答题。

为了实现本功能,在服务层定义了一个新的数组,并且定义了一个random函数,在知识问答查询语句中,使用了Mybatis框架。

3.1.3  历史记录浏览模块设计

1)文字查询记录浏览。通过request中的get操作,向后端控制层发送获取数据请求,控制层调用服务层search History(openid),根据登录用户,查看不同的搜索记录。实现此功能需要利用微信官方服务器发放给每个用户的openid,根据用户间不同的openid,在垃圾搜索记录表中查询到需要的数据,最后在前端页面中显示。

2)知识问答记录浏览。主要是方便用户查看错题进行垃圾分类知识的学习。在知识问答界面的js文件中,通过post方法将用户答题时的数据通过控制层访问服务层,存入到知识问答详细记录表中。当用户查询详细数据时,通过问答记录详细记录表中的recordid进行垃圾知识问答的详细查询。

3.1.4  用户登录模块设计

用户登录功能使用的是微信官方提供的openid,因此不需要输入账号、密码,微信授权登录即可。在进入登录页面后,点击登录按钮,系统将会自动检测该用户是否授权登录过本小程序,若首次登录。小程序会添加没有授权过的用户的openid到小程序的数据库中,之后显示登录用户成功,如果用户曾经授权过,则会直接登录成功,不再添加新的openid。

3.2  数据库设计

3.2.1  垃圾分类信息表(rubbish)

垃圾分類信息表包括五个字段。字段id是垃圾编号,记录数据库中垃圾的个数;字段catid是垃圾分类编号,区分不同垃圾的类型,1为可回收垃圾,2为有害垃圾,3为厨余垃圾,4为其他垃圾;字段Ljbg区分不同垃圾种类的颜色,其中可回收垃圾是深蓝色,有害垃圾是深红色,厨余垃圾是深绿色,其他垃圾是深灰色;字段name是垃圾分类的名称;字段text是垃圾的名字,如表1所示。

3.2.2  垃圾搜索记录表(rubbish_user_search)

垃圾搜索记录表包括五个字段。字段id记录垃圾搜索记录次数;openid记录的是用户登录后,微信授权返回的数据;字段result记录每次查询结果的数量;字段serchText记录查询的垃圾名称;字段searchDate记录查询时间,如表2所示。

3.2.3  问答记录表(q_a_record)

问答记录表包含五个字段。字段id记录已完成的知识问答次数;字段openid记录的用户登录后,微信服务器向用户返回的数据;字段correctCount统计每次知识问答答对的题目数量;creatDate记录每次知识问答的时间,如表3所示。

3.2.4  知识问答详细记录表(q_a_record_info)

知识问答详细记录表包含八个字段。字段id记录所有问答题的数量;字段recordid记录答题次数,每次记录由十道选择题组成;字段name记录题目中选择题的正确答案;字段text记录题目中垃圾的名称,字段yourAnswer记录用户选择的答案;whetherCorrect记录答案的对错,1为对,0为错误;openid区分不同用户的答题记录,openid是通过微信服务器为每个用户生成的不同数据;createDate记录知识问答进行的时间,如表4所示。

3.3  系统测试结果

3.3.1  小程序主界面测试结果

点击“垃圾分类”小程序,进入小程序主界面,测试结果如图4所示。

3.3.2  垃圾分类查询页面测试结果

图5为垃圾分类查询页面测试结果,在垃圾分类文字搜索页面,输入垃圾名称,可以查看其所属的垃圾类别,测试结果如图5(a)和5(b)所示。在垃圾分类拍照查询页面,点击“拍照选取照片上传”按钮,上传欲识别的垃圾图片,测试结果如图5(c)和图5(d)所示。

3.3.3  知识问答页面测试结果

图6为知识问答页面测试结果。进入知识问答页面,点击“知识问答”按钮,可进行垃圾分类知识答题,并显示答题结果。在垃圾字典页面,可进行垃圾分类知识的学习。测试结果如图6(a)、6(b)和6(c)所示。

3.3.4  历史记录浏览页面测试结果

圖7为历史记录浏览页面测试结果。进入历史记录查询页面,点击“文字查询记录浏览”,可查看垃圾分类查询的历史记录;点击“知识问答记录浏览”,可查看知识问答的答题情况历史记录。测试结果如图7(a)和7(b)所示。

4  结  论

基于微信小程序的垃圾分类系统,使用最新的微信开发者工具实现,经测试软件功能运行正常,系统性能稳定,用户体验效果较好。基本上满足了为用户提供垃圾分类查询、垃圾分类知识问答等功能的需求。

参考文献:

[1] LIU C Y. Research on Design of Management System Based on Garbage Classification [J].International Journal of Frontiers in Sociology,2021,3(11):1-2.

[2] 韩舶.微信小程序发展现状及其前景探析 [J].数字传媒研究,2020,37(8):5-9.

[3] 王晓星,黄建昌.基于微信小程序的应用开发浅析 [J].信息技术与信息化,2021(3):23-25.

[4] 微信官方文档.开发指南 [EB/OL].[2019-11-13].https://developers.weixin.qq.com/miniprogram/dev/framework/view/.

[5] 张坤,张云霞,孙全建.计算机软件数据库设计的原则及问题研究 [J].电子技术与软件工程,2022(1):168-171.

作者简介:李艳平(1972—),女,汉族,内蒙满洲里人,讲师,硕士,主要研究方向:云计算、移动互联网;张成昊(2000—),男,汉族,北京,本科在读,主要研究方向:为移动互联网。

猜你喜欢

微信小程序垃圾分类
图书馆微信小程序的应用现状及前景分析
基于CNKI的微信小程序研究文献计量分析
信息技术与专业课程融合路径探索
当图书馆遇上微信小程序
基于互联网思维的再生资源智能回收系统设计(宝特瓶类)
小学校本课程《垃圾分类》智慧教育案例研究
浅析我国农村垃圾处理难题
日本城市垃圾分类的做法
高校环境教育非课堂教学模式的探索
刍议校园垃圾分类与高校学生管理