摘 要
随着移动互联网的普及,微信小程序凭借其无需下载安装、使用即走的便捷性逐渐成为新兴的电商平台。本设计围绕零食商城这一垂直细分市场,开发了一款集商品浏览、在线下单、支付交易及用户互动等功能于一体的微信小程序。在后端开发中采用了稳定性高的Node.js环境,并结合MySQL数据库进行数据存储与管理。小程序前端界面设计简洁友好,便于用户快速了解商品信息并进行购买。小程序还提供了完善的用户服务和售后支持,确保用户的权益。该零食商城微信小程序为用户提供了一个高效的销售渠道,也让用户享受到便捷的购物体验。
零食商城微信小程序是在实际应用和软件工程的开发原理之上,运用nodejs语言,前台b/s架构,以及后台nodejs技术,mysql数据库进行开发。本篇论文将首先阐述系统的选题背景与实际含义,其次信息介绍系统的开发环境,以及整体设计流程与实际操作步骤,最终在对系统与软件的检测案例进行介绍,从而通过本文完全展现出整个毕业设计的详细流程。
【关键词】零食商城; nodejs技术;mysql数据库;
Abstract
With the popularity of mobile Internet, wechat mini program has gradually become an emerging e-commerce platform with its convenience without downloading and installing. This design focuses on the vertical market segment of snack mall, and develops a wechat mini program that integrates the functions of commodity browsing, online ordering, payment transaction and user interaction. In the back-end development, the Node.js environment with high stability is adopted, and the data storage and management are combined with MySQL database. Small program front-end interface design is simple and friendly, easy for users to quickly understand the product information and purchase. The small program also provides perfect user service and after-sales support to ensure the rights and interests of users. The wechat mini program of the snack mall provides users with an efficient sales channel and a convenient shopping experience.
Wechat mini program is based on the development principle of practical application and software engineering, using nodejs language, foreground b/s architecture, and background nodejs technology, mysql database for development. This paper will first elaborate the background and practical meaning of the system's topic selection, then introduce the development environment of the system, as well as the overall design process and practical operation steps, and finally introduce the testing cases of the system and software, so as to fully show the detailed process of the entire graduation design through this paper.
【 Key words 】 Snack mall; nodejs technology; mysql database;
目 录
1 引言
1.1 选题背景与意义
随着互联网技术的飞速发展和移动支付手段的广泛应用,线上购物已成为人们日常生活的重要组成部分。特别是在快节奏的城市生活中,人们越来越倾向于通过在线平台购买日常所需的各类商品,其中零食作为广受欢迎的消费品类,市场需求日益增长。传统的零食销售模式受限于物理位置、营业时间等因素,无法满足用户随时随地购物的需求。开发一个便捷、高效的零食商城微信小程序,可以拓宽零食市场的销售渠道,还可以提升用户的购物体验。零食商城微信小程序的设计与实现,在探索移动互联网环境下零食零售的新模式。
设计零食商城微信小程序对于提升零食行业的服务质量和管理效率具有重要意义。小程序依托微信庞大的用户基础,为用户提供了一个低成本、高效率的产品推广和销售平台,有助于企业捕捉更多商机并扩大市场份额。对于用户而言,这款小程序实现了“随手买、随时买”的购物模式,极大地提升了购物便利性。从而提高用户的购物满意度和忠诚度。小程序还具有社交分享功能,用户可以将喜欢的商品或购物体验分享到社交网络,形成自然的广告效应,这对用户品牌形象的提升和口碑营销具有积极作用。该零食商城微信小程序的开发符合当下用户对快捷消费渠道的需求,也为零食行业提供了一种创新的营销模式,具有广阔的市场前景和社会价值。
1.2 国内外研究现状
在中国,随着微信小程序的兴起和普及,越来越多的企业和开发者开始关注小程序在电商领域的应用。零食商城作为其中一个细分市场,受到了广泛的关注。国内的研究者和开发者致力于优化小程序的用户界面设计、提升交互体验以及加强后端数据处理能力。众多高校和科研机构也在探索将大数据分析和人工智能技术应用于微信小程序中,以实现更加智能化的商品推荐和客户服务。面对国内激烈的市场竞争环境,有关如何利用小程序进行有效营销、提高转化率的研究也在持续进行中。由于微信小程序的发展时间相对较短,关于其用于零食行业的研究尚未形成一套完整成熟的理论和应用体系。
国外的研究更多集中在移动应用和电子商务平台的整合使用上。虽然微信小程序在国外的使用并不像在国内那样普及,但国外研究者对于移动电商平台的用户体验、界面设计、推荐系统等方面的研究成果依然具有借鉴意义。国外有关电商平台的研究较早开始,尤其在用户行为分析、个性化服务以及数据挖掘技术等方面拥有较为深入的研究。这些研究为微信小程序在零食商城的应用提供了宝贵的经验和技术支持。由于文化背景和市场环境的差异,国外的研究成果并不能完全适用于中国的零食商城微信小程序,需要结合国内市场的实际情况进行相应的调整和优化。
1.3 研究的主要内容
本小程序是使用nodejs作为后端开发语言,使用nodejs技术开发的。mysql数据库用于数据的存储和操作。开发采用html、css、javascript、uni等流行的前端框架,使界面设计和用户交互更加直观、方便。在开发工具方面,选择了eclipse、微信开发者工具和navicat。eclipse作为成熟的开发工具,提供了丰富的功能和强大的支持,navicat作为数据库管理工具,提供了友好的用户界面和强大的sql处理能力。从而大大提高了开发效率。系统分小程序端和后台管理员模块,主要实现对用户、零食分类、零食商城、系统管理、订单管理、用户信息等进行详细操作。小程序到做到页面简洁,基础功能全面,操作快捷方便等目标。
2 平台开发相关技术
2.1 nodejs技术
Node.js是一个基于Chrome V8引擎的JavaScript运行环境。它的设计目标是实现一个轻量级、高效、可扩展的网络应用开发平台。Node.js采用事件驱动、非阻塞I/O模型,使其轻量又高效,非常适合处理高并发请求。Node.js的核心模块提供了一些基本的API,如文件操作、网络通信等。此外,还有丰富的第三方模块可供选择,如Web框架Express、模板引擎EJS、数据库模块MongoDB等。这些模块可以帮助开发者快速构建各种类型的网络应用。与传统的后端开发语言(如Java、NODEJS)相比,Node.js具有以下优势:
(1)单线程:Node.js采用单线程模型,避免了多线程带来的资源竞争和上下文切换开销。这使得Node.js在处理高并发请求时表现出色。
(2)异步非阻塞:Node.js采用异步非阻塞I/O模型,可以同时处理多个I/O操作,提高了程序的执行效率。
(3)事件驱动:Node.js基于事件驱动模型,可以更好地处理用户输入、网络请求等外部事件。这使得Node.js更适合构建实时应用和服务器端应用。
(4)跨平台:Node.js支持多种操作系统,如Windows、Linux、Mac OS等。这使得开发者可以在不同的平台上进行开发和部署。
(5)社区活跃:Node.js拥有庞大的开发者社区,提供了大量的第三方模块和教程。这使得开发者可以快速学习和掌握Node.js技术。
Node.js是一个轻量级、高效、可扩展的网络应用开发平台。它采用事件驱动、非阻塞I/O模型,适合处理高并发请求。通过丰富的第三方模块和活跃的社区支持,开发者可以快速构建各种类型的网络应用。然而,Node.js也存在一些不足之处,需要开发者在实际项目中加以注意。
2.2 MySQL数据库
MySQL是一个开源的关系型数据库管理系统,它使用结构化查询语言作为访问和管理数据的主要方式。MySQL具有高性能、稳定性强、易于使用和扩展等优点,因此被广泛应用于各种规模的企业和组织中。MySQL支持多种操作系统,包括Windows、Linux和Mac OS等。它提供了丰富的功能和工具,如存储过程、触发器、视图、索引等,可以满足不同应用场景的需求。此外,MySQL还支持多用户并发访问和事务处理,保证了数据的一致性和完整性。在实际应用中,MySQL通常与Web应用程序一起使用,作为后端数据库来存储和管理数据。
2.3 B/S架构
B/S(Browser/Server,浏览器/服务器)架构是目前软件开发中最常用的软件结构。在很大程度上减轻了用户机的负担,只要安装、配置少量的用户端运行软件在用户机上就可以了,大量的工作将有服务器承担。
B/S系统的最强大的优点是他可以很好地让用户机的工作量被大量的简化掉,而对于用户机来说就可以只配置很少的在用户端上来运行的软件就可以实现了,也就是说这其中的最大部分的工作就会安置在服务器上,由服务器来执行,这样说来服务器的主要的任务就是实现数据库的访问以及应用程序的执行操作。
2.4 微信小程序
微信小程序是一种不需要下载安装即可使用的应用。这种全新的连接用户与服务的方式,可以在微信内被便捷地获取和传播,同时具有出色的使用体验。它介于原生app、和web app之间,通过微信进行加载,实现类似原生app的流畅。用户只需要扫一扫或搜一下即可打开应用。
自2017年1月9日正式上线以来,小程序已经成为一个独立的体系,与订阅号、服务号、企业号并行。任何个人、企业和组织都可以拥有属于自己的小程序。全面开放申请后,主体类型可以为企业、政府、媒体、其他组织或个人的开发者,均可申请注册小程序。
3系统需求分析
系统需求分析是软件工程中非常重要的一步,它涉及到对用户需求的理解和转化。在这个阶段,我们需要与用户进行深入的交流,了解他们的需求和期望,并将这些信息转化为具体的功能和性能要求。在进行系统需求分析时,我们需要考虑到对性能分析、可行性分析、用例分析和系统流程分析等方面。
3.1性能需求分析
系统的性能是指操作系统在完成现有程序时的有效性、稳定性和响应速度。操作系统完成任务与系统本身的设计、路由、网络性能测试以及设备使用等方面密切相关。如果任何一个环节出现问题,都会对整个系统的性能产生影响。因此,需要对网络设置、系统运行、硬件组合和程序应用等方面进行全面检查,然后集中解决其中的问题。
在程序的应用、系统的运行、硬件的组合和网络的设置等方面,对性能影响最大的是程序的应用和系统的运行,因为这两个问题不容易被发现,隐蔽性很强。而硬件的组合和网络设置一旦有问题,一般都能立即发现。因此,我们需要了解系统的运行性能和运行思路,并针对应用程序的具体问题制定具体的解决方案。本次设计的主要任务是设计并开发一个零食商城微信小程序软件。
3.2系统可行性分析
(1)经济可行性:因为本设计对系统的本身研发不需要过多的资金成本,设计系统技术是nodejs,所用JavaScript的编程语言,后台MySQL数据库,移动通讯设备,这些都是免费开源的,再加上本设计的目标系统并不复杂,软硬件的输出也是十分有限的。程序设计出来之后会对其进行检测并运行,不仅给人们带来了便利,也推广了产品的使用。
(2)技术可行性:技术可行性是分析系统都需要用到哪些技术知识,语法是否规范标准,代码量多大,是否具有可移植性,于是此平台是开源、免费移动终端平台。因此结合技术层面而言,可行度较高。其次,系统的运作只需依托移动通讯设备,同时将web作为服务器端,操作简便,且顺利运作。
(3)操作可行性:将根据管理系统中的用户体验和管理员的效率来分析该措施的可行性。管理人员和用户都可以通过简单的操作登录进对应的系统页面,方便用户搜索信息和管理人员管理数据,不需要特别懂电脑的人也可以轻松访问系统模块。该系统易于上手,方便可行。
(4)法律可行性:该系统的管理员会遵守法律规定对用户们进行管理,并不会出现非法交易活动,发布有害信息。
3.3 系统用例分析
本管理系统的用例图根据角色权限进行分类,主要可分为管理员用例和用户用例。
(1)管理员用例图
管理员用例图依据管理员的权限需求以及对系统的管理需求进行分析,主要包括了系统主页、用户、零食分类、零食商城、系统管理、订单管理、用户信息等,管理员用例图如下所示:
图3-1 管理员用例图
用户用例图根据用户的需求进行分析,包括我的服务、我的收藏、用户充值、修改密码等。用户用例图如下所示:
图3-2用户用例图
3.4系统流程分析
流程图是一种图形化表示系统执行过程的工具,通过使用具体的符号和线条来描述系统的步骤。它提供了一个完整的实施过程,并能够帮助团队发现设计中的缺陷和不足,以便及时修正和改进系统。流程图可以用于分析和细分系统的需求和相关流程,对于设计人员来说,它是提高逻辑思维和指导后续操作的重要工具。在系统设计中,程序的设计是最重要的部分,而流程图则是设计过程中的关键工具之一。
3.4.1 登录流程图
登录流程是该系统的第一个流程,登录的第一步是输入账号、密码登录,系统会验证账号与密码是否正确,正确时系统会判断账号类型再进入不同的后台;不正确时,会返回到登录的第一步,输入用户重新执行登录流程。该流程如图3-3所示。
图3-3登录流程图
3.4.2 添加新用户流程图
添加新用户的流程是先查询新用户名是否已存在,如已有该用户名,需重拟用户名并同时输入新用户的其它信息,添加新用户到数据库时会先验证数据是否完整,信息都正确且完整时,返回并刷新用户列表;信息不正确时,会返回输入信息的那一步。该流程如图3-4所示。
图3-4添加新用户流程图
4 系统软件的总体设计
4.1 系统总体架构设计
系统功能结构图是系统设计阶段,系统功能结构图只是这个阶段一个基础,整个系统的架构决定了系统的整体模式,是系统的根据。零食商城微信小程序的整个设计结构如图4-1所示。
图4-1 总体功能结构图
4.2 系统数据库的设计
对于零食商城微信小程序而言,数据库中最核心的数据就是信息,并且有许多其他关联数据都储存于数据库中。随着时间推移,将发布大量信息于本系统中,届时数据库中也将蕴藏海量数据。一个优秀的数据库设计方案能在保证系统能够高效处理大量数据的同时保证系统的安全性。因此,在本零食商城微信小程序设计方案中将数据库的设计摆在重要位置,将数据库设计视为系统设计的重要内容。
4.2.1数据库E/R图
E-R图,是通过用户的想法将一些数据形成一种关系结构,这种关系结构也可视为一种概念模型,而数据库的数据处理可以通过概念模型表现直观反映出来。由于E-R图是从用户的角度设立的模型,因此系统E-R图具有很强的实践意义。在系统中将对“订单、购物车、用户、零食商城、零食资讯”等作为实体,它们的局部E-R图,如图4-2所示:
图4-2局部E-R图
4.2.2 数据库表
在数据库设计中,每个数据表都应该正确规划,每个数据表中的属性设计应该是完整的,命名应该是标准化的。具体表如下所示:
表4-1:零食商城评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
avatarurl | longtext | 4294967295 | 头像 | ||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
reply | longtext | 4294967295 | 回复内容 |
表4-2:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 | ||
url | varchar | 500 | url |
表4-3:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
image | varchar | 200 | 头像 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-4:系统简介
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
subtitle | varchar | 200 | 副标题 | ||
content | longtext | 4294967295 | 内容 | ||
picture1 | longtext | 4294967295 | 图片1 | ||
picture2 | longtext | 4294967295 | 图片2 | ||
picture3 | longtext | 4294967295 | 图片3 |
表4-5:关于我们
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
subtitle | varchar | 200 | 副标题 | ||
content | longtext | 4294967295 | 内容 | ||
picture1 | longtext | 4294967295 | 图片1 | ||
picture2 | longtext | 4294967295 | 图片2 | ||
picture3 | longtext | 4294967295 | 图片3 |
表4-6:收藏表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
refid | bigint | 商品id | |||
tablename | varchar | 200 | 表名 | ||
name | varchar | 200 | 名称 | ||
picture | longtext | 4294967295 | 图片 | ||
type | varchar | 200 | 类型 | 1 | |
inteltype | varchar | 200 | 推荐类型 | ||
remark | varchar | 200 | 备注 |
表4-7:零食资讯分类
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
typename | varchar | 200 | 分类名称 |
表4-8:零食资讯
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
introduction | longtext | 4294967295 | 简介 | ||
typename | varchar | 200 | 分类名称 | ||
name | varchar | 200 | 发布人 | ||
headportrait | longtext | 4294967295 | 头像 | ||
clicknum | int | 点击次数 | 0 | ||
clicktime | datetime | 最近点击时间 | |||
thumbsupnum | int | 赞 | 0 | ||
crazilynum | int | 踩 | 0 | ||
storeupnum | int | 收藏数 | 0 | ||
picture | longtext | 4294967295 | 图片 | ||
content | longtext | 4294967295 | 内容 |
表4-9:零食商城
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shangpinbianhao | varchar | 200 | 商品编号 | ||
shangpinmingcheng | varchar | 200 | 商品名称 | ||
lingshifenlei | varchar | 200 | 零食分类 | ||
tupian | longtext | 4294967295 | 图片 | ||
guige | varchar | 200 | 规格 | ||
baozhuang | varchar | 200 | 包装 | ||
shengchanriqi | date | 生产日期 | |||
baozhiqi | varchar | 200 | 保质期 | ||
shangpinxiangqing | longtext | 4294967295 | 商品详情 | ||
onelimittimes | int | 单限 | |||
alllimittimes | int | 库存 | |||
clicktime | datetime | 最近点击时间 | |||
clicknum | int | 点击次数 | 0 | ||
discussnum | int | 评论数 | 0 | ||
price | double | 价格 | |||
storeupnum | int | 收藏数 | 0 |
表4-10:零食分类
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
lingshifenlei | varchar | 200 | 零食分类 |
表4-11:用户
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
mima | varchar | 200 | 密码 | ||
xingbie | varchar | 200 | 性别 | ||
touxiang | longtext | 4294967295 | 头像 | ||
dianhuahaoma | varchar | 200 | 电话号码 | ||
money | double | 余额 | 0 |
表4-12:购物车表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
tablename | varchar | 200 | 商品表名 | lingshishangcheng | |
userid | bigint | 用户id | |||
goodid | bigint | 商品id | |||
goodname | varchar | 200 | 商品名称 | ||
picture | longtext | 4294967295 | 图片 | ||
buynumber | int | 购买数量 | |||
price | double | 单价 | |||
goodtype | varchar | 200 | 商品类型 |
表4-13:地址
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
address | varchar | 200 | 地址 | ||
name | varchar | 200 | 收货人 | ||
phone | varchar | 200 | 电话 | ||
isdefault | varchar | 200 | 是否默认地址[是/否] |
表4-14:订单
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
orderid | varchar | 200 | 订单编号 | ||
tablename | varchar | 200 | 商品表名 | lingshishangcheng | |
userid | bigint | 用户id | |||
goodid | bigint | 商品id | |||
goodname | varchar | 200 | 商品名称 | ||
picture | longtext | 4294967295 | 商品图片 | ||
buynumber | int | 购买数量 | |||
price | double | 价格 | 0 | ||
total | double | 总价格 | 0 | ||
type | int | 支付类型 | 1 | ||
status | varchar | 200 | 状态 | ||
address | varchar | 200 | 地址 | ||
tel | varchar | 200 | 电话 | ||
consignee | varchar | 200 | 收货人 | ||
logistics | longtext | 4294967295 | 物流 | ||
remark | varchar | 200 | 备注 | ||
goodtype | varchar | 200 | 商品类型 | ||
sfsh | varchar | 200 | 是否审核 | ||
shhf | longtext | 4294967295 | 审核回复 | ||
role | varchar | 200 | 用户角色 |
5 系统软件功能的具体实现
5.1小程序端实现
5.1.1登录界面的实现
首先双击打开小程序客户端,连上网络之后会显示出本系统的登录界面,这是进入小程序的初始页面“登录”,能成功进入到该登录界面则代表小程序的开启是成功的,接下来就可以操作本系统所带有的其他所有的功能。登录界面如图5-1所示。
图5-1 登录界面
5.1.2注册界面的实现
第一次使用本小程序的使用者,首先是要进行注册,点击“注册”,然后就会进入到注册的页面里面,将用户信息录入注册表,确认信息正确后,系统才会进入登录界面,用户登录成功后可使用本小程序所提供的所有功能。注册界面如图5-2所示。
图5-2 注册界面
5.1.3 小程序首页功能的实现
小程序首页是用户注册登录后进入的第一个界面,在这里,人们能够看到小程序的导航条,内容包括首页、零食商城、购物车、我的等。小程序首页界面如图5-3所示。
图5-3 小程序首页界面图
零食商城:在零食商城页面可以查看到商品名称、零食分类、商品编号、规格、包装、生产日期、保质期、库存、点击次数、评论数、收藏数等详细信息,并进行加入购物车、立即购买或收藏操作;零食商城详情如图5-4所示。
图5-4零食商城详情界面图
5.1.4用户功能
用户登录成功后,点击“我的”可以对我的服务、我的收藏、用户充值、修改密码等进行详细操作。用户功能界面如图5-5所示。
图5-5用户功能界面图
5.2系统管理员模块实现
在登录流程中,用户首先在uni前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。管理员登录界面图5-6所示。
图5-6 管理员登录界面
管理员进入主页面,主要功能包括对系统主页、用户、零食分类、零食商城、系统管理、订单管理、用户信息等进行操作。管理员主页面如图5-7所示:
图5-7管理员主界面
用户功能在视图层(view层)进行交互,比如点击“查找、添加或删除”按钮或填写用户信息表单。这些用户表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除用户信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便用户功能可以看到最新的信息或相应的操作反馈。用户界面如图5-8所示:
图5-8用户界面
零食分类功能在视图层(view层)进行交互,比如点击“查找、添加或删除”按钮或填写零食分类信息表单。这些零食分类表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除零食分类信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便零食分类功能可以看到最新的信息或相应的操作反馈。零食分类界面如图5-9所示:
图5-9零食分类界面
零食商城功能在视图层(view层)进行交互,比如点击“查找、添加或删除”按钮或填写零食商城信息表单。这些零食商城表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改、查看评论或删除零食商城信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便零食商城功能可以看到最新的信息或相应的操作反馈。零食商城界面如图5-10所示:
图5-10零食商城界面
系统管理,零食资讯分类功能在视图层(view层)进行交互,比如点击“查找、添加或删除”按钮或填写零食资讯分类信息表单。这些零食资讯分类表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除零食资讯分类信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便零食资讯分类功能可以看到最新的信息或相应的操作反馈。还可以对关于我们、系统简介、轮播图管理、零食资讯进行相应操作;零食资讯分类界面如图5-11所示:
图5-11系统管理界面
订单管理;已支付订单功能在视图层(view层)进行交互,比如点击“查找或删除”按钮或填写已支付订单信息表单。这些已支付订单表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改已支付订单信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便已支付订单功能可以看到最新的信息或相应的操作反馈。还可以对已退款订单、已发货订单、未支付订单、已完成订单、已取消订单进行相应操作,已支付订单界面如图5-12所示:
图5-12订单管理界面
6 系统测试与运行维护
系统测试是系统开发的最后一部也是最重要的一步,能看出其作用在系统开发中占据了很重要的地位。本章将通过系统测试来发现零食商城微信小程序中出现的各种问题并立刻做出改正,以确保系统中的功能模块能够准确实现。
6.1系统测试的目的
任何人系统开发中也不能保证没有一点错误,在开发的过程中错误是不可避免的,所以在发现错误时要及时改正,不能让错误一直存在,否则会引发系统崩溃等不可小觑的后果,所以才需要系统测试来在一定程度上避免这些问题的发生。在测试中发现错误并及时改正才会让系统长久稳定的运行,虽然这是耗时耗力的,但为了系统能够长期使用,系统测试这一步骤也是十分重要的。
为实现系统中各个模块的功能,系统测试是必须的,这样才能判定系统是否能准确的实现预想的功能。在正式使用系统前必要的步骤就是针对系统进行测试,确保系统的准确性,以供使用。
6.2 系统测试方法
在测试中发现问题一定要立马寻找解决办法,不要妄图通过偶然的概率对错误不管不问,只有认真测试解决问题,才能保证零食商城微信小程序的质量,可以极大的缩短开发的时间。
测试时不要一错再错,同样的错误一起解决,这样才能提高系统的稳定性和安全性。
6.3 功能测试
下面对登录模进行测试,表格里分别是输入用户名和密码后的三种不同的结果,当用户名错误时会提示用户名错误,当密码错误时会提示密码错误,当账户与密码都正确时会提示登录成功,如果以用户的账户密码登录管理员模块会提示登录失败。登录模块测试如表6-1所示。
表6-1 登录测试
通过删除一则最新通知,来判断此功能是否通过测试,当选择删除这个模块时,会提示是否确认删除,确认后会提示删除成功,页面自动跳转。删除模块测试如表6-2所示。
表6-2 删除模块测试
通过输入错误的原密码、不一致的新密码和正确的密码来测试修改密码的功能是否通过测试。修改密码模块测试如表6-3所示。
表6-3 修改密码测试
通过上述功能测试,结合测试结果可以看出,该项目的基本功能是可以实现的,系统中的功能很全面并且界面设计简洁清晰,最终通过了系统测试。
7 结论
本文完成了零食商城微信小程序的设计与实现。在开始之前,我们对此课题的背景进行了分析,以证明其可行性。为了达到预期效果,我们首先明确了整个系统的需求。我们从功能性需求和系统设计两个方面入手。在功能性需求分析中,我们主要从使用系统的两个不同角色的角度来阐述整个系统的功能。另一方面,我们对系统的功能性需求进行了分析,主要关注系统开发完成后在实际使用中的可行性问题。
在了解了系统的功能需求后,我们开始设计代码的主要架构。接下来是对系统数据库的具体设计,明确系统中的实体以及它们之间的关系。在对系统功能需求和设计框架有了全面了解之后,我们开始编写代码。完成编写后,我们对系统进行了测试和完善漏洞,以实现预期效果。
一个完整的系统实现从0到1的跨越是由众多小细节汇聚而成的。在前期,我们需要有计划、有目的地了解用户需求,并根据需求合理设计系统架构和数据库。开发一个完整的系统并非易事,需要有足够的耐心去了解细节,抱着不断求知的心理一砖一瓦地搭建整个系统。系统仍然有需要进一步考量和完善的地方,需要日后多多实践体验并积累更多经验。只有不断地发现问题,才能使系统变得更加完善。
参考文献
[1]郑戟明,董云朝,柳青.MySQL数据库数据导入导出方法的探讨[J].电脑知识与技术,2022,18(22):24-25.
[2]吴锋珍.基于主从同步的MySQL负载均衡设计与部署[J].湖南邮电职业技术学院学报,2022,21(02):40-43.
[3]焦宇,李民,王欢等.基于MySQL性能调优的推荐系统优化设计[J].软件导刊,2022,21(09):108-112
[4]江家龙. 基于Vue.js框架的餐饮Web APP设计与实现 [J]. 科技创新与应用, 2023, 13 (36): 128-132+136.
[5]王永录, 崔拯庶, 曹亚男, 张涛, 潘涛. 基于Spring Boot+Vue的假位置构建及可视化系统的设计 [J]. 集成电路应用, 2023, 40 (12): 33-35.
[6]张豪, 朱石磊, 胡建华, 杨洁. 基于B/S架构的校园论坛系统的设计与实现 [J]. 电脑知识与技术, 2023, 19 (33): 32-35.
[7]李淑玲, 朱彤. 基于Node.js技术的在线测试系统设计方案 [J]. 科技资讯, 2023, 21 (19): 35-38.
[8]黄铄,林锴,戚耀中,黄浩贤,陈源濠.微信小程序安全问题浅析[J].数字通信世界,2023(05):81-83.
[9]黄寿孟,刘小飞,韩强,陆娇娇,焦萍萍.基于微信小程序的计算机类课程教学平台的设计及应用[J].现代计算机,2023,29(08):104-107+112.
[10]Anirban Ghoshal. Oracle’s MySQL HeatWave gets Vector Store, generative AI features [J]. InfoWorld.com, 2023,
[11]Zhang Xiao, Yu Ali, Wang Xin, Zhang Xue. Sports Work Strategy of College Counselors Based on MySQL Database Big Data Analysis [J]. International Journal of Information Technology and Web Engineering (IJITWE), 2023, 18 (1):
[12]Gopi Karthik, Mazumder Debashish, Crawford Jagoda, Gadd Patricia, Tadros Carol V, Atanacio Armand, Saintilan Neil, Sammut Jesmond. Developing a MySQL Database for the Provenance of Black Tiger Prawns (Penaeus monodon). [J]. Foods (Basel, Switzerland), 2023, 12 (14):
致 谢
经过数月的学习和探索,我终于完成了毕业设计的开发和毕业论文的撰写。在此,我要衷心感谢我的指导老师。在毕业设计的整个过程中,老师给予了我宝贵的指导和建议,帮助我找到了正确的方向。每当我遇到困难时,老师总是耐心地解答我的问题,让我学到了很多知识。即使在百忙之中,老师还会抽出时间帮我检查纠错,给予我鼓励和支持。感谢老师的陪伴和信任,让我能够顺利完成毕业设计。在我人生中,您将永远是一盏明灯。我也要感谢我的舍友们,感谢你们一路以来的陪伴和支持。每当我面临难题时,你们总是给予我最大的帮助和鼓励,与我一起学习和探讨。希望我们能够一起成长,共同进步。
在大学四年时间虽然不长也不短,却见证了我的成长。大学是一个充满魅力的地方,它不仅教会了我书本上的知识,更让我学会了为人处世的道理。感谢大学里的老师和同学们的陪伴,让我在今后的人生道路上更加自信。让我们一起共同成长,迎接未来的挑战。通过这四年的学习和生活,我不仅掌握了专业知识,还培养了自己的独立思考能力和解决问题的能力。在团队项目中,我学会了与他人合作,充分发挥自己的优势,共同完成任务。这些经历让我更加成熟和自信。
在未来的日子里,我将继续努力学习,不断提升自己的能力。我相信,只要保持积极的心态和坚持不懈的努力,我一定能够取得更好的成绩。同时,我也希望能够回报社会,为他人带来帮助和正能量。
再次感谢所有支持和帮助过我的人,是你们的陪伴和支持让我能够走到今天。我会铭记于心,永远感激不尽。愿我们都能在未来的人生道路上取得成功,实现自己的梦想。