微信小程序的农产品商城-计算机毕业设计源码46732

  

随着社会经济的发展和人们消费观念的升级,农产品电商行业逐渐壮大。但传统的农产品销售模式存在信息不透明、中间环节复杂等问题,而微信小程序作为一种便捷的移动应用平台,为农产品商城的建设提供了新的可能性。通过微信小程序的设计与实现,可以实现农产品的在线展示、交易、信息及产品发布等功能,帮助农产品生产者与消费者之间建立便捷、直接的联系,提升农产品销售效率和用户购物体验。本文研究的农产品商城主要利用Java语言,通过springboot框架,采用MySQL数据库结合微信小程序进行开发,提供了一个便捷、全面、友好的农产品展示、获取、购买平台,满足了用户对于农产品购物服务的多样化需求。用户可以通过微信小程序快速轻松获取各种农产品信息,并对可对农产品进行溯源,参与不同形式的团购活动,方便快捷地购物支付。通过打通线上线下销售渠道,提高农产品的流通效率,让更多优质的农产品能够以更快速、更广泛的方式进入市场。

关键词:微信小程序;农产品商城;农产品购物;优质农产品;springboot

Abstract

With the development of social economy and the upgrading of people's consumption concepts, the agricultural product e-commerce industry is gradually growing. However, the traditional agricultural product sales model has problems such as information opacity and complex intermediate links. As a convenient mobile application platform, WeChat mini programs provide new possibilities for the construction of agricultural product malls. Through the design and implementation of WeChat mini programs, online display, trading, information, and product release of agricultural products can be achieved, helping to establish convenient and direct connections between agricultural producers and consumers, improving agricultural product sales efficiency and user shopping experience.The agricultural product mall studied in this article is mainly developed using Java language, the Springboot framework, MySQL database, and WeChat mini program. It provides a convenient, comprehensive, and friendly platform for displaying, obtaining, and purchasing agricultural products, meeting the diverse needs of users for agricultural product purchasing services. Users can quickly and easily obtain various agricultural product information through WeChat mini programs, trace the origin of agricultural products, participate in different forms of group buying activities, and conveniently and quickly shop and make payments. By opening up online and offline sales channels, we can improve the circulation efficiency of agricultural products and enable more high-quality agricultural products to enter the market in a faster and more extensive manner.

Keywords: WeChat mini program; Agricultural product mall; Agricultural product shopping; High quality agricultural products; Springboot

目录

  

Abstract

第1章 引  

1.1 研究背景与意义

1.2 国内外研究现状

1.3 主要研究内容

1.4 论文结构与章节安排

第2章 系统需求分析

2.1 系统可行性分析

2.1.1 技术可行性分析

2.1.2 经济可行性分析

2.1.3 操作可行性分析

2.2 系统需求分析

2.2.1 功能需求分析

2.2.2 非功能性需求分析

2.3 系统用例分析

第3章 系统总体设计

3.1 系统功能模块设计

3.2 数据库设计

3.2.1 数据库概念结构设计

3.2.2 数据库逻辑结构设计

4章 关键模块的设计与实现

4.1 前台用户模块

4.1.1 登录界面

4.1.2 注册界面

4.1.3 首页界面

4.1.4 我的界面

4.2 后台管理模块

4.2.1 后台首页界面

4.2.2 公共管理界面

4.2.3 用户管理界面

4.2.4 资讯管理界面

4.2.5 商城管理界面

4.2.6 农产品信息界面

4.2.7 团购信息界面

第5章 系统测试

5.1 系统测试目的

5.2 系统测试用例

5.3 系统测试结果

第6章   

参考文献

结束语

第1章 引  

    1. 研究背景与意义

随着社会经济的不断发展,人们的消费观念也在不断升级,农产品电商行业逐渐成为一个蓬勃发展的领域。然而,传统的农产品销售模式存在诸多问题,比如信息不透明、中间环节复杂等。微信小程序作为一种便捷的移动应用平台,为解决这些问题提供了新的可能性。通过微信小程序的设计与实现,可以实现农产品的在线展示、交易、信息及产品发布等功能,从而帮助农产品生产者与消费者之间建立更加便捷、直接的联系,提升农产品销售效率和用户购物体验。

本文研究的农产品商城使用Java开发技术,采用springboot作为框架配合微信小程序平台,利用MySQL作为数据存储的技术选择,并说明了各个模块的功能和关系。使农产品商城具有操作简单、界面友好、数据安全、可移动、功能多样等特点,提供了一个便捷、全面、友好的农产品展示、获取、购买平台,满足了用户对于农产品购物服务的多样化需求。用户可以通过微信小程序快速轻松获取各种农产品信息,并对可对农产品进行溯源,参与不同形式的团购活动,方便快捷地购物支付。通过打通线上线下销售渠道,提高农产品的流通效率,让更多优质的农产品能够以更快速、更广泛的方式进入市场。同时有助于推动农产品电商领域的发展,促进农产品生产者与消费者之间的互动和合作。并且将为用户提供一个方便快捷的农产品购物平台,为管理员提供一个便捷高效的管理系统,有助于推动农产品产业数字化升级,促进农产品产销对接,促进农村经济发展和提高农民生活质量。

    1. 国内外研究现状

国内研究现状:在国内,随着互联网技术的发展,微信小程序作为一种新兴的应用形式受到了广泛关注。针对农产品行业,国内已经涌现了不少基于微信小程序的电商平台,其中包括了农产品商城。这些平台通过微信的巨大用户基础和便捷的特点,为消费者提供了便捷的购物渠道。一些典型的案例包括像是“某某农场”、“农乐园”等农产品商城小程序。这些平台提供了丰富多样的农产品,从新鲜水果到时令蔬菜,覆盖了消费者的多样需求。通过微信小程序,消费者可以直接在线选购农产品,无需额外下载其他应用,带来了便捷的购物体验。

此外,一些农产品商城还借助数据分析和智能推荐等技术,为用户提供个性化的购物服务。通过分析用户的购买记录和偏好,这些平台能够向用户推荐符合其口味和需求的产品,提高了购物的便利性和用户体验。

