基于JAVA Web的农业科普小程序的设计与实现的设计与实现 毕业设计程序源码32621
系统主要包括以下几个功能模块:科普文章浏览、植物百科信息、植物识别等。用户可以通过微信小程序登录系统,浏览科普文章,了解植物百科,进行植物识别。在系统的设计与实现过程中,充分考虑了数据安全和隐私保护的问题。采用了合适的数据加密技术和访问控制机制,保证用户信息和交易数据的安全性。同时,通过合理的权限管理设计,确保只有具备相应权限的用户才能进行相关操作,提高系统的可信度和稳定性...
本论文基于SpringBoot、Vue.js和微信小程序,设计与实现了一个农业科普小程序。该小程序旨在提供一个便捷、实用的农业科普平台,帮助用户获取植物知识、了解植物信息。
首先,通过对农业科普需求和用户调研,确定了系统的功能模块和技术方案。然后,采用JAVA Web作为后端开发工具,结合SpringBoot框架和MySQL数据库进行数据存储和管理。同时,使用Vue.js作为前端开发框架,实现了用户友好的界面设计和交互效果。最后,开发了一个微信小程序作为移动端展示。
系统主要包括以下几个功能模块:科普文章浏览、植物百科信息、植物识别等。用户可以通过微信小程序登录系统,浏览科普文章,了解植物百科,进行植物识别。
在系统的设计与实现过程中,充分考虑了数据安全和隐私保护的问题。采用了合适的数据加密技术和访问控制机制,保证用户信息和交易数据的安全性。同时,通过合理的权限管理设计,确保只有具备相应权限的用户才能进行相关操作,提高系统的可信度和稳定性。
在实验和测试阶段,使用了一系列的测试用例和模拟数据进行验证,确保系统的功能正常运行和数据的准确性。结果显示,该农业科普小程序在用户界面友好性、功能完整性和数据安全性方面表现良好,满足了用户对农业科普的需求。
综上所述,本论文基于JAVA Web的农业科普小程序设计与实现具有一定的实用性和可行性。通过该系统,用户可以便捷地获取植物知识、了解植物信息。此外,该系统的设计思想和技术方案也为其他类似科普平台的开发提供了参考和借鉴。
关键词:农业科普小程序;微信小程序开发框架;SpringBoot;Vue.js
Abstract
This paper designs and implements an agricultural science popularization mini program based on SpringBoot, Vue.js, and WeChat mini program. This mini program aims to provide a convenient and practical agricultural science popularization platform to help users acquire plant knowledge and understand plant information.
Firstly, by conducting research on agricultural science popularization needs and users, the functional modules and technical solutions of the system were determined. Then, JAVA Web was used as the backend development tool, combined with the SpringBoot framework and MySQL database for data storage and management. Meanwhile, using Vue.js as the front-end development framework has achieved user-friendly interface design and interactive effects. Finally, a WeChat mini program was developed for mobile display.
The system mainly includes the following functional modules: browsing popular science articles, plant encyclopedia information, plant recognition, etc. Users can log in to the system through WeChat mini programs, browse popular science articles, learn about plant encyclopedias, and perform plant recognition.
In the design and implementation process of the system, the issues of data security and privacy protection were fully considered. Appropriate data encryption techniques and access control mechanisms have been adopted to ensure the security of user information and transaction data. At the same time, through a reasonable permission management design, it is ensured that only users with corresponding permissions can perform related operations, improving the credibility and stability of the system.
In the experimental and testing stages, a series of test cases and simulation data were used to verify the normal operation of the system and the accuracy of the data. The results show that the agricultural science popularization mini program performs well in terms of user-friendly interface, functional integrity, and data security, meeting the needs of users for agricultural science popularization.
In summary, the design and implementation of an agricultural science popularization mini program based on JAVA Web in this paper has certain practicality and feasibility. Through this system, users can conveniently obtain plant knowledge and understand plant information. In addition, the design concept and technical solution of the system also provide reference and inspiration for the development of other similar science popularization platforms.
Keywords: Agricultural science popularization mini program; WeChat Mini Program Development Framework; SpringBoot; Vue.js
目录
农业科普在现代社会中具有重要的意义和价值。随着农业技术的不断发展和科学知识的积累,农民和广大农业从业者需要及时获取最新的农业科普信息,提高农业生产效率和质量。同时,对于一般用户来说,了解农业知识有助于增强对食品安全、环境保护等问题的认知。
然而,传统的农业科普方式存在一些问题,如信息传播渠道有限、获取过程复杂等。因此,基于JAVA Web的农业科普小程序的设计与实现成为了一个具有实际需求和研究价值的课题。
农业科普文章是传递农业知识的重要方式之一。然而,目前很多农业科普文章存在信息散落、传播渠道受限等问题。因此,设计一个农业科普小程序,将科普文章集中整合,提供分类浏览和搜索功能,使用户能够便捷地获取农业科普知识。
植物识别在农业领域具有重要的应用价值。通过植物识别技术,农民和农业从业者可以迅速准确地识别作物病虫害、野生植物等,并采取相应的防治措施。此外,对于一般用户来说,能够通过拍摄植物图片进行识别,了解植物的名称和特征,提高对植物多样性的认知。
植物百科是一个详细介绍各种植物信息的数据库。包含了植物的分类、生长环境、用途等相关知识。通过设计一个植物百科模块,用户可以通过搜索或浏览分类来获取特定植物的详细信息,了解不同植物的生长习性、栽培技术等。
综上所述,基于JAVA Web的农业科普小程序的设计与实现具有重要的研究背景。通过该系统,可以有效地传播农业科普知识,提高农民和广大用户的农业科学素养和意识,促进农业科技的发展和应用。此外,该系统的设计思想和技术方案也可以为其他类似科普平台的开发提供借鉴和参考。
推动农业科普普及:农业科普是提高农民素质、推进农业现代化的重要途径之一。通过开发农业科普小程序,可以方便农民和公众获取农业知识、了解农业技术,从而提高农业科普的覆盖率和传播效果。
整合信息资源:农业科普涉及广泛的领域,包括农作物种植、养殖技术、农业机械等多个方面的知识。通过设计一个综合性的农业科普小程序,可以整合各类农业信息资源,为用户提供全面、便捷的农业科普服务。
提高信息获取效率:传统的农业科普方式主要依靠书籍、报纸、电视等媒体进行传播,信息获取较为有限且不及时。而基于小程序的农业科普平台可以随时随地提供最新的农业知识和技术资讯,大大提高了信息获取的效率。
促进农业产业发展:农业科普小程序不仅可以提供农业知识,还可以与农业产业相结合,推广农业产品、农业技术和农业服务等。通过小程序平台的推广和营销,可以促进农业产业的发展和升级。
提升用户体验:基于Java Web、Spring Boot+Vue+小程序的设计方案,可以为用户提供良好的用户体验。小程序具有跨平台、快速响应、界面友好等特点,能够满足用户对科普信息获取的便捷性和交互性的需求。
总之,设计和实现基于Java Web、Spring Boot+Vue+小程序的农业科普小程序的课题研究意义重大,不仅可以推动农业科普普及,提高信息获取效率,促进农业产业发展,还能提升用户体验,推动农业现代化进程。
1.3系统开发技术的特色
(1)系统采用前后端分离的开发模式,使得前端和后端可以独立开发和维护,提高了开发效率和系统的可维护性。
(2)系统采用微服务架构,将系统拆分成多个独立的服务,每个服务可以独立部署和扩展,提高了系统的灵活性和可扩展性。
(3)系统采用 Docker 容器化部署技术,使得系统可以快速部署和迁移,提高了系统的可靠性和可移植性。
(4)系统采用自动化测试技术,包括单元测试、接口测试和性能测试等,提高了系统的稳定性和可靠性。
(5)系统采用安全保障技术,包括用户认证、授权、数据加密等,保障了系统的安全性和用户的隐私。
这些技术特色使得基于JAVA Web的农业科普小程序具有高效、稳定、可靠、安全等优点,能够满足用户的需求和提高用户的体验。
2 基于JAVA Web的农业科普小程序分析
基于JAVA Web的农业科普小程序可在微信端实现查看网站公告、查看和发表科普文章、植物识别、查看植物百科等操作,相对于传统知识科普方式,基于JAVA Web的农业科普小程序提高了效率和便利性。在后台可对科普文章管理、科普分类管理、系统管理(轮播图管理)、通知公告管理、资源管理进行管理,针对用户对植物知识的学习需求,充分了解用户的需求,更有针对性的服务用户。
2.1可行性分析
2.1.1技术可行性分析
基于JAVA Web的农业科普小程序存储所使用的mysql数据库以及开发中所使用的IDEA、Tomcat这些开发工具的使用,能够给我们的编写工作带来许多的便利。系统使用springboot框架进行开发,使系统的可扩展性和维护性更佳,减少java配置代码,简化编程代码,目前springboot框架也是很多企业选择的框架之一。
2.1.2经济可行性分析
在开发基于JAVA Web的农业科普小程序中所使用的开发软件像IDEA开发工具、Tomcat8.0服务器、MySQL5.7数据库、Photoshop图片处理软件等,这些都是开源免费的,并且基于JAVA Web的农业科普小程序是自己设计并编码实现的,数据库是使用流行mysql进行数据的存储,开源的mysql等技术的使用,减少系统开发费用。
2.1.3操作可行性分析
在日常生活中,随着小程序的快速推广和使用,越来越多人掌握小程序的使用方法,基于JAVA Web的农业科普小程序在这种条件背景下是很容易被人们所接受和熟悉的,所以在操作上没任何问题。
2.2功能需求分析
基于JAVA Web的农业科普小程序中的web后台管理端采用了IntelliJ IDEA 2019.3.4 开发工具,配合了java开发语言中springboot开发框架以及tomcat8.0服务器、jdk1.8,微信端采用了微信开发者工具稳定版1.05.2111300,页面使用wxss和wxml进行布局,微信端和web后台管理端采用json接口通信。
1.小程序端功能需求:
首页:展示农业科普的推荐文章、图片轮播等信息;提供搜索功能,方便用户查找感兴趣的科普文章和植物信息。
网站公告:显示最新的网站公告和通知信息。
科普文章:列表展示各类农业科普文章;支持文章分类,方便用户浏览不同主题的科普内容;支持文章收藏功能,用户可以收藏自己喜欢的文章。
植物识别:提供植物识别功能,用户可以通过拍照或上传图片进行植物识别;
结合后台管理系统中的植物资源,返回植物名称、特征和相关科普文章链接等信息。
植物百科:提供详细的植物百科知识,包括植物分类、形态特征、生长习性、适应环境等;支持按照植物分类进行浏览。
我的:用户基本信息展示和编辑功能;收藏的科普文章列表;用户反馈和意见收集。
2.管理员端功能需求:
后台首页:显示系统概览信息,如用户数量、文章数量等。
系统用户:管理系统用户,包括添加、编辑、删除用户等操作。
科普文章管理:管理科普文章,包括发布、编辑、删除文章等操作;支持文章分类管理,方便对文章进行分类管理。
科普分类管理:管理科普文章的分类,包括添加、编辑、删除分类等操作。
系统管理(轮播图管理):管理小程序首页的轮播图,包括上传、编辑、删除轮播图等操作。
通知公告管理:管理网站公告和通知信息,包括发布、编辑、删除公告等操作。
资源管理(植物百科、百科分类):管理植物百科资源,包括添加、编辑、删除植物百科信息等操作;支持植物百科分类管理,方便对植物百科进行分类管理。
通过以上功能需求分析,我们可以明确系统的功能模块和业务流程,为后续的系统设计和开发提供指导。
基于JAVA Web的农业科普小程序的完整UML用例图分别是图2-1,图2-2。在参与者上包括注册用户、管理员。
注册用户角色的用例包括用户注册、用户登录、首页、网站公告、科普文章、植物识别(可网站检索)、植物百科、我的(基本信息、收藏、科普文章)。

