目 录
摘 要
随着移动互联网的快速发展和智能终端的普及,微信小程序作为一种轻量级应用形式,逐渐成为企业开展线上业务的重要渠道。同时,零食作为一种便捷消费品,受到了广大消费者的青睐。基于微信小程序的线上零食销售系统的设计与实现,旨在结合移动互联网和零食行业,为消费者提供更便捷、多样的零食购买体验,满足消费者对于便捷、快捷消费的需求。
本研究基于微信小程序平台,设计并实现了一个线上零食销售系统,包括首页、购物车、零食资讯和个人中心等功能模块。通过对零食销售系统的设计与实现,结合微信小程序的特点,旨在提供用户友好的界面设计、便捷的购物流程、个性化的零食资讯推送和个人化的用户体验。系统的开发旨在为零食行业的线上销售提供创新解决方案,为消费者提供更加便捷的零食购买渠道,满足消费者对于便捷、快捷消费的需求,为零食行业的数字化转型和智能化发展提供有力支持。
关键词:SSM;MySQL;Java;零食销售系统。
Abstract
With the rapid development of mobile Internet and the popularity of intelligent terminals, WeChat applet, as a lightweight application form, has gradually become an important channel for enterprises to carry out online business. Meanwhile, snacks, as a convenient consumer product, have been favored by a large number of consumers. The design and implementation of the online snack sales system based on WeChat applet aims to provide consumers with a more convenient and diversified snack purchase experience in combination with the mobile Internet and the snack industry, and meet consumers' needs for convenient and fast consumption.
This study is based on the WeChat mini program platform, and designs and implements an online snack sales system, including functional modules such as homepage, shopping cart, snack information, and personal center. By designing and implementing a snack sales system, combined with the characteristics of WeChat mini programs, the aim is to provide a user-friendly interface design, convenient shopping process, personalized snack information push, and personalized user experience. The development of the system aims to provide innovative solutions for online sales in the snack industry, provide consumers with more convenient snack purchasing channels, meet their needs for convenient and fast consumption, and provide strong support for the digital transformation and intelligent development of the snack industry.
Keywords: SSM; MySQL; Java; Snack sales system.
1 绪论
基于微信小程序的线上零食销售系统的设计与实现,是基于当前移动互联网和零食市场的发展趋势而展开的研究。随着移动互联网的快速发展,越来越多的消费者倾向于使用智能手机进行购物和消费。同时,零食作为一种便捷、小型的消费品,受到了广泛的关注和需求。因此,将零食销售引入微信小程序平台,结合了消费者的购物习惯和零食市场的特点,具有重要的现实意义和市场潜力。
当前,随着人们生活水平的提高和消费观念的变化,对零食的需求逐渐呈现多样化、个性化的趋势。消费者对于零食产品的品质、口味、新鲜度等方面提出了更高的要求。同时,线上零食销售的方式也为消费者提供了更加便捷、快捷的购物体验。因此,基于微信小程序的线上零食销售系统的设计与实现,旨在满足消费者对于零食购买的便捷需求,提供优质的产品和个性化的服务,推动零食行业的数字化转型和智能化发展。
综上所述,基于微信小程序的线上零食销售系统的研究,将充分结合移动互联网和零食市场的发展趋势,为消费者提供更便捷的零食购买渠道,促进零食行业的线上销售和服务水平的提升,具有重要的现实意义和发展价值。
基于微信小程序的线上零食销售系统的设计与实现具有重要的研究意义和实际应用价值。首先,随着移动互联网的普及和智能终端的普遍使用,线上购物已成为一种趋势。将零食销售引入微信小程序平台,结合了消费者的购物习惯和零食市场的特点,具有重要的现实意义和市场潜力。其次,基于微信小程序的线上零食销售系统的研究对于拓展零食销售渠道、推广零食品牌具有积极意义。通过微信小程序平台,零食企业可以与消费者直接对接,提供个性化、精准的商品推荐和购物体验,从而增强品牌影响力,拓展市场份额,提高销售业绩。同时,这一研究也有助于促进零食行业的数字化转型和智能化发展,引入智能推荐、个性化定制等功能,为消费者提供更加个性化、精准的零食消费体验,推动零食行业向智能化、精细化发展。
1.3论文结构与章节安排
论文将分层次进行编排,除去论文摘要致谢文献参考部分,论文主要架构如下:
第一章:绪论。主要介绍了课题研究的背景,研究意义和论文结构与章节安排。
第二章:开发工具及相关技术介绍。
第三章:系统分析。主要从系统的用户、功能等方面进行需求分析。
第四章:系统总体设计。主要对系统框架、系统功能模块、数据库进行功能设计。
第五章:系统详细设计与实现。主要介绍了系统框架搭建、系统界面的实现。
第六章:系统测试。主要对系统的部分界面进行测试并对主要功能进行测试。
2开发工具及相关技术介绍
2.1 SSM框架
SSM框架是指Spring + Spring MVC + MyBatis框架的整合,是一种用于构建JavaEE应用程序的开发模式。这三个框架分别负责业务逻辑层、表示层和数据访问层,通过整合可以实现完整的应用程序开发。下面是这三个框架的主要功能:
Spring框架:提供了依赖注入(DI)和面向切面编程(AOP)等功能。Spring框架能够管理对象之间的依赖关系,降低耦合性,提高代码的可维护性。同时,Spring还提供了事务管理、数据访问抽象、消息传递等功能,为企业级应用程序开发提供了全面的支持。
Spring MVC框架:是Spring框架的一部分,用于构建Web应用程序。Spring MVC通过基于注解的方式实现URL到控制器的映射,支持RESTful风格的URL设计。同时,Spring MVC还提供了灵活的视图解析、数据绑定和表单标签等功能,能够快速地开发Web应用程序。
MyBatis框架:是一个优秀的持久层框架,通过XML或注解方式实现SQL和Java对象之间的映射。MyBatis支持动态SQL、自动映射结果集、高级映射等功能,能够提供高效、灵活的数据访问方案。
通过整合Spring、Spring MVC和MyBatis,SSM框架能够充分发挥各自的优势,提供了完整的应用程序开发解决方案。在SSM框架中,Spring负责业务逻辑层的管理,Spring MVC负责表示层的控制和视图展示,MyBatis负责数据访问层的实现,通过各层之间的协作,能够快速、高效地开发出可靠的JavaEE应用程序。
MVVM模式是常用的开发模式,主要是在代码实现上将其分为M层、V层和C层。
视图(View)代表用户交互界面,一个 Web 应用就可能有很多的界面,在 MVVM 模式中,视图仅仅处理的只有数据采集、处理,还有用户的请求, 并不包括业务流程的处理,业务流程由模型(Model)来处理。
模型(Model)就是业务流程/状态的处理及业务规则的制定。模型处理业务流程的过程其他层是无法看见的,它就像黑箱子,在接收视图请求的数据之后,然后返回最终的处理结果。MVVM 最主要的核心就是业务模型的设计,一个典型的应用例子就是目前流行的 EJB 模型,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但是它不能作为应用设计模型的框架。
控制器(Controller)可以理解为接收用户的请求,然后视图和模型匹配在一起,一起再完成用户请求。它有非常明显的作用在划分控制层上,可以很清晰地告诉你,它就是一个分发器,选择什么样的模型、视图,可以完成用户的什么样的请求。控制层不做所有的数据处理,比如说:用户点击一个连接,控制层接收到请求之后,并不处理业务信息,它只是向模型传递用户的信息,同时告诉模型做什么,然后选择符合需求的视图返回给用户。
B/S(Browser/Server)比前身架构更为省事的架构。它借助Web server完成数据的传递交流。只需要下载浏览器作为客户端,那么工作就达到“瘦身”效果, 不需要考虑不停装软件的问题。
MySQL数据库是一种开源的关系型数据库管理系统,具有广泛应用和强大功能。它能够高效地存储和管理结构化数据,并支持SQL语言进行数据操作。MySQL拥有良好的可扩展性和高性能,能够处理大规模的数据集和高并发访问。同时,MySQL提供了丰富的安全功能,如用户认证、访问控制和数据加密,保障数据的安全性。作为跨平台的数据库管理系统,MySQL可以在多个操作系统上运行,并与许多第三方工具和框架集成,为开发人员提供更多的便利和扩展。通过MySQL数据库,用户可以获得稳定、高性能的数据管理解决方案,满足各种不同的数据存储需求。
3 系统分析
系统分析是开发一个项目的先决条件,通过系统分析可以很好的了解系统的主体用户的基本需求情况,同时这也是项目的开发的原因。进而对系统开发进行可行性分析,通常包括技术可行性、经济可行性等,可行性分析同时也是从项目整体角度进行的分析。然后就是对项目的具体需求进行分析,分析的手段一般都是通过用户的用例图来实现。下面是详细的介绍。
3.1 可行性分析
基于微信小程序的线上零食销售系统的可行性主要体现在以下几个方面:
- 经济可行性:SSM框架整合在经济可行性方面具有明显优势。首先,SSM框架整合采用了成熟的开源框架和技术,无需额外购买商业许可证,降低了项目的成本。其次,SSM框架整合能够提高开发效率和代码质量,缩短项目的开发周期,降低了开发成本。另外,SSM框架整合能够提供稳定、高效的应用程序运行环境,降低了系统维护成本。综合考虑,SSM框架整合在经济可行性方面具备较高的优势,能够有效降低项目的总体开发和运营成本。
(2)技术可行性:SSM框架具有良好的扩展性和灵活性,适合开发复杂的Web应用程序。结合人工智能技术,如自然语言处理、机器学习等,可以实现智能客服、数据分析等功能,为售后服务管理提供技术支持。
(3)市场需求:随着消费者对食品安全和质量的关注不断增加,基于微信小程序的线上零食销售系统有望得到市场认可和需求支持。消费者对于线上零食的关注,以及人们对于销售渠道的需求,为基于微信小程序的线上零食销售系统的发展提供了有力市场需求支撑。
(4)管理可行性:通过建立完善的管理机制和运营团队,加强平台的数据安全保障和用户信息保护,可以有效降低平台运营风险,提升管理可行性。同时,加强用户培训和技术支持,提高用户体验和满意度,有助于平台的长期稳定运营。
综上所述,基于微信小程序的线上零食销售系统具有较高的经济、技术、市场和管理可行性,有望为线上零食市场的现代化转型和数字化发展提供有力支持。
3.2 系统流程分析
系统流程是用一些特定的符合和线条来进行演示用户在使用系统时的过程,在进行系统分析的时候,业务流程可以帮助开发人员更好的理解业务,发现错误,完善系统。
3.2.1 数据新增流程
用户成功登入系统后就能够实现增加数据的操作,增加数据的编号由系统生成,用户不能随意填写,除了编号以外,其他增加信息用户自己填写,填写后的信息经过系统验证,验证通过后即可完成数据新增,数据新增的流程图如下图3-1所示。
图3-1 数据新增流程图
3.2.2 数据删除流程
如果系统里面存在一些没有用的数据,相关的管理人员还可以对这些数据进行删除,数据删除时流程图如下图3-2所示。
图3-2 数据删除流程图
3.3.1 功能性分析
根据用户对系统的需求,要求系统简单操作,能够准确,完整的对信息进行管理。对农商品销售管理做需求做解析后,划分为了注册用户、农户商家和管理员三大功能板块,
各板块具有不同的功能需求和权限设置:
(1)注册用户功能板块:
用户注册与登录:允许用户注册账户,并通过用户名和密码进行登录。
个人信息管理:用户可以编辑和管理个人信息,包括姓名、联系方式、地址等。
浏览商品:注册用户可以浏览系统中提供的零食商品信息,查看详情和价格。
购买商品:允许注册用户选择商品并进行购买,包括加入购物车、选择支付方式等。
订单管理:注册用户可以查看自己的订单状态,进行订单跟踪和管理。
(2)员工用户功能板块:
订单处理:员工用户可以处理用户的订单,包括确认订单、发货、退款等操作。
商品管理:允许员工用户添加新商品、编辑商品信息、下架商品等。
库存管理:员工用户可以管理系统中商品的库存情况,进行库存盘点和补货操作。
用户服务:员工用户可以通过系统与注册用户进行沟通和客户服务。
(3)管理员功能板块:
用户管理:管理员可以管理系统中的注册用户和员工用户,包括添加新用户、权限管理等。
数据分析:允许管理员查看系统运营数据、销售数据等,进行数据分析和报表生成。
系统设置:管理员可以进行系统参数设置、权限配置、界面定制等操作。
安全管理:管理员负责系统的安全管理工作,包括用户权限控制、数据备份等。
通过以上功能分析,基于微信小程序的线上零食销售系统可以实现注册用户、员工用户和管理员的信息交流和交易管理,为用户提供便捷的交易体验,同时为管理员和员工用户提供有效的管理和销售支持。这些功能将有助于提升平台的用户满意度和运营效率,促进线上零食市场的数字化发展和现代化转型。
基于微信小程序的线上零食销售系统的非功能性需求比如基于微信小程序的线上零食销售系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-3表格中:
表3-3基于微信小程序的线上零食销售系统非功能需求表
安全性 | 主要指基于微信小程序的线上零食销售系统数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
可靠性 | 可靠性是指基于微信小程序的线上零食销售系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。 |
性能 | 性能是影响基于微信小程序的线上零食销售系统占据市场的必要条件,所以性能最好要佳才好。 |
可扩展性 | 比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
易用性 | 用户只要跟着基于微信小程序的线上零食销售系统的页面展示内容进行操作,就可以了。 |
可维护性 | 基于微信小程序的线上零食销售系统开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
3.4 系统用例分析
通过2.3功能的分析,得出了本基于微信小程序的线上零食销售系统的用例图:
普通用户角色用例图如下图3-4所示。
图3-4 注册用户角色用例图
员工用户角色用例图如下图3-5所示。
图3-5 员工用户角色用例图
管理员角色用例图如下图3-6所示。
图3-6管理员角色用例图
3.5本章小结
本章主要通过对基于微信小程序的线上零食销售系统的可行性分析、流程分析、功能需求分析、系统用例分析,确定整个基于微信小程序的线上零食销售系统要实现的功能。同时也为基于微信小程序的线上零食销售系统的代码实现和测试提供了标准。
本章主要讨论的内容包括基于微信小程序的线上零食销售系统的系统架构设计、功能模块设计、数据库系统设计。
4.1 系统架构设计
本基于微信小程序的线上零食销售系统从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。
图4-1系统架构设计图
表现层(UI):又称UI层,主要完成本基于微信小程序的线上零食销售系统的UI交互功能,一个良好的UI可以打打提高用户的用户体验,增强用户使用本基于微信小程序的线上零食销售系统时的舒适度。UI的界面设计也要适应不同版本的基于微信小程序的线上零食销售系统以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用户进行交互操作时必须要得到与之相符的交互结果,这就要求表现层要与业务逻辑层进行良好的对接。
业务逻辑层(BLL):主要完成本基于微信小程序的线上零食销售系统的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。
数据层(DL):由于本基于微信小程序的线上零食销售系统的数据是放在服务端的MySQL数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本基于微信小程序的线上零食销售系统的数据存储和管理功能。
4.2 系统功能模块设计
在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本基于微信小程序的线上零食销售系统中的用例。那么接下来就要开始对本基于微信小程序的线上零食销售系统的主要功能和数据库开始进行设计。基于微信小程序的线上零食销售系统根据前面章节的需求分析得出,其总体设计模块图如图4-2所示。
图4-2 系统功能模块图
4.3 数据库设计
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
4.3.1 数据库概念结构设计
下面是整个基于微信小程序的线上零食销售系统中主要的数据库表总E-R实体关系图。
图4-3 系统总E-R关系图
4.3.2 数据库逻辑结构设计
通过上一小节中基于微信小程序的线上零食销售系统中总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 | 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 | 默认判断 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 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]用于产品规格描述 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | employee_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 | mobile_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 | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 添加人 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 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 | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 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 | 折扣 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | product_center_id | int | 10 | 0 | N | Y | 零食商场ID | |
2 | product_name | varchar | 64 | 0 | Y | N | 商品品牌 | |
3 | product_specifications | varchar | 64 | 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 | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | registered_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 | mobile_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 | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
4.4本章小结
整个基于微信小程序的线上零食销售系统的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。
5 系统关键设计与实现
基于微信小程序的线上零食销售系统的详细设计与实现主要是根据前面的基于微信小程序的线上零食销售系统的需求分析和基于微信小程序的线上零食销售系统的总体设计来设计页面并实现业务逻辑。主要从基于微信小程序的线上零食销售系统界面实现、业务逻辑实现这两部分进行介绍。
5.1 前台功能模块
系统首页以上中下的布局进行展示,正上方是系统的首页,中间是轮播图,下面是零食资讯的广告链接等信息。其主界面展示如下图5-1所示。
图5-1 前台首页界面图
5.2注册用户功能模块
5.2.1 用户注册界面
用户右上角“注册”按钮进入注册页面填写账号、密码、确认密码、昵称、邮箱、身份等信息后点击“注册”按钮,系统会对输入的信息进行验证,验证通过后即可完成注册,其界面展示如下图5-2所示。
图5-2 用户注册界面图
关键代码如下:
@Slf4j
public class LoginInterceptor implements HandlerInterceptor {
private String tokenName = "x-auth-token";
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String token = request.getHeader(this.tokenName);
setHeader(request, response);
log.info("[请求接口] - {} , [请求类型] - {}",request.getRequestURL().toString(),request.getMethod());
private void setHeader(HttpServletRequest request, HttpServletResponse response) {
response.setHeader("Access-control-Allow-Origin", request.getHeader("Origin"));
response.setHeader("Access-Control-Allow-Methods", "GET, HEAD, POST, PUT, DELETE,
5.2.2 注册用户登录界面
用户注册后可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,系统会对输入的信息进行验证,验证通过后即可完成登录,其界面如下图5-3所示。
图5-3注册用户登录界面图
关键代码如下:
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;
QueryWrapper wrapper = new QueryWrapper<User>();
Map<String, String> map = new HashMap<>();
可查看零食资讯列表的所有商品信息,可进行点赞、收藏、评论。其界面如下图5-4所示。
图5-4零食资讯界面图
注册用户进入“我的”购物车界面,可钩选购物车里的商品进行在线支付购买。其界面如下图5-5所示。
图5-5购物车界面图
员工用户进入“我的”个人首页界面。其界面如下图5-6所示:
图5-6员工用户“我的”界面图
管理员可查看商品销售金额统计和商品销售数量统计数据分析。其界面如下图5-7所示。
图5-7管理员首页界面图
关键代码如下:
<insert id="insertAccessToken" parameterType="com.project.demo.entity.AccessToken" useGeneratedKeys="true" keyProperty="tokenId">
insert into access_token
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="token != null and token != ''">token,</if>
<if test="maxage != null ">maxage,</if>
<if test="createTime != null ">create_time,</if>
<if test="updateTime != null ">update_time,</if>
<if test="userId != null ">user_id,</if>
管理员可对注册用户、员工用户和管理员进行管控,包括进行增删改查操作,点击可查看详情。其界面如下图5-8所示。
图5-8系统用户界面图
关键代码如下:
<update id="updateAccessToken" parameterType="com.project.demo.entity.AccessToken">
update access_token
<trim prefix="SET" suffixOverrides=",">
<if test="token != null and token != ''">token = #{token},</if>
<if test="maxage != null ">maxage = #{maxage},</if>
<if test="createTime != null ">create_time = #{createTime},</if>
<if test="updateTime != null ">update_time = #{updateTime},</if>
<if test="userId != null ">user_id = #{userId},</if>
</trim>
管理员可对首页的轮播图和广告进行管理。点击“轮播图”,可查看添加的轮播图信息,进行增删改查操作,支持标题搜索,可点击查看详情。其界面如下图5-9所示。
图5-9系统管理界面图
关键代码如下:
var sql = $.mysql.toGetSql(query, Object.assign({}, this.config, config || {}));
var arr = await this.run(sql);
if (arr.length > 0) {
return arr[0];
}
return null;
};
Controller.prototype.get_obj = async function(ctx) {
var query = ctx.request.query;
var {
field,
sqlwhere
} = query;
delete query.field;
delete query.sqlwhere;
管理员可对零食资讯和资讯分类进行管理,进行增删改查操作,零食资讯支持标题、标签、分类搜索,可点击查看详情(封面图、标题、分类、标签、描述、正文)和查看评论;资讯分类支持类型名称搜索,可点击查看详情。其界面如下图5-10所示。
图5-10资源管理界面图
关键代码如下:
Controller.prototype.upload = async function(ctx) {
var req = ctx.request;
var query = req.query;
var url = "";
if (req.files && req.files.file) {
var f = req.files.file;
const render = fs.createReadStream(f.path);
var name = f.name;
var dir = f.dir || "";
var file = _dir + dir + name;
try {
if (fs.existsSync(file)) {
var arr = name.split(".");
name = arr[0];
var extension = arr[arr.length - 1];
var num = 10000;
for (var i = 0; i < num; i++) {
var na = name + "_" + (i + 1) + "." + extension;
管理员可对零食商场、分类列表、订单列表、订单配送等信息进行管理,进行增删改查操作,可点击查看详情。点击“零食商场”,可查看所有商品信息,支持标题、分类搜索,可点击查看详情和查看评论;点击“分类列表”,可查看所有分类信息,支持分类搜索,可点击查看详情;点击“订单列表”,可查看所有订单信息,支持订单号、商品名称、联系人姓名、状态搜索,可点击查看详情,和点击进行配送操作;点击“订单配送”,可查看所有订单配送信息,支持配送状态、签收状态搜索,可点击查看详情(订单号、商品名称、购买数量、交易总额、发货日期、配送单号、联系人、买家、收货地址、配送状态、签收状态),可点击签收,修改签收状态。其界面如下图5-11所示。
关键代码如下:
<delete id="deleteAccessTokenById" parameterType="Integer">
delete from access_token where token_id = #{tokenId}
</delete>
<delete id="deleteAccessTokenByIds" parameterType="String">
delete from access_token where token_id in
<foreach item="tokenId" collection="array" open="(" separator="," close=")">
#{tokenId}
</foreach>
</delete>
6系统测试
6.1 系统测试目的
无论什么样的系统,测试都至关重要,通过测试可以检查出潜藏的缺陷,从而确保系统的性能和稳定性,避免Bug的出现,并确保系统的功能和性价比达到预期的要求。
系统测试包括:用户登录功能测试、商品信息展示功能、轮播图信息添加功能、密码修改功能测试,如表5-1、5-2、5-3、5-4所示:
表5-1 用户登录功能测试表
用例名称 | 用户登录系统 |
目的 | 测试用户通过正确的用户名和密码可否登录功能 |
前提 | 未登录的情况下 |
测试流程 | 1) 进入登录页面 2) 输入正确的用户名和密码 |
预期结果 | 用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入 |
实际结果 | 实际结果与预期结果一致 |
零食资讯展示功能测试:
表5-2 零食资讯展示功能测试表
用例名称 | 零食资讯展示 |
目的 | 测试零食资讯展示功能 |
前提 | 用户登录 |
测试流程 | 点击零食资讯 |
预期结果 | 可以查看到所有零食资讯信息 |
实际结果 | 实际结果与预期结果一致 |
商品信息添加界面测试:
表5-3 商品信息添加界面测试表
用例名称 | 商品信息添加测试用例 |
目的 | 测试商品信息添加功能 |
前提 | 管理员用户正常登录情况下 |
测试流程 | 1)管理员点击商城管理下方的商品信息,进入添加页面填写信息。 2)填写完毕后点击进行提交。 |
预期结果 | 提交以后,页面会显示新的商品信息 |
密码修改功能测试:
表5-4 密码修改功能测试表
用例名称 | 密码修改测试用例 |
目的 | 测试密码修改功能 |
前提 | 普通用户和管理员用户正常登录情况下 |
测试流程 | 1)点击密码修改并完成填写。 2)点击进行提交。 |
预期结果 | 使用新的密码可以登录 |
实际结果 | 实际结果与预期结果一致 |
通过编写基于微信小程序的线上零食销售系统的测试用例,已经检测完毕用户登录功能测试、零食资讯展示功能、商品信息添加功能、密码修改功能测试,通过的测试为基于微信小程序的线上零食销售系统的后期推广运营提供了强力的技术支撑。
在当今数字化时代,随着移动互联网的快速发展,基于微信小程序的线上零食销售系统已经成为了零售行业的一大趋势。这种新型的销售模式不仅提升了消费者的购物体验,也为商家带来了更多的商机。然而,我们应该认识到,科技的发展不能仅仅停留在商业利益的层面,更应该注重其对社会、文化、人类生活的影响。
在设计与实现基于微信小程序的线上零食销售系统时,我们应该将用户体验放在首位。通过精心设计的首页、购物车、零食资讯和个人中心等功能板块,为用户提供便捷、高效的购物体验。同时,我们也要关注零食的品质和原产地,倡导健康饮食,引导消费者养成良好的消费习惯。
除了商业利益,基于微信小程序的线上零食销售系统还应该注重社会责任。例如,可以通过与公益组织合作,推广绿色环保的零食产品,倡导社会责任感和环保意识。此外,系统的设计应该考虑到残障人士和老年人的需求,提供更加友好易用的界面,实现普惠性和包容性。
更重要的是,我们应该思考科技的发展如何更好地融入社会文化,为社会发展带来正能量。通过线上零食销售系统,我们不仅可以方便快捷地购买零食,更可以传播文化、促进交流,推动文化产业的发展。因此,在设计与实现系统时,我们应该注重文化价值的传承和创新,让科技成为文化的媒介,推动文化产业的蓬勃发展。
基于微信小程序的线上零食销售系统不仅仅是商业模式的创新,更是科技与文化相结合的典范。我们应该以高大尚的情怀和远大的愿景,不仅仅追求商业利益,更应关注社会责任、文化传承和人类福祉,为构建一个更加美好、更加和谐的社会贡献我们的力量。愿我们的科技之路,不仅通向商业的成功,更指引我们走向文化的繁荣,为人类社会的进步和发展贡献我们的智慧和力量。
- 何文英.新中式零食企业的“望闻问切”值得借鉴[N].证券日报,2024-04-01(B03).
[2]中国零食品牌加速开拓海外市场步伐[N].中国食品报,2024-03-26(007).
[3]Hernandez J ,Goico E ,Palacios C .Associations between ultraprocessed and minimally processed snacks consumption and overweight/obesity among college students in South Florida.[J].Journal of American college health : J of ACH,2024,1-9.
[4]Frederiksen C ,Byrne V D ,Andersen V B .Sensing the Snacking Experience: Bodily Sensations Linked to the Consumption of Healthy and Unhealthy Snack Foods-A Comparison between Body Mass Index Levels.[J].Foods (Basel, Switzerland),2024,13(3):
[5]Cooke B C ,Greatwood C H ,McCullough D , et al.The effect of discretionary snack consumption on overall energy intake, weight status, and diet quality: A systematic review.[J].Obesity reviews : an official journal of the International Association for the Study of Obesity,2024,25(4):e13693-e13693.
[6]郭志强.万亿零食市场打响争夺战[J].中国经济周刊,2024,(01):32-33.
[7]郭秀娟,张函.休闲零食低价竞速健康化成为新趋势[N].中国食品安全报,2024-01-04(B01).
[8]侯建立.零食行业内卷,行业需要新动能[J].销售与市场(管理版),2024,(01):35-36.
[9]陈媛媛,刘思懿,郭云贵.休闲零食行业创业个案研究——以“零食很忙”为例[J].内蒙古科技与经济,2023,(24):59-62.
[10]郭秀娟,张函.量贩零食低价竞速2023休闲零食酣战未完[N].北京商报,2023-12-26(003).
[11]周子荑.正面“开战”休闲零食行业竞争加剧[N].中国商报,2023-12-12(006).
[12]钟楚涵,孙吉正.量贩零食企业合并背后行业进入整合期发展加速[N].中国经营报,2023-11-27(D02).
[13]叶碧华,刘祖凤.万亿休闲零食市场酝变[N].21世纪经济报道,2023-11-23(011).
[14]休闲食品市场发生结构性变化[N].中国食品报,2023-10-24(007).
[15]刘光彩,刘丽君.大学生群体消费的休闲零食包装设计研究[J].上海包装,2023,(07):121-123.
[16]王秀丽,张颢城,祝超然,等.北京市初中学生全食物消费现状研究[J].中国食物与营养,2023,29(04):33-39.
[17]孙丰.休闲零食电商行业创新模式分析[J].食品界,2022,(10):96-98.
[18]高俊霞.农村幼儿零食消费现状及解决策略研究[J].基础教育论坛,2022,(30):12-13.
[19]刘沐怡.深圳鲜鲜优品公司线上零食库存管理优化研究[D].兰州大学,2021.
[20]王思洁.基于SSM框架的零食在线销售系统的设计与实现[J].南方农机,2020,51(09):223.
首先,我要感谢我的指导老师。在完成的整个基于微信小程序的线上零食销售系统过程中,指导老师始终给予我无微不至的关爱与指导。感谢导师耐心细致的指导,以及提出的具有建设性的意见,都给予了我极大的帮助,让我受益匪浅。导师严谨的治学态度、敬业精神以及高水平的教学能力,都给我树立了追求卓越的典范,这对我以后的人生道路和学业成就都产生了极大的积极影响。
此外,我还要感谢我班的同学们,他们既是我的同窗好友,又是我的良师益友。正是由于你们的支持和关怀,使得我在大学期间的学习和生活都变得异常充实。感谢那些在大学期间给予我帮助的所有老师和同学们,是你们给予了我在学业道路上的前进动力。
当然,我也不能忘记我的父母,是他们用无私的爱抚养我成人。你们的养育之恩我将永生难忘,将来我一定会用我的成绩回报你们。在成长的道路上,我会不断努力,不负众望,用实际行动来回报你们对我的期望。
总之,在参与所有基于微信小程序的线上零食销售系统项目中,我要感谢所有给予我帮助的人,包括指导老师、同学们、家人和朋友们。是你们的支持与关爱,让我在学术和个人生活中取得了优异的成绩。我会珍惜这份感恩之情,将这份力量用于学习和未来的生活中,不断追求卓越,成为一个更加优秀的人。
免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~