国外研究现状:在国外,基于微信小程序的农产品商城也逐渐兴起。尤其是在一些农业发达国家和地区,人们对于新鲜农产品的需求也很大。类似中国的情况,一些农产品商城利用微信小程序的便捷特点,为消费者提供了在线购物的平台。这些平台不仅提供了丰富多样的农产品选择,还注重用户体验和服务质量。一些商城采用了先进的物流系统,保证了农产品的及时配送,提高了消费者的满意度。

总的来说,国内外的研究现状表明,基于微信小程序的农产品商城已经取得了一定的成果,为促进农产品电子商务的发展提供了新的途径和思路。随着技术的不断进步和用户需求的不断变化,未来这一领域还有很大的发展空间,需要进一步研究和实践。

    1. 主要研究内容

基于微信小程序的农产品商城设计与实现,需要完成以下研究内容:

(1)首先是确定选题,确定好所要做的系统,并对系统的背景及现在面临的一些问题等进行系统的初步确认。根据用户需求和市场趋势,农产品商城针对性地通过Java语言,使用SpringBoot后端开发框架,基于微信小程序平台,利用MySQL数据库实现系统来实现,以解决传农产品销售、交易、购物服务和管理中的存在的问题。

(2)系统确认完成后,结合系统开发的需求进行确认系统开发所使用的技术。农产品商城的开发使用SpringBoot框架作为后端开发技术,同时采用微信小程序平台进行前端界面开发。根据实际需求选择MySQL数据库来进行搭建和配置,以满足系统对数据的存储和管理需求。对所选用的技术进行技术分析,确保其能够完成功能实现和系统的稳定运行。

(3)确定好系统使用的技术后,进行在线确认系统所划分的用户角色,并根据用户角色划分确定所要设计的功能模块。对于农产品商城的设计,可以划分为管理员和普通用户两个角色。管理员可以获取和管理所有用户和系统功能的详细数据信息,并根据需求进行处理和解决问题。而普通用户则可以通过微信小程序搜索和浏览农产品信息、优质农产品、网站公告、农产品资讯等信息,实现在线购买和支付农产品,提供团购和配送服务,并可管理自己的订单信息。通过系统的数据库实现数据的交互和共享,确保用户和管理员可以根据各自的需求进行操作和处理。

(4)系统的功能模块确认完成后,进行系统及界面的设计。根据不同角色的需求,设计相应的界面和操作方式,以提供用户友好的使用体验。同时,在设计过程中需要考虑系统的安全性和稳定性,确保用户的隐私和数据的安全。在设计完成后,通过测试来判断程序是否完善,进行功能和性能的验证。通过不同用户的操作和测试,找出系统可能存在的问题和漏洞,并进行修复和优化。当系统经过测试没有任何问题时,可以将系统上传并投入正式使用。

    1. 论文结构与章节安排

论文将分层次进行编排,除去论文摘要致谢文献参考部分,论文主要架构如下:

第一章:引言。主要介绍了课题研究的背景,研究意义、研究内容和论文结构与章节安排。

第二章:系统需求分析。主要从系统的用户、功能等方面进行需求分析。

第三章:系统总体设计。主要对系统框架、系统功能模块、数据库进行功能设计。

第四章:关键模块的设计与实现。主要介绍了系统框架搭建、系统界面的实现。

第五章:系统测试。主要对系统的部分界面进行测试并对主要功能进行测试。

第六章:结语。主要对系统的设计工作进行总结。

第2章 系统需求分析

农产品商城基于微信小程序,采用了Java技术和MySQL数据库作为设计工具,开发了功能完备、使用简单的前端应用程序,并建立、维护了一个数据完整、安全、稳定性强的后台数据库系统以实现农产品商城的开发和运行。SpringBoot具有简化配置、内嵌Web服务器、自动化构建等优点,可以使开发过程更加简单且易于维护,让系统更加稳定和高效。Java作为一种常用的编程语言,具有广泛的应用领域和成熟的开发生态系统。它提供了丰富的库和工具,使开发人员能够轻松构建各种功能模块。而MySQL作为一种关系型数据库管理系统,具有数据完整性高、稳定性好的特点,适合处理农产品商城的数据存储和管理需求。因此技术方面是可行的。

      1. 经济可行性分析

在开发基于微信小程序的农产品商城中所使用的开发软件像IDEA开发工具、Tomcat服务器、MySQL数据库、Photoshop图片处理软件微信开发者工具等,这些都是开源免费的,开发工具都能够从网上都可以直接下载这些环境在学校都进行了系统的学习,能够由开发者自己独立完成开发无需购买其他软件或端口等,Java技术具备广泛应用和丰富的资源库,开发者可以利用这些资源来实现所需的功能,也无需要额外花费因此在经济方面是可行的。

      1. 操作可行性分析

基于微信小程序的农产品商城设计完成后,其可操作性得到了显著提升,管理员可以轻松访问系统,快速管理各种数据信息,而用户通过微信小程序可以轻松访问系统界面,通过界面导航菜单,快速查看各个功能模块,满足用户的信息需求。此外,系统的操作也不再需要专业人员,操作人员只需要具备基本的电脑操作知识,就可以轻松完成各个功能模块的操作管理。所以,系统具有很高的可操作性,通过使用界面窗口,能够轻松地让用户进行登录。只需要掌握基础的电脑操作技能,就能够满足用户的需求。因此,操作可行性也没有问题。

    1. 系统需求分析

在开发研究之前,必须仔细分析系统的需求,并且进行全面的市场调研,以便确定使用者的功能需求,以便更好地定位整个系统的开发方向。在此,我们还需要对系统的性能、业务流程以及数据等方面进行深入的分析,以便基于微信小程序的农产品商城的界面简洁易懂,功能完善。

      1. 功能需求分析