图2-1 基于JAVA Web的农业科普小程序学生用户角色用例图
管理员角色的用例包括后台首页、系统用户、科普文章管理、科普分类管理、系统管理(轮播图管理)、通知公告管理、资源管理(植物百科、百科分类)。

图2-2 基于JAVA Web的农业科普小程序管理员角色用例图
在上一章节中分析了基于JAVA Web的农业科普小程序的功能性需求,并且根据需求分析了基于JAVA Web的农业科普小程序中的用例。那么接下来就要开始对基于JAVA Web的农业科普小程序架构、主要功能和数据库开始进行设计。
3.1系统功能模块设计
通过对基于JAVA Web的农业科普小程序的功能需求分析以及用例分析,得出了基于JAVA Web的农业科普小程序的功能模块图如图3-1所示。

3.3数据库设计
3.3.1 数据库E-R模型
下面是整个基于JAVA Web的农业科普小程序的数据库表的E-R实体关系图,如图3-2所示:

图3-2 基于JAVA Web的农业科普小程序E-R实体关系图
3.3.2 数据库表设计
通过上一小节中基于JAVA Web的农业科普小程序中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
token_id |
int |
10 |
0 |
N |
Y |
临时访问牌ID |
|
2 |
token |
varchar |
64 |
0 |
Y |
N |
临时访问牌 |
|
3 |
info |
text |
65535 |
0 |
Y |
N |
||
4 |
maxage |
int |
10 |
0 |
N |
N |
2 |
最大寿命:默认2小时 |
5 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
6 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
7 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户编号: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
article_id |
mediumint |
8 |
0 |
N |
Y |
文章id:[0,8388607] |
|
2 |
title |
varchar |
125 |
0 |
N |
Y |
标题:[0,125]用于文章和html的title标签中 |
|
3 |
type |
varchar |
64 |
0 |
N |
N |
0 |
文章分类:[0,1000]用来搜索指定类型的文章 |
4 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击数:[0,1000000000]访问这篇文章的人次 |
5 |
praise_len |
int |
10 |
0 |
N |
N |
0 |
点赞数 |
6 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
7 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
8 |
source |
varchar |
255 |
0 |
Y |
N |
来源:[0,255]文章的出处 |
|
9 |
url |
varchar |
255 |
0 |
Y |
N |
来源地址:[0,255]用于跳转到发布该文章的网站 |
|
10 |
tag |
varchar |
255 |
0 |
Y |
N |
标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开 |
|
11 |
content |
longtext |
2147483647 |
0 |
Y |
N |
正文:文章的主体内容 |
|
12 |
img |
varchar |
255 |
0 |
Y |
N |
封面图 |
|
13 |
description |
text |
65535 |
0 |
Y |
N |
文章描述 |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
type_id |
smallint |
5 |
0 |
N |
Y |
分类ID:[0,10000] |
|
2 |
display |
smallint |
5 |
0 |
N |
N |
100 |
显示顺序:[0,1000]决定分类显示的先后顺序 |
3 |
name |
varchar |
16 |
0 |
N |
N |
分类名称:[2,16] |
|
4 |
father_id |
smallint |
5 |
0 |
N |
N |
0 |
上级分类ID:[0,32767] |
5 |
description |
varchar |
255 |
0 |
Y |
N |
描述:[0,255]描述该分类的作用 |
|
6 |
icon |
text |
65535 |
0 |
Y |
N |
分类图标: |
|
7 |
url |
varchar |
255 |
0 |
Y |
N |
外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 |
|
8 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
9 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
auth_id |
int |
10 |
0 |
N |
Y |
授权ID: |
|
2 |
user_group |
varchar |
64 |
0 |
Y |
N |
用户组: |
|
3 |
mod_name |
varchar |
64 |
0 |
Y |
N |
模块名: |
|
4 |
table_name |
varchar |
64 |
0 |
Y |
N |
表名: |
|
5 |
page_title |
varchar |
255 |
0 |
Y |
N |
页面标题: |
|
6 |
path |
varchar |
255 |
0 |
Y |
N |
路由路径: |
|
7 |
position |
varchar |
32 |
0 |
Y |
N |
位置: |
|
8 |
mode |
varchar |
32 |
0 |
N |
N |
_blank |
跳转方式: |
9 |
add |
tinyint |
3 |
0 |
N |
N |
1 |
是否可增加: |
10 |
del |
tinyint |
3 |
0 |
N |
N |
1 |
是否可删除: |
11 |
set |
tinyint |
3 |
0 |
N |
N |
1 |
是否可修改: |
12 |
get |
tinyint |
3 |
0 |
N |
N |
1 |
是否可查看: |
13 |
field_add |
text |
65535 |
0 |
Y |
N |
添加字段: |
|
14 |
field_set |
text |
65535 |
0 |
Y |
N |
修改字段: |
|
15 |
field_get |
text |
65535 |
0 |
Y |
N |
查询字段: |
|
16 |
table_nav_name |
varchar |
500 |
0 |
Y |
N |
跨表导航名称: |
|
17 |
table_nav |
varchar |
500 |
0 |
Y |
N |
跨表导航: |
|
18 |
option |
text |
65535 |
0 |
Y |
N |
配置: |
|
19 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
20 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
collect_id |
int |
10 |
0 |
N |
Y |
收藏ID: |
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
收藏人ID: |
3 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
4 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
5 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
6 |
title |
varchar |
255 |
0 |
Y |
N |
标题: |
|
7 |
img |
varchar |
255 |
0 |
Y |
N |
封面: |
|
8 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
9 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
comment_id |
int |
10 |
0 |
N |
Y |
评论ID: |
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
评论人ID: |
3 |
reply_to_id |
int |
10 |
0 |
N |
N |
0 |
回复评论ID:空为0 |
4 |
content |
longtext |
2147483647 |
0 |
Y |
N |
内容: |
|
5 |
nickname |
varchar |
255 |
0 |
Y |
N |
昵称: |
|
6 |
avatar |
varchar |
255 |
0 |
Y |
N |
头像地址:[0,255] |
|
7 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
9 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
10 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
11 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
hits_id |
int |
10 |
0 |
N |
Y |
点赞ID: |
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
点赞人: |
3 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
4 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
5 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
6 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
7 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
notice_id |
mediumint |
8 |
0 |
N |
Y |
公告id: |
|
2 |
title |
varchar |
125 |
0 |
N |
N |
标题: |
|
3 |
content |
longtext |
2147483647 |
0 |
Y |
N |
正文: |
|
4 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
5 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
praise_id |
int |
10 |
0 |
N |
Y |
点赞ID: |
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
点赞人: |
3 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
4 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
5 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
6 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
7 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
8 |
status |
bit |
1 |
0 |
N |
N |
1 |
点赞状态:1为点赞,0已取消 |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
regular_users_id |
int |
10 |
0 |
N |
Y |
普通用户ID |
|
2 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 |
|
3 |
user_gender |
varchar |
64 |
0 |
Y |
N |
用户性别 |
|
4 |
contact_phone_number |
varchar |
16 |
0 |
Y |
N |
联系电话 |
|
5 |
examine_state |
varchar |
16 |
0 |
N |
N |
已通过 |
审核状态 |
6 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户ID |
7 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表science_popularization_articles (科普文章)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
science_popularization_articles_id |
int |
10 |
0 |
N |
Y |
科普文章ID |
|
2 |
science_popularization_title |
varchar |
64 |
0 |
Y |
N |
科普标题 |
|
3 |
science_popularization_label |
varchar |
64 |
0 |
Y |
N |
科普标签 |
|
4 |
science_popularization_classification |
varchar |
64 |
0 |
Y |
N |
科普分类 |
|
5 |
release_date |
date |
10 |
0 |
Y |
N |
发布日期 |
|
6 |
publish_users |
int |
10 |
0 |
Y |
N |
0 |
发布用户 |
7 |
science_popularization_videos |
varchar |
255 |
0 |
Y |
N |
科普视频 |
|
8 |
cover_photo |
varchar |
255 |
0 |
Y |
N |
封面图片 |
|
9 |
content_details |
text |
65535 |
0 |
Y |
N |
内容详情 |
|
10 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击数 |
11 |
praise_len |
int |
10 |
0 |
N |
N |
0 |
点赞数 |
12 |
examine_state |
varchar |
16 |
0 |
N |
N |
未审核 |
审核状态 |
13 |
examine_reply |
varchar |
16 |
0 |
Y |
N |
审核回复 |
|
14 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
15 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
16 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表science_popularization_classification (科普分类)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
science_popularization_classification_id |
int |
10 |
0 |
N |
Y |
科普分类ID |
|
2 |
science_popularization_classification |
varchar |
64 |
0 |
Y |
N |
科普分类 |
|
3 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
4 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
sensitive_vocabulary_id |
int |
10 |
0 |
N |
Y |
敏感词汇ID |
|
2 |
sensitive_vocabulary |
varchar |
64 |
0 |
Y |
N |
敏感词汇 |
|
3 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
4 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
slides_id |
int |
10 |
0 |
N |
Y |
轮播图ID: |
|
2 |
title |
varchar |
64 |
0 |
Y |
N |
标题: |
|
3 |
content |
varchar |
255 |
0 |
Y |
N |
内容: |
|
4 |
url |
varchar |
255 |
0 |
Y |
N |
链接: |
|
5 |
img |
varchar |
255 |
0 |
Y |
N |
轮播图: |
|
6 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击量: |
7 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
upload_id |
int |
10 |
0 |
N |
Y |
上传ID |
|
2 |
name |
varchar |
64 |
0 |
Y |
N |
文件名 |
|
3 |
path |
varchar |
255 |
0 |
Y |
N |
访问路径 |
|
4 |
file |
varchar |
255 |
0 |
Y |
N |
文件路径 |
|
5 |
display |
varchar |
255 |
0 |
Y |
N |
显示顺序 |
|
6 |
father_id |
int |
10 |
0 |
Y |
N |
0 |
父级ID |
7 |
dir |
varchar |
255 |
0 |
Y |
N |
文件夹 |
|
8 |
type |
varchar |
32 |
0 |
Y |
N |
文件类型 |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
user_id |
mediumint |
8 |
0 |
N |
Y |
用户ID:[0,8388607]用户获取其他与用户相关的数据 |
|
2 |
state |
smallint |
5 |
0 |
N |
N |
1 |
账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
3 |
user_group |
varchar |
32 |
0 |
Y |
N |
所在用户组:[0,32767]决定用户身份和权限 |
|
4 |
login_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
上次登录时间: |
5 |
phone |
varchar |
11 |
0 |
Y |
N |
手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 |
|
6 |
phone_state |
smallint |
5 |
0 |
N |
N |
0 |
手机认证:[0,1](0未认证|1审核中|2已认证) |
7 |
username |
varchar |
16 |
0 |
N |
N |
用户名:[0,16]用户登录时所用的账户名称 |
|
8 |
nickname |
varchar |
16 |
0 |
Y |
N |
昵称:[0,16] |
|
9 |
password |
varchar |
64 |
0 |
N |
N |
密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 |
|
10 |
|
varchar |
64 |
0 |
Y |
N |
邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 |
|
11 |
email_state |
smallint |
5 |
0 |
N |
N |
0 |
邮箱认证:[0,1](0未认证|1审核中|2已认证) |
12 |
avatar |
varchar |
255 |
0 |
Y |
N |
头像地址:[0,255] |
|
13 |
open_id |
varchar |
255 |
0 |
Y |
N |
针对获取用户信息字段 |
|
14 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
15 |
vip_level |
varchar |
255 |
0 |
Y |
N |
会员等级 |
|
16 |
vip_discount |
double |
11 |
2 |
Y |
N |
0.00 |
会员折扣 |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
group_id |
mediumint |
8 |
0 |
N |
Y |
用户组ID:[0,8388607] |
|
2 |
display |
smallint |
5 |
0 |
N |
N |
100 |
显示顺序:[0,1000] |
3 |
name |
varchar |
16 |
0 |
N |
N |
名称:[0,16] |
|
4 |
description |
varchar |
255 |
0 |
Y |
N |
描述:[0,255]描述该用户组的特点或权限范围 |
|
5 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
6 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
7 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
8 |
register |
smallint |
5 |
0 |
Y |
N |
0 |
注册位置: |
9 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
10 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
基于JAVA Web的农业科普小程序划分了微信小程序用户端和web后台管理员端,微信端实现用户注册、登录管理、反馈评价、评论、排行榜、学习互动、植物百科、我的(基本信息、收藏)等功能,web端是为后台管理员提供用户管理、排行榜管理、系统管理(轮播图管理)、留言管理、通知公告管理、资源管理(植物百科、资源分类、评论)、交流管理(学习互动、互动分类)的平台。
4.1 前台微信端
4.1.1 用户注册界面
不是基于JAVA Web的农业科普小程序的用户可以通过微信小程序在线进行注册,填写上自己的账号、密码、重复密码、昵称、邮箱登信息后点击“提交”按钮后将会验证是否有非空数据,再验证密码和重复密码是否一样,最后验证是否账号重复,都验证没问题后即可注册成功。注册实现了用户注册和发布者注册两部分,其用户注册界面展示如下图4-1所示。

图4-1用户注册界面图
4.1.2 用户登录界面
微信小程序上注册后的用户可以通过自己的用户名和密码进行登录,在用户填写好自己的用户名和密码信息并点击“登录”按钮后,将会先验证是否有非空数据,再验证填写的用户信息和数据库中保存的是否一致,一致后将会登录成功,登录成功后将会在左上角上显示用户信息;否则将会提示相应错误信息,用户登录界面如下图4-2所示。

图4-2用户登录界面图
输入有效的用户名和密码信息,点击“登录”按钮,自动跳转到“首页”页面,首页界面如下图4-3所示。

图4-3首页界面图
4.1.3 植物百科界面
用户点击植物百科按钮,可以进入植物百科列表,点击感兴趣的植物百科,进入植物百科详情页面,用户可以进行查看、点赞、收藏、评论等操作,界面如下图4-4所示。

图4-4植物百科详情界面图
4.1.4 反馈评价界面
用户点击反馈评价可以进入反馈评价发布页面,学生用户可以发布反馈或评价内容,如下图4-5所示。

图4-5反馈评价界面图
4.1.5 评论界面
在首页页面点击“评论”后进入到“评论”界面,学生用户可以进行在线评论,系统自动组卷、计时、交卷评分,评论界面如下图4-6所示。