通过基于微信小程序的农产品商城的需求分析该系统主要分为普通用户和管理员两大功能模块。具体如下:

  1. 普通用户模块:
  • 注册登录:游客可以通成为过普通用户,使用账号密码可进行登录,使用系统功能。
  • 首页:普通用户登录系统后,首先进入首页,可查看轮播图、农产品信息、优质农产品、网站公告、农产品资讯等信息详情;可搜索和浏览农产品信息、优质农产品;可将农产品加入团购;可将优质农产品进行加入购物车和立即购买操作;并可收藏农产品信息、优质农产品、农产品资讯等信息。
  • 购物车:普通用户点击“购物车”可查看所有加入购物车的产品信息,进行增改删查操作,点击可查看详情,并可选择性进行购买操作。
  • 农产品资讯:普通用户点击“农产品资讯”可查看管理员发布的所有农产品资讯信息,支持文章搜索和热门文章推荐,点击可查看详情,进行点赞、收藏和评论。
  • 我的:可对基本信息、收货地址、收藏、订单、购物车、团购信息、订单配送等信息进行管控和查看其信息详情。例如,可在基本信息中修改资料和修改密码;可添加自己的收货地址;可查看和删除自己的收藏信息,并可管理和支付优质农产品订单;可管理自己加入购物车的产品信息,客人选择性进行购买;可确认团购信息审核状态;可签收订单配送信息。
  1. 管理员:
  • 登录:管理员账号密码由系统生成,可使用账号密码可进行登录,使用系统功能,并可对个人信息和密码进行管理。
  • 主页:管理员可在主页查看商品销售金额统计、商品销售数量统计等信息数据分析图表。
  • 公共管理:管理员点击“公共管理”可对首页的轮播图和网站公告进行管理,进行增删改查操作,支持标题搜索,可点击查看详情。
  • 用户管理:管理员点击“用户管理”可对普通用户和管理员进行管控,包括进行增删改查操作,点击可查看详情。
  • 资讯管理:管理员点击“资讯管理”可对农产品资讯和新闻列表进行管理,进行增删改查操作,农产品资讯支持标题、标签、分类搜索,可点击查看详情和查看评论;新闻列表支持频道名称搜索,可点击查看详情。
  • 商城管理:管理员点击“商城管理”可对优质农产品、分类列表、订单列表、订单配送等信息进行管理。

点击“优质农产品”,可查看所有优质农产品信息,进行增删改查操作,支持标题、分类、农产品编号、农产品溯源搜索,可点击详情进行查看和查看评论;

点击“分类列表”,可查看所有分类信息,进行增删改查操作,支持分类搜索,可点击详情进行查看;

点击“订单列表”,可查看所有订单信息,进行查询和删除操作,支持订单号、商品名称、联系人姓名、状态搜索,可点击详情进行查看,和点击进行配送操作;

点击“订单配送”,可查看所有订单配送信息,进行查询和删除操作,支持配送状态、签收状态搜索,可点击详情进行查看,可修改签收状态

  • 商品类型:管理员点击“商品类型”可对商品分类等信息进行管理,进行增删改查操作,支持商品分类搜索,可点击详情进行查看。
  • 农产品信息:管理员点击“农产品信息”可对农产品信息等信息进行管理,进行增删改查操作,支持商品名称、商品价格搜索,可点击详情进行查看。
  • 团购信息:管理员点击“团购信息”可对团购信息等信息进行管理,进行增删改查操作,支持商品名称、商品价格搜素,可点击详情进行查看,可审核团购信息。
      1. 非功能性需求分析

基于微信小程序的农产品商城的非功能性需求比如基于微信小程序的农产品商城的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-1表格中:

表2.1 基于微信小程序的农产品商城非功能需求表

安全性

主要指基于微信小程序的农产品商城数据库的安装,数据库的使用和密码的设定必须合乎规范。

可靠性

可靠性是指基于微信小程序的农产品商城能够安装用户的指示进行操作,经过测试,可靠性90%以上。

性能

性能是影响基于微信小程序的农产品商城占据市场的必要条件,所以性能最好要佳才好。

可扩展性

比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。

易用性

用户只要跟着基于微信小程序的农产品商城的页面展示内容进行操作,就可以了。

可维护性

基于微信小程序的农产品商城开发的可维护性是非常重要的,经过测试,可维护性没有问题

    1. 系统用例分析

基于微信小程序的农产品商城用户角色用例图如图2.1所示:

图2.1用户角色用例图

基于微信小程序的农产品商城中管理员用例图如图2.2所示:

图2.3 管理员用例图

第3章 系统总体设计

  • 2 章
    1. 系统功能模块设计

系功能模块分成了管理员用户两个模块,每个模块登录进去对应相应的功能,具体的功能模块图如图3.1所示。

图3.1 基于微信小程序的农产品商城功能模块图

    1. 数据库设计

数据库的设计承载者系统的各种数据,在建立数据库的时候,主要是数据库模型的设计以及各个数据库表的设计两部分。

      1. 数据库概念结构设计

下面是整个基于微信小程序的农产品商城中主要的数据库表总E-R实体关系图。

图3.2 基于微信小程序的农产品商城总E-R关系图

      1. 数据库逻辑结构设计

通过前面E-R关系图可以看到项目需要创建很多个数据表。以下是项目中的主要数据库表的关系模型:

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

用户编号:

表address (收货地址:)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

address_id

int

10

0

N

Y

收货地址:

2

name

varchar

32

0

Y

N

姓名:

3

phone

varchar

13

0

Y

N

手机:

4

postcode

varchar

8

0

Y

N

邮编:

5

address

varchar

255

0

N

N

地址:

6

user_id

mediumint

8

0

N

N

用户ID:[0,8388607]用户获取其他与用户相关的数据

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

default

bit

1

0

N

N

0

默认判断