图4-6评论界面图
4.2后台管理员端
4.2.1 系统用户界面
管理员点击“系统用户”这一菜单会显示管理员、注册用户这两个子菜单,管理员可以对这两个角色的信息进行增删改查操作。界面如下图4-10所示。

图4-7学生用户管理界面图
4.2.2科普文章管理界面
管理员点击后台左边的“科普文章管理”菜单后将可以对科普文章进行管理,包括添加、编辑和删除科普文章等,科普文章管理界面如下图4-8所示。

图4-8科普文章列表界面图
4.2.3系统管理界面
管理员点击“系统管理”这一菜单会显示轮播图这一个子菜单,管理员可以对前台展示的轮播图进行设置,界面如下图所示。

4.2.4通知公告管理界面
点击“通知告管理”这个菜单,可以查看到系统中所有添加的通知公告,支持通过标题对通知公告进行查询,添加、删除等操作。通知公告管理界面如下图所示。

图4-10通知公告界面图
4.2.5资源管理界面
管理员点击“资源管理”这一菜单会显示植物百科、百科分类这两个子菜单,管理员可以上传、编辑、删除植物百科,设置百科分类,同时可以查看和回复用户评论。界面如下图所示。

5 基于JAVA Web的农业科普小程序测试
基于JAVA Web的农业科普小程序测试是为了检验软件是否达到设计要求,是否存在错误,通过测试的方法来检查基于JAVA Web的农业科普小程序,以便发现基于JAVA Web的农业科普小程序中的错误。测试工作是保证基于JAVA Web的农业科普小程序质量的关键。
微信端上用户查看植物百科功能测试:
表5-1微信端上用户查看植物百科功能测试用例表
测试名称 |
测试功能 |
操作 |
操作过程 |
预期结果 |
测试结果 |
查看植物百科功能模块测试 |
植物百科信息正常的显示 |
浏览植物百科详情信息 |
在小程序端上选择一个植物百科信息将会进入该植物百科的详情界面,同时可以评论、收藏、点赞。 |
进入该植物百科的详情信息界面 |
正确 |
查看植物百科功能模块测试 |
植物百科详情信息正常的显示 |
浏览植物百科详情信息 |
点击“评论”填写评论信息,点击“提交”按钮。 |
生成自己的评论信息。 |
正确 |
微信端上评论功能测试:
表5-2微信端上评论功能测试用例表
测试名称 |
测试功能 |
操作 |
操作过程 |
预期结果 |
测试结果 |
评论功能模块测试 |
评论信息正常的显示 |
浏览科普文章 |
点击科普文章底部“评论”按钮后点击“答题”填写评论内容点击提交即可。 |
进入评论界面 |
正确 |
web后台端上管理员发布植物百科功能测试:
表5-3web后台端上管理员发布植物百科功能测试用例表
测试名称 |
测试功能 |
操作 |
操作过程 |
预期结果 |
测试结果 |
管理员发布植物百科功能测试 |
添加植物百科的情况 |
输入新植物百科信息的基本信息 |
后台选择“资源管理”菜单后,点击“植物百科”,点击添加,填写新植物百科信息后点击“提交”按钮 |
新植物百科发布成功 |
正确 |
5.2测试结果
通过编写了基于JAVA Web的农业科普小程序的测试用例,已经检测完毕了5.1章节中的3大模块,它为基于JAVA Web的农业科普小程序系统的后期推广运营提供了强力的技术支撑。
本次基于JAVA Web的农业科普小程序的设计与实现,功能方面,通过功能模块图区分该程序的用户端与管理端各自的功能权限;数据库方面,数据库使用口碑较好的mysql进行数据的存储,开源的mysql等技术的使用,相对来说体积较小,服务稳定,减少系统开发成本费用,通过数据库表的E-R实体关系图建立了表单与表单之间的连接,区分不同的表单之间的关系,更好的完善数据库的内容;测试方面,通过测试用例检查基于JAVA Web的农业科普小程序的设计缺陷和程序存在的错误,在系统测试阶段的过程中,出现了一些问题,例如,注册信息,没有规范用户在注册页面填写信息时输入两次密码,而导致后期登录错误,最后通过多次修改程序和测试解决了问题。最终经过不断的检测、修改,实现项目的稳定,达到了预期的设计效果。
系统整体的功能到达预期的效果,但页面的美化方面还是存在一些不足,例如:小程序中的图标过于简洁;wxss页面的渲染布局方面不够完善,人们在使用软件过程中,对某些功能不易找寻,针对此次项目产生的问题,日后将不断改进,使该项目更加完善。
[1]Cuong Q B ,Ranindya P ,Ly D V , et al.APR4Vul: an empirical study of automatic program repair techniques on real-world Java vulnerabilities[J].Empirical Software Engineering,2023,29(1):
[2]Li D ,Wang W ,Zhao Y .Intelligent Visual Representation for Java Code Data in the Field of Software Engineering Based on Remote Sensing Techniques[J].Electronics,2023,12(24):
[3]Nikahat M ,Prachi G .Leveraging well-formedness and cognitive level classifiers for automatic question generation on Java technical passages using T5 transformer[J].International Journal of Information Technology,2023,15(4):1961-1973.
[4]Xiaoyong F ,Yan W ,Xiaomei W , et al.Design and implementation of disaster prevention science popularization system based on We Chat mini program[C]//[出版者不详],2023:
[5]陈子奕,张超.虫生:儿童昆虫科普教育服务系统设计[J].设计,2023,36(03):62-65.DOI:10.20055/j.cnki.1003-0069.000533.
[6]梁潇栩,姚欣忆,俞蜓凯等.基于微信小程序的口腔科普预约系统[J].电脑编程技巧与维护,2023,(01):65-68.DOI:10.16184/j.cnki.comprg.2023.01.005.
[7]陈罗昕玥,宋杏怡,钟宇淇等.七星岩风景区导览系统植物科普模块塑造研究[J].农业科技与信息,2022,(24):69-71+75.DOI:10.15979/j.cnki.cn62-1057/s.2022.24.027.
[8]王子昕,蒋斌,秦浩哲等.基于移动端的交互式气象科普系统搭建[J].浙江气象,2022,43(04):22-27.DOI:10.16000/j.cnki.zjqx.2022.04.004.
[9]李聪颖.大数据时代科普网站的建设[J].百科知识,2022,(33):31-32.
[10]任珂,王晓凡,蒲秀姝等.浅谈我国气象网络科普的发展与策略——以中国气象科普网站为例[J].科技传播,2021,13(18):20-22.DOI:10.16607/j.cnki.1674-6708.2021.18.009.
[11]李彤迪.基于WebMD和医学微视医药网站的中美中医药科普对比研究[D].北京中医药大学,2021.DOI:10.26973/d.cnki.gbjzu.2021.000783.
[12]石磊,王玉超.大数据背景下科普网建设分析[J].科学技术创新,2020,(21):82-83.
[13]蒋丹.“互联网+科普”系统演进与模式构建研究[D].南京信息工程大学,2020.DOI:10.27248/d.cnki.gnjqc.2020.000895.
[14]李稙,蔡东娜.数字花卉植物的全息可视化与交互实现[J].图学学报,2019,40(06):1017-1023.
[15]李艳琴,王舒.政府科普网站建设的现状分析与对策研究[J].晋图学刊,2019,(04):43-48.
[16]骆炳捷.移动端植物科普系统研建[D].北京林业大学,2019.DOI:10.26949/d.cnki.gblyu.2019.000534.
[17]江相雅.西南民族地区中学生“互联网+科普”内容与传播方式的需求研究[D].西南大学,2019.
[18]赵慧.基于Android的科普APP内容及表现形式研究[D].西南大学,2019.
[19]毕卫红,计算机科学知识科普网站建设.河北省,燕山大学,2014-04-01.
[20]崔百宁,李容,招楚莹等.农村青少年科普知识需求状况的调查与分析[J].肇庆学院学报,2013,34(05):89-92.
至此论文结束,感谢您的阅读。首先,我要感谢我的父母对我的支持与理解,在两年的本科学习生活中,倾其所能的爱护我,使我能够心无旁骛,全心全意的投入到学习中;不断鼓励我,让我能够拥有不断前进的动力。其次还要感谢我的导师,感谢在这段时间给予我有效的建议,以至于我的毕设有了整体的设计思路,尽管我在实习期间很忙,论文撰写总是停停改改,但是导师依然十分负责,时不时的询问我的任务进展情况,跟进我的论文进度。在老师的帮助下,我逐步完成了自己的论文和程序,从导师身上也学习到很多知识,和经验,这些知识和经验令我受益匪浅。
此外,还要感谢我的同学,热心的解答了我在程序上遇到的问题,是他们在我编写程序过程中给了我很多的启发和感想,也帮助了我对于程序的调试和检测,让我受益良多。在这两年的时间里,我学会了许多专业的知识,还有老师们的谆谆教诲和同学们的帮助使我不断进步,能够做得更好;我也会不断给自己充电,不断突破,成为更好的自己。
最后向所有关心我、帮助我的老师及同学们表示衷心的感谢!
免费领取源码,请点赞关注私信博主
更多推荐
所有评论(0)