表agricultural_product_information (农产品信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

agricultural_product_information_id

int

10

0

N

Y

农产品信息ID

2

product_number

varchar

64

0

Y

N

商品编号

3

product_name

varchar

64

0

Y

N

商品名称

4

product_type

varchar

64

0

Y

N

商品类型

5

commodity_price

int

10

0

Y

N

0

商品价格

6

product_images

varchar

255

0

Y

N

商品图片

7

product_description

text

65535

0

Y

N

商品简述

8

product_traceability

longtext

2147483647

0

Y

N

商品溯源

9

hits

int

10

0

N

N

0

点击数

10

praise_len

int

10

0

N

N

0

点赞数

11

recommend

int

10

0

N

N

0

智能推荐

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表cart (购物车)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

cart_id

int

10

0

N

Y

购物车ID:

2

title

varchar

64

0

Y

N

标题:

3

img

varchar

255

0

N

N

0

图片:

4

user_id

int

10

0

N

N

0

用户ID:

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

state

int

10

0

N

N

0

状态:使用中,已失效

8

price

double

9

2

N

N

0.00

单价:

9

price_ago

double

9

2

N

N

0.00

原价:

10

price_count

double

11

2

N

N

0.00

总价:

11

num

int

10

0

N

N

1

数量:

12

goods_id

mediumint

8

0

N

N

商品id:[0,8388607]

13

type

varchar

64

0

N

N

未分类

商品分类:

14

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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:

表goods (商品信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

goods_id

mediumint

8

0

N

Y

产品id:[0,8388607]

2

title

varchar

125

0

Y

N

标题:[0,125]用于产品和html的<title>标签中

3

img

text

65535

0

Y

N

封面图:用于显示于产品列表页

4

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

5

price_ago

double

8

2

N

N

0.00

原价:[1]

6

price

double

8

2

N

N

0.00

卖价:[1]

7

sales

int

10

0

N

N

0

销量:[0,1000000000]

8

inventory

int

10

0

N

N

0

商品库存

9

type

varchar

64

0

N

N

商品分类:

10

hits

int

10

0

N

N

0

点击量:[0,1000000000]访问这篇产品的人次

11

content

longtext

2147483647

0

Y

N

正文:产品的主体内容

12

img_1

text

65535

0

Y

N

主图1:

13

img_2

text

65535

0

Y

N

主图2:

14

img_3

text

65535

0

Y

N

主图3:

15

img_4

text

65535

0

Y

N

主图4:

16

img_5

text

65535

0

Y

N

主图5:

17

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

18

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

19

customize_field

text

65535

0

Y

N

自定义字段

20

source_table

varchar

255

0

Y

N

来源表:

21

source_field

varchar

255

0

Y

N

来源字段:

22

source_id

int

10

0

N

N

0

来源ID:

23

user_id

int

10

0

Y

N

0

添加人

表goods_type (商品类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

int

10

0

N

Y

商品分类ID:

2

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

3

name

varchar

255

0

Y

N

商品名称:

4

desc

varchar

255

0

Y

N

描述:

5

icon

varchar

255

0

Y

N

图标:

6

source_table

varchar

255

0

Y

N

来源表:

7

source_field

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

更新时间:

表group_buying_information (团购信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_buying_information_id

int

10

0

N

Y

团购信息ID

2

product_number

varchar

64

0

Y

N

商品编号

3

product_name

varchar

64

0

Y

N

商品名称

4

commodity_price

int

10

0

Y

N

0

商品价格

5

product_traceability

longtext

2147483647

0

Y

N

商品溯源

6

group_buying_users

int

10

0

Y

N

0

团购用户

7

group_purchase_quantity

varchar

64

0

Y

N

团购数量

8

group_buying_time

datetime

19

0

Y

N

团购时间

9

examine_state

varchar

16

0

N

N

未审核

审核状态

10

examine_reply

varchar

16

0

Y

N

审核回复

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表high_quality_agricultural_products (优质农产品)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

high_quality_agricultural_products_id

int

10

0

N

Y

优质农产品ID

2

agricultural_product_number

varchar

64

0

Y

N

农产品编号

3

agricultural_product_traceability

longtext

2147483647

0

Y

N

农产品溯源

4

hits

int

10

0

N

N

0

点击数

5

praise_len

int

10

0

N

N

0

点赞数

6

cart_title

varchar

125

0

Y

N

标题:[0,125]用于产品html的标签中

7

cart_img

text

65535

0

Y

N

封面图:用于显示于产品列表页

8

cart_description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

9

cart_price_ago

double

8

2

N

N

0.00

原价:[1]

10

cart_price

double

8

2

N

N

0.00

卖价:[1]

11

cart_inventory

int

10

0

N

N

0

商品库存

12

cart_type

varchar

64

0

N

N

未分类

商品分类:

13

cart_content

longtext

2147483647

0

Y

N

正文:产品的主体内容

14

cart_img_1

text

65535

0

Y

N

主图1:

15

cart_img_2

text

65535

0

Y

N

主图2:

16

cart_img_3

text

65535

0

Y

N

主图3:

17

cart_img_4

text

65535

0

Y

N

主图4:

18

cart_img_5

text

65535

0

Y

N

主图5:

19

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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:

表logistics_delivery (物流配送)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

logistics_delivery_id

int

10

0

N

Y

物流配送ID

2

order_number

varchar

64

0

Y

N

订单号

3

product_name

varchar

64

0

Y

N

商品名称

4

purchase_quantity

varchar

64

0

Y

N

购买数量

5

total_transaction_amount

double

11

2

Y

N

0.00

交易总额

6

the_date_of_issuance

date

10

0

Y

N

发货日期

7

delivery_number

varchar

30

0

Y

N

配送订单

8

ordinary_users

int

10

0

Y

N

0

普通用户

9

shipping_address

varchar

64

0

Y

N

收货地址

10

delivery_status

varchar

64

0

Y

N

配送状态

11

signing_status

varchar

64

0

Y

N

签收状态

12

recommend

int

10

0

N

N

0

智能推荐

13

contact_name

varchar

255

0

Y

N

联系人名字

14

merchant_id

int

10

0

Y

N

商家id

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表order (订单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

order_id

int

10

0

N

Y

订单ID:

2

order_number

varchar

64

0

Y

N

订单号:

3

goods_id

mediumint

8

0

N

N

商品id:[0,8388607]

4

title

varchar

32

0

Y

N

商品标题:

5

img

varchar

255

0

Y

N

商品图片:

6

price

double

10

2

N

N

0.00

价格:

7

price_ago

double

10

2

N

N

0.00

原价:

8

num

int

10

0

N

N

1

数量:

9

price_count

double

8

2

N

N

0.00

总价:

10

norms

varchar

255

0

Y

N

规格:

11

type

varchar

64

0

N

N

未分类

商品分类:

12

contact_name

varchar

32

0

Y

N

联系人姓名:

13

contact_email

varchar

125

0

Y

N

联系人邮箱:

14

contact_phone

varchar

11

0

Y

N

联系人手机:

15

contact_address

varchar

255

0

Y

N

收件地址:

16

postal_code

varchar

9

0

Y

N

邮政编码:

17

user_id

int

10

0

N

N

0

买家ID:

18

merchant_id

mediumint

8

0

N

N

0

商家ID:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

21

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

22

state

varchar

16

0

N

N

待付款

订单状态:待付款,待发货,待签收,已签收,待退款,已退款,已拒绝,已完成

23

remark

text

65535

0

Y

N

订单备注

24

delivery_state

varchar

16

0

Y

N

未配送

发货状态:未配送,已配送

25

vip_discount

double

11

2

Y

N

0.00

折扣

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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已取消

表product_type (商品类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

product_type_id

int

10

0

N

Y

商品类型ID

2

product_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

更新时间

表regular_users (普通用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

examine_state

varchar

16

0

N

N

已通过

审核状态

5

user_id

int

10

0

N

N

0

用户ID

6

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

email

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

会员折扣

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

4章 关键模块的设计与实现

  • 3 章
    1. 前台用户模块
      1. 登录界面

在登录界面输入账号+密码,点击“登录”按钮,系统在用户数据库表中会对管理员、用户的账号进行匹配,账号+密码正确的话,就会登录到系统中各个用户的主管理界面,否则提示对应的信息,返回到登录的界面,其主界面展示如下图4.1所示。

图4.1 登录界面图

登录代码如下:

/**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostM系统ing("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }

        User byUsername = (User) resultList.get(0);

        Map<String, String> groupMap = new HashMap<>();

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());

            if (res==null){

                return error(30000,"用户不存在");

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            Duration duration = Duration.ofSeconds(7200L);

            redisTemplate.opsForValue().set(accessToken.getToken(), accessToken,duration);

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

    }

      1. 注册界面

当用户想要查询、管理相关信息,就必须进行登录,如果没有账号的话,在登录界面,点击“注册”按钮就会跳转到注册的界面,根据提示填写好注册信息,添加提交,注册的信息在数据库中就添加完成了,然后再输入填写好的账号和密码进行登录,其主界面展示如下图4.2所示。

图4.2 注册界面图

注册代码如下:

/**

     * 注册

     * @param user

     * @return

     */

    @PostM系统ing("register")

    public Map<String, Object> signUp(@RequestBody User user) {

        // 查询用户

        Map<String, String> query = new HashMap<>();

        Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));

        query.put("username",user.getUsername());

        List list = service.selectBaseList(service.select(query, new HashMap<>()));

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        map.put("password",service.encryption(String.valueOf(map.get("password"))));

        service.insert(map);

        return success(1);

}  

      1. 首页界面

普通用户登录系统后,首先进入首页,可查看轮播图、农产品信息、优质农产品、网站公告、农产品资讯等信息详情;可搜索和浏览农产品信息、优质农产品;可将农产品加入团购;可将优质农产品进行加入购物车和立即购买操作;并可收藏农产品信息、优质农产品、农产品资讯等信息。

首页主界面如下图所示。

图4.3 首页主界面图

例如,首页农产品信息详情界面如下图所示。

图4.4 首页农产品信息详情界面图

例如,首页优质农产品详情界面如下图所示。

图4.5 首页优质农产品界面图

      1. 我的界面

可对基本信息、收货地址、收藏、订单、购物车、团购信息、订单配送等信息进行管控和查看其信息详情。例如,可在基本信息中修改资料和修改密码;可添加自己的收货地址;可查看和删除自己的收藏信息,并可管理和支付优质农产品订单;可管理自己加入购物车的产品信息,客人选择性进行购买;可确认团购信息审核状态;可签收订单配送信息。

我的主界面如下图所示。

图4.6 我的主界面图

我的订单界面如下图所示。

图4.7 我的订单界面图

我的团购信息界面如下图所示。

图4.8 我的团购信息界面图

    1. 后台管理模块
      1. 后台首页界面

管理员可在主页查看商品销售金额统计、商品销售数量统计等信息数据分析图表。界面如下图所示。

图4.9后台首页界面图

      1. 公共管理界面

管理员点击“公共管理”可对首页的轮播图和网站公告进行管理,进行增删改查操作,支持标题搜索,可点击查看详情。界面如下图所示。

图4.10公共管理界面图

      1. 用户管理界面

管理员点击“用户管理”可对普通用户和管理员进行管控,包括进行增删改查操作,点击可查看详情。界面如下图所示。

图4.11用户管理界面图

      1. 资讯管理界面

管理员点击“资讯管理”可对农产品资讯和新闻列表进行管理,进行增删改查操作,农产品资讯支持标题、标签、分类搜索,可点击查看详情和查看评论;新闻列表支持频道名称搜索,可点击查看详情。界面如下图所示。

图4.12资讯管理界面图

      1. 商城管理界面

管理员点击“商城管理”可对优质农产品、分类列表、订单列表、订单配送等信息进行管理。

点击“优质农产品”,可查看所有优质农产品信息,进行增删改查操作,支持标题、分类、农产品编号、农产品溯源搜索,可点击详情进行查看和查看评论;

点击“分类列表”,可查看所有分类信息,进行增删改查操作,支持分类搜索,可点击详情进行查看;

点击“订单列表”,可查看所有订单信息,进行查询和删除操作,支持订单号、商品名称、联系人姓名、状态搜索,可点击详情进行查看,和点击进行配送操作;

点击“订单配送”,可查看所有订单配送信息,进行查询和删除操作,支持配送状态、签收状态搜索,可点击详情进行查看,可修改签收状态。

例如,商城管理优质农产品界面如下图所示。

图4.13商城管理优质农产品界面图

例如,商城管理订单列表界面如下图所示。

图4.14 商城管理订单列表界面图

      1. 农产品信息界面

管理员点击“农产品信息”可对农产品信息等信息进行管理,进行增删改查操作,支持商品名称、商品价格搜索,可点击详情进行查看。界面如下图所示。

图4.15 农产品信息界面图

      1. 团购信息界面

管理员点击“团购信息”可对团购信息等信息进行管理,进行增删改查操作,支持商品名称、商品价格搜素,可点击详情进行查看,可审核团购信息。界面如下图所示。

图4.16 团购信息详情界面图

  1. 系统测试
  • 4 章
    1. 系统测试目的

测试是为了发现在开发的程序中所存在的问题,测试这一工作是非常艰巨的,而又是非常困难的,这一部分在程序的设计中占有很大比例,可以说一个程序的开发工作量要是占据了百分至六十,那么剩下的百分之四十必然是测试这一部分,甚至更高。

通过前面章节的介绍,我们可以看到基于微信小程序的农产品商城已经完成了,但是能不能投入使用还是未知,因为在每个项目正式使用之前必须对开发的项目进行测试,如果不进行测试一旦投入使用可能会出现很多未可知的问题,比如使用人数太多导致系统瘫痪,比如某一功能存在bug信息填写错误等,这些错误将给使用者带来很多的困扰,甚至造成更大的损失,因此测试是项目投入使用的最后一步,为用户提供一个运行顺畅、完美的项目也就是我们进行最后测试的目的。

    1. 系统测试用例

(1)登录测试 

登录测试用例如下表所示。

表6-1 登录测试用例

测试用例编号

YL_01

测试用例名称

系统使用者登录

测试用例描述

登录者输入用户名、密码和验证码

系统入口

浏览器

步骤

预期结果

实际结果

输入正确的用户名、密码和验证码

提示“登录成功”,并进入系统

预期结果

输入错误的用户名、密码和验证码

提示“登录失败”,并返回登录界面

预期结果

不输入用户名、密码和验证码

提示“请输入完整”

预期结果

(2)注册测试 

注册测试用例如下表所示。

表6-2 注册测试用例

测试用例编号

YL_02

测试用例名称

系统用户注册账号

测试用例描述

使用者输入用户名、密码以及个人信息进行账号注册

系统入口

浏览器

步骤

预期结果

实际结果

输入系统不存在的用户名、密码和个人信息

提示“注册成功” 

预期结果

输入系统已存在的用户名

提示“注册失败”,并返回注册界面

预期结果

不输入用户名、密码和个人信息

提示“请输入完整”

预期结果

(3)添加农产品资讯测试 

添加农产品资讯测试用例如下表所示。

表6-3 添加农产品资讯测试用例

测试用例编号

YL_04

测试用例名称

系统管理员进行添加农产品资讯

测试用例描述

使用者输入农产品资讯相关信息,例如标题、内容等信息

系统入口

浏览器

步骤

预期结果

实际结果

输入完整的农产品资讯相关信息

提示“添加成功”,并进入系统

预期结果

不输入的农产品资讯运动某一项内容信息

提示“请输入完整”

预期结果

(4)添加优质农产品测试 

添加优质农产品测试用例如下表所示。

表6-4 添加优质农产品测试用例

测试用例编号

YL_04

测试用例名称

系统管理员进行添加优质农产品

测试用例描述

使用者输入优质农产品相关信息,例如资料名称、资料类型等信息

系统入口

浏览器

步骤

预期结果

实际结果

输入完整的优质农产品相关信息

提示“添加成功”,并进入系统

预期结果

不输入的优质农产品某一项内容信息

提示“请输入完整”

预期结果

(4)添加农产品信息测试 

添加农产品信息测试用例如下表所示。

表6-4 添加农产品信息测试用例

测试用例编号

YL_04

测试用例名称

系统管理员进行添加农产品信息

测试用例描述

使用者输入农产品信息相关信息,例如资料名称、资料类型等信息

系统入口

浏览器

步骤

预期结果

实际结果

输入完整的农产品信息相关信息

提示“添加成功”,并进入系统

预期结果

不输入的农产品信息某一项内容信息

提示“请输入完整”

预期结果

    1. 系统测试结果

通过编写基于微信小程序的农产品商城的测试用例,已经检测完毕用户的用户登录、注册、添加农产品资讯、添加优质农产品、添加农产品信息等测试,在对以上功能得测试过程中,发现了系统中的很多漏送并进行了完善,经过多人在线进行测试,系统完全可以正常运行,当然在后期的维护中系统将不断完善。

  1.   

本文利用SpringBoot开源、基于微信小程序配合MySQL数据库技术,通过对农产品销售、购物、交易需求的分析,完成了一个农产品商城。经过调试,系统基本可以满足一个农产品商城的业务需求。系统界面简洁美观,易于操作,并具有自己的特色。

然而,由于时间紧迫和缺乏系统开发经验,以及仅依靠少数问卷调查方式,本系统仍存在一些缺陷和不足之处。其中包括以下问题:

数据输入格式未完全检验:系统并未对所有数据输入进行格式校验,因此难以确保数据的准确性。可能会存在一些不符合规则的数据通过检验。

系统功能不够完善:目前系统提供的在线功能还不够丰富多彩,有待进一步扩展和完善。

此外,本系统还存在一些未解决的漏洞,无法完全避免在实际应用情境中出现错误。但相信通过进一步的改进和完善,可以调试出真正符合实际需求的农产品商城。

在农产品商城设计和开发过程中需要继续努力,解决现有的缺陷和不足,提升系统的稳定性、可靠性和功能性。通过持续的改进和完善,可以使农产品商城真正符合用户的实际需求,并为用户提供更好的使用体验。

参考文献

[1]李卓,王珂,姜丽媛.“互联网+”农业视角下的电商助农小程序商城研究——以“稷原丰村”微信小程序为例[J].商场现代化,2024,(07):24-26.DOI:10.14013/j.cnki.scxdh.2024.07.002.

[2]晁琼,焦博妮,齐琳,等.基于微信小程序的“指上农庄”农产品交易平台设计与实现[J].电脑知识与技术,2023,19(29):40-42.DOI:10.14004/j.cnki.ckt.2023.1512.

[3]覃琼花,徐百宁.基于微信小程序的农产品营销系统设计和实现[J].无线互联科技,2023,20(18):67-70.

[4]唐双林.基于Vue和SpringBoot架构的智能推荐农产品团购销售系统[D].重庆三峡学院,2023.DOI:10.27883/d.cnki.gcqsx.2023.000390.

[5]刘明欣,罗雅过.基于微信小程序的“农百汇”系统设计[J].信息与电脑(理论版),2023,35(01):26-29.

[6]黄岐桂,莫靖聪.互联网+背景下的农产品分销平台研究——以“惠农优果”微信小程序为例[J].中国市场,2022,(25):183-186.DOI:10.13939/j.cnki.zgsc.2022.25.183.

[7]Shaoying W ,Shuo Y ,Fen W .Construction of an Online Shopping Platform Based on DApp[J].International Journal of Distributed Systems and Technologies (IJDST),2022,13(4):1-12.

[8]Anthony F .Transnational Flow of Chinese and UK Fashion Discourse: Analyses of Digital Platforms and Online Shopping in China[J].Fashion Theory,2021,25(7):917-930.

[9]李坤艳,黄克斌,戴扬威,等.基于微信小程序的农产品电子商务平台开发[J].农村经济与科技,2021,32(19):174-176.

[10]李常宝.基于微信小程序的电子商城的设计与开发[J].吕梁教育学院学报,2021,38(03):133-136.

[11]梁紫依,陈玉洁,温家坤,等.微信小程序上农产品购买行为研究[J].现代商业,2021,(25):6-8.DOI:10.14097/j.cnki.5392/2021.25.002.

[12]胡杨林.基于微服务和小程序的电子商城设计与实现[D].西北大学,2021.DOI:10.27405/d.cnki.gxbdu.2021.000827.

[13]曹艳琴.基于微信公众平台的美妆商城小程序的设计与实现[J].信息与电脑(理论版),2021,33(05):121-123.

[14]丁嘉懿,陈志民,尹卓轩,等.基于微信小程序的农产品可溯源电商平台开发[J].南方农业,2021,15(04):71-74.DOI:10.19415/j.cnki.1673-890x.2021.04.017.

[15]陆建军.基于微信小程序的精准扶贫电商平台设计[J].现代信息科技,2020,4(14):87-89.DOI:10.19850/j.cnki.2096-4706.2020.14.026.

[16]肖飞.基于微信开发平台的农业电子商务平台的设计与实现[D].山东理工大学,2020.DOI:10.27276/d.cnki.gsdgc.2020.000346.

[17]傅伟,涂刚,张贤龙.基于微信小程序的电子商城设计与实现[J].电脑编程技巧与维护,2020,(03):60-62.DOI:10.16184/j.cnki.comprg.2020.03.022.

[18]钱丽丹,刘志文.基于微信小程序的农产品分享系统的设计与开发[J].南方农机,2020,51(05):23-24.

[19]郭学超.基于微信小程序的土特产商城开发[J].安徽电子信息职业技术学院学报,2019,18(06):6-11.

[20]洪运维,黄江涛,廖剑平.基于微信小程序的精准扶贫电商平台智慧管理[J].广西农学报,2019,34(06):45-49.

结束语

至此论文结束,感谢您的阅读。在此我要特别的感谢我的导师,虽然我在实习期间很忙,论文撰写的时候经常是停停改改,但是我的导师依旧十分的负责,时不时的询问我的任务进展情况,跟进我的论文进度,在指导老师的帮助下,我逐步完成了自己的论文和程序,从导师身上也学习到很多知识和经验,这些知识和经验令我受益匪浅。同时我也从导师身上看到了自己的不足,不论是在技术层面上还是在对待工作的态度上,导师如同明镜一般照出了我的缺点我的不足。此外,我还要感谢在我实习期间在论文和程序上帮助过我的同学和社会人士,此前我对于springboot方面的一些知识还不了解,是他们在我编写程序过程中给了我很多的启发和感想,也帮助了我对于程序的调试和检测。没有他们我是不能顺利完成本次毕业设计的。至此,我的毕业设计就花上了一个圆满的句号了。

免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~

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

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

相关文章

上位机图像处理和嵌入式模块部署(mcu项目1:用户手册)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 一个完整的产品&#xff0c;除了上位机软件、固件、硬件、包装之外&#xff0c;一般还需要一个用户手册。好的用户手册应该能够兼顾到大多数人的认…

开发个人Go-ChatGPT--1 项目介绍

开发个人Go-ChatGPT--1 项目介绍 开发个人Go-ChatGPT--1 项目介绍知识点大纲文章目录项目地址 开发个人Go-ChatGPT–1 项目介绍 本文将以一个使用Ollama部署的ChatGPT为背景&#xff0c;主要还是介绍和学习使用 go-zero 框架&#xff0c;开发个人Go-ChatGPT的服务器后端&#x…

电脑为什么会提示丢失msvcp140.dll?怎么修复msvcp140.dll文件会靠谱点

电脑为什么会提示丢失msvcp140.dll&#xff1f;其实只要你的msvcp140.dll文件一损坏&#xff0c;然而你的电脑程序需要运用到这个msvcp140.dll文件的时候&#xff0c;就回提示你丢失了msvcp140.dll文件&#xff01;因为没有这个文件&#xff0c;你的很多程序都用不了的。今天我…

Redis基础教程(十三):Redis lua脚本

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; &#x1f49d;&#x1f49…

[240706] 史蒂夫·乔布斯近40年前就预言了苹果智能 | Globalping 用于网络诊断和性能测试的命令行工具

目录 史蒂夫.乔布斯近40年前就预言了苹果智能Globalping 用于网络诊断和性能测试的命令行工具功能1. Ping2. Traceroute3. DNS 查询4. HTTP 请求 使用场景1. 网络性能监测2. 故障排除3. 网站性能优化4. 服务可用性监控 优势1. [全球覆盖](https://www.jsdelivr.com/network)2. …

[Vite]Vite插件生命周期了解

[Vite]Vite插件生命周期了解 Chunk和Bundle的概念 Chunk&#xff1a; 在 Vite 中&#xff0c;chunk 通常指的是应用程序中的一个代码片段&#xff0c;它是通过 Rollup 或其他打包工具在构建过程中生成的。每个 chunk 通常包含应用程序的一部分逻辑&#xff0c;可能是一个路由视…

5个实用的文章生成器,高效输出优质文章

在自媒体时代&#xff0c;优质内容的持续输出是吸引读者、提升影响力的关键。然而&#xff0c;对于许多自媒体创作者来说&#xff0c;频繁的创作难免会遭遇灵感枯竭、创作不出文章的困扰。此时&#xff0c;文章生成器便成为了得力的助手。文章生成器的优势能够快速自动生成高质…

C++怎么解决不支持字符串枚举?

首先&#xff0c;有两种方法&#xff1a;使用命名空间和字符串常量与使用 enum class 和辅助函数。 表格直观展示 特性使用命名空间和字符串常量使用 enum class 和辅助函数类型安全性低 - 编译器无法检查字符串有效性&#xff0c;运行时发现错误高 - 编译期类型检查&#xf…

SCI论文发表:构建清晰论文框架的10个原则 (附思维导图,建议收藏)

我是娜姐 迪娜学姐 &#xff0c;一个SCI医学期刊编辑&#xff0c;探索用AI工具提效论文写作和发表。 论文框架是什么&#xff1f;对我们完成一篇论文有哪些作用&#xff1f; 之前娜姐分享过一篇深圳湾实验室周耀旗教授关于论文写作的文章&#xff0c;他提出的第一个重要原则就…

Linux笔记之二

Linux笔记之二 一、文件属性学习二、软链接和硬链接1.软链接2.硬链接 三、Vim编辑器四、账号管理总结 一、文件属性学习 Linux 系统是一种典型的多用户系统&#xff0c;不同的用户处于不同的地位&#xff0c;拥有不同的权限。为了保护系统的安全性&#xff0c;Linux系统对不同…

前后端分离系统

前后端分离是一种现代软件架构模式&#xff0c;特别适用于Web应用开发&#xff0c;它强调将用户界面&#xff08;前端&#xff09;与服务器端应用逻辑&#xff08;后端&#xff09;相分离。两者通过API接口进行数据交互。这种架构模式的主要优势在于提高开发效率、维护性和可扩…

【LInux】从动态库的加载深入理解页表机制

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

Xilinx FPGA:vivado关于同步fifo的两个小实验

一、实验一&#xff1a;在同步fifo里写一个读一个&#xff08;写入是8个位宽&#xff0c;读出是16个位宽&#xff09; 程序&#xff1a; timescale 1ns / 1ps //要求写一个读一个 //读写时钟一致&#xff0c;写是8个位宽&#xff0c;读是16个位宽 module sync_fifo_test(inpu…

Nuxt框架中内置组件详解及使用指南(一)

title: Nuxt框架中内置组件详解及使用指南&#xff08;一&#xff09; date: 2024/7/6 updated: 2024/7/6 author: cmdragon excerpt: 本文详细介绍了Nuxt框架中的两个内置组件和的使用方法与功能。确保包裹的内容仅在客户端渲染&#xff0c;适用于处理浏览器特定功能或异步…

ubuntu 22 安装 lua 环境 编译lua cjson 模块

在 windows 下使用 cygwin 编译 lua 和 cjson 简直就是灾难&#xff0c;最后还是到 ubuntu 下完成了。 1、下载lua源码&#xff08;我下载的 5.1 版本&#xff0c;后面还有一个小插曲), 直接解压编译&#xff0c;遇到一个 readline.h not found 的问题&#xff0c;需要安装 re…

MySQL篇三:数据类型

文章目录 前言1. 数值类型1.1 tinyint类型1.2 bit类型1.3 小数类型1.3.1 float1.3.2 decimal 2. 字符串类型2.1 char2.2 varchar2.3 char和varchar比较 3. 日期类型4. enum和set 前言 数据类型分类&#xff1a; 1. 数值类型 1.1 tinyint类型 在MySQL中&#xff0c;整型可以指…

论文略读:Learning and Forgetting Unsafe Examples in Large Language Models

随着发布给公众的大语言模型&#xff08;LLMs&#xff09;数量的增加&#xff0c;迫切需要了解这些模型从第三方定制的微调数据中学习的安全性影响。论文研究了在包含不安全内容的噪声定制数据上微调的LLMs的行为&#xff0c;这些数据集包含偏见、毒性和有害性 发现虽然对齐的L…

【Unity数据存储】Unity中使用SqLite数据库进行数据持久化

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 专栏交流&#x1f9e7;&…

Ubuntu 22.04远程自动登录桌面环境

如果需要远程自动登录桌面环境&#xff0c;首先需要将Ubuntu的自动登录打开&#xff0c;在【settings】-【user】下面 然后要设置【Sharing】进行桌面共享&#xff0c;Ubuntu有自带的桌面共享功能&#xff0c;不需要另外去安装xrdp或者vnc之类的工具了 点开【Remote Desktop】…

解决IDEA每次新建项目都需要重新配置maven的问题

每次打开IDEA都要重新配置maven&#xff0c;这是因为在DEA中分为项目设置和全局设置&#xff0c;这个时候我们就需要去到全局中设置maven了。我用的是IntelliJ IDEA 2023.3.4 (Ultimate Edition)&#xff0c;以此为例。 第一步&#xff1a;打开一个空的IDEA&#xff0c;选择左…