基于PHP的蔬菜水果销售系统的设计与实现
摘 要
本项目旨在基于PHP开发设计一个蔬菜水果销售系统,旨在为农产品销售行业提供一个高效的电子商务平台。该系统将包括商品展示、在线购买、订单管理、支付功能等,以满足消费者的购物需求。通过PHP编程语言,结合数据库管理和网页设计技术,实现系统的设计与开发。该项目旨在促进农产品销售的数字化转型,提高销售效率和客户体验,推动蔬菜水果产业的发展和电子商务行业的创新。
首先,本论文分析了基于PHP蔬菜水果销售系统的设计与实现的需求和功能,包括前台的首页、通知公告、超市购物、商城管理、我的账户、个人中心和后台的后台首页、用户管理、退货退款管理、系统管理、通知公告管理、资源管理商城管理等。该系统旨在提供一个便捷的在线蔬菜水果订购平台,供用户购买各类商品。该系统PHP作为主要开发语言,使用MySQL数据库进行数据存储,同时,配合前台的HTML+CSS技术,完成系统的开发。通过科学的管理方式和便捷的服务,该蔬菜水果销售系统可以提高工作效率,减少数据存储上的错误和遗漏。它将成为一个高效且方便使用的工具,帮助用户更好地管理订购下单信息。通过该系统,用户可以浏览超市商品信息、下单购买、管理个人订单、地址等功能。本文详细描述了系统的功能需求、数据库设计、系统架构和主要模块的实现过程。通过测试和验证,该系统达到了预期的目标,为蔬菜水果销售提供了有效的支持。
关键词:蔬菜水果销售系统;PHP;MySQL数据库
Abstract
This project aims to develop and design a vegetable and fruit sales system based on PHP, aiming to provide an efficient e-commerce platform for the agricultural product sales industry. The system will include product display, online purchasing, order management, payment functions, etc., to meet consumers' shopping needs. Through PHP programming language, combined with database management and web design technology, the system is designed and developed. The project aims to promote the digital transformation of agricultural product sales, improve sales efficiency and customer experience, and promote the development of the vegetable and fruit industry and innovation in the e-commerce industry.
First of all, this paper analyzes the requirements and functions of the design and implementation of the vegetable and fruit sales system based on PHP, including the front page, notice and announcement, supermarket shopping, mall management, my account, personal center and backstage home page, user management, return and refund management, system management, notice and announcement management, resource management mall management, etc. The system aims to provide a convenient online vegetable and fruit ordering platform for users to purchase various kinds of goods. The system PHP as the main development language, using MySQL database for data storage, at the same time, with the front-end HTML+CSS technology to complete the development of the system. Through scientific management and convenient service, the vegetable and fruit sales system can improve work efficiency and reduce errors and omissions in data storage. It will be an efficient and user-friendly tool to help users better manage ordering information. Through the system, users can browse supermarket commodity information, place orders, manage personal orders, address and other functions. This paper describes in detail the functional requirements of the system, database design, system architecture and the realization process of main modules. Through testing and verification, the system has reached the expected target and provided effective support for the sale of vegetables and fruits.
Keywords:Vegetable and fruit sales system; PHP; MySQL database
目录
1 绪论
-
- 研究背景和意义
随着人们对健康生活方式和优质食品的追求不断增加,农产品电商市场的发展日益繁荣。基于PHP的蔬菜水果销售系统的设计与实现背景在于满足消费者对新鲜健康食品的需求,同时促进农产品产业的数字化转型和市场拓展。通过开发这样的销售系统,可以提升农产品销售效率、拓展销售渠道,促进生产者与消费者之间的直接联系,推动农产品电商行业的创新发展。因此,研究和实施基于PHP的蔬菜水果销售系统具有重要的研究背景和实际意义,有助于推动农产品电商行业向数字化、智能化方向发展,满足消费者对优质农产品的需求,促进农产品产业的可持续发展。
1.2国内外研究现状
目前,国内外对基于PHP的蔬菜水果销售系统的研究和应用已经取得了一定进展。在国外,一些农产品电商平台利用PHP等技术开发了先进的在线销售系统,为消费者提供便捷的购物体验和农产品信息展示功能。这些系统通过优化用户界面设计、订单管理和支付功能,提升了消费者的购物体验和销售效率。在国内,一些农产品电商企业也开始关注和研究基于PHP的销售系统的应用,以满足消费者对蔬菜水果的购买需求。他们致力于提高系统的稳定性、安全性和用户体验,助力农产品销售行业的数字化升级和市场拓展。未来,国内外研究机构将继续探索如何利用最新技术和方法提升基于PHP的蔬菜水果销售系统的功能和性能,为农产品电商行业的发展和消费者的购物体验提供更多创新和便利。
1.3论文结构安排
本PHP蔬菜水果销售系统一共分为六个章节进行介绍,章节内容安排如下:
第一章:引言。第一章主要介绍了PHP蔬菜水果销售系统课题研究的背景和意义、国内外研究现状和本文的研究内容与主要工作。
第二章:系统需求分析。第二章主要从系统的用户、功能等方面进行需求分析。
第三章:系统设计。第三章主要对系统框架、系统功能模块、数据库进行功能设计。
第四章:系统实现。第四章主要介绍了系统框架搭建、系统界面的实现。
第五章:系统测试。第五章主要对系统的部分界面进行测试并对主要功能进行测试
1.4 PHP相关技术介绍
ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。最早诞生于2006年初,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进。
ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。
PHP采用函数或者过程来解析对于数据的操作,但又把数据和函数之间相互分开,这样并不利于维护,并会增加程序的工作量。而面向对象的编程将程序的函数和函数对于数据的操作封装在一个类中,作为一个整体来处理。所以PHP语言是主要通过面向对象来实现编程,并且摒除了C++语言中的指针、多继承等比较难理解部分,创造出了自身独有的单继承、多接口、高内聚、低耦合等特性。
PHP技术对动态Web页面的开发作用简直是举足轻重。可以很快的响应到客户端的发送请求。是甲骨文公司旗下的IT及互联网技术服务公司Sun Microsystems公司主导并创立的动态网页技术的标准。而且能依据请求内容动态地生成XML、HTML,为用户的网络请求提供技术服务,而且可以与服务器上的其它PHP程序共同处理先对复杂的业务需求。
PHP主要优势如下:(1)一旦程序有一次成功的编写,就能在多处运行起来。(2)支持面特别广,许多平台已经引入该技术。
2 蔬菜水果销售系统需求分析
系统需求分析是系统开发的一个关键环节,它在系统的设计和实现上起到了一个承上启下的位置。系统需求分析是对所需要做的系统进行一个需求的挖掘,如果分析的准确可以精准的解决现实中碰到的问题。如果分析不到位会影响后期系统的实现。一个系统的优秀程度需求分析也是占据了非常大的比例,如果需求分析不到位,后面的系统设计要实现就是一个偏离导航的设计。
2.1 可行性分析
系统可行行分析是对系统对系统可行性进行一个探讨。在探讨系统的可行性上我们主要从技术上的可行性和经济上的可行性以及操作层面的可行性上进行分析,如果三个层面度通过,我们则认为系统是比较可行的。
2.1.1 技术可行性分析
蔬菜水果销售系统采用的是PHP编程语言并于MVVM模式,数据库部分采用的是当前流行的MySQL数据库,蔬菜水果销售系统中的所有数据资源都存储在MySQL数据库中,本系统多处采用了AJAX的异步操作,AJAX技术可以对用户指定部分的数据进行局部刷新,不仅减少了服务器对页面的解析而且极大增加了用户的体验度。本系统的环境配置也较为简单,有自带的Apache服务器和JDK环境,因此不需要我们在重新配置。
2.1.2 经济可行性分析
蔬菜水果销售系统是在PHP和MySQL的环境中运行的,而系统的成本也只是主要分布在软件的开发和维护上。但如果系统上线投入使用之后,不仅可以方便人们,还节省了用户的时间和精力,而且还极大限度的方便了运营者,减少了运营者的工作强度。蔬菜水果销售系统其实也不太复杂,在开发的时候经济支出也不大,在开发系统时时间用的也不多,从时间的优势和对经济利益方面产生的好处远超过维护和管理的成本,所以开发此系统是可行合适的。
2.1.3 操作可行性分析
蔬菜水果销售系统的注册与登陆页面设计简洁容易应用,可以通过最常见的页面窗口来登陆页面,并利用过计算机实现登陆功能,因此使用者只要平时利用过计算机都可以实现登陆应用。此操作系统的研发工作环境运用了php技术,并运用了B/S结构,这些研发工作环境都使得此系统功能更为完整,使整个设计更为个性化,使用者功能也更为简洁方便。本管理系统具备了易于运行、容易管理、交互性较好的优点,在实际操作上也是非常简单的。因此,本管理系统也可进行商业设计。综上所述,该设备的研发符合技术要求,因此其研发具有可操作性。
2.2需求分析
本蔬菜水果销售系统的设计主要是针对三种用户进行使用,第一种是以游客身份使用,游客在进入系统后可以查看到系统中的所有内容,包括首页、通知公告、超市购物、商城管理,如果想要购买下单,可以注册登录;第二种是注册之后有账号的用户,登录以后可以收藏、评论、购买、管理收货地址、订单、个人资料等;第三种则是管理员,是系统的管理者,管理员对系统中的商城公告、商品分类、用户提交的订单进行整体把控。
2.3 功能需求分析
本系统按照功能分为管理员和普通用户两种角色,角色功能如下:
普通用户:
(1)注册登录:用户通过注册登录系统,可通过点击头像中我的账户,对个人信息进行增删改查。比如个人资料、头像和密码修改。
(2)通知公告:点击可查看网站公告、关于我们、联系方式、网站介绍。
(3)超市咨讯:用户点击可查看超市咨讯,同时可对咨讯文章进行点赞、收藏和评论。
(4)超市购物:用户点击可查看商品列表和商品详情,同时可对商品信息进行收藏、评论和加购操作。
(5)商城管理:用户点击可查看我的购物车、我的订单和添加我的地址。
(8)个人中心:用户点击头像可查看“个人中心”,包括个人首页、退货退款、订单配送和收藏。点击“退货退款”,输入商品名称、商品类型、商品数量、退货退款和申请理由,点击“提交”按钮可进行添加退货退款信息。
管理员:
(1)登录:管理员的账号是在数据列表中直接设置生成的,不需要进行注册,可直接输入账号密码登录,同时可对管理员资料进行增删改查。
(2)后台首页:管理员点击可查看商品销售金额和商品销售数量数据统计图。
(3)系统用户:管理员点击可查看管理员和普通用户;同时可对系统用户进行增删改查。
(4)退货退款管理:管理员点击可查看退货退款列表,同时可对退款申请进行审核通过。
(5)系统管理:当管理员点击“系统管理”时,可查看轮播图; 如需添加新的轮播图,点击右侧“添加”按钮,上传图片,输入标题,点击“确认”按钮进行添加;同时可对轮播图进行增删改查。
(6)通知公告管理:当管理点击“通知公告管理”时,可查看通知公告消息;如需添加新的通知公告,点击右侧“添加”按钮,输入标题和正文,点击“确认”按钮进行添加。
(7)资源管理:管理员点击可查看超市咨讯和咨讯分类;如需添加新的超市资讯,点击“新增”按钮,上传封面图,输入标题,选择分类,输入标签、描述和正文,点击“确认”按钮进行添加。同时可对咨讯进行增删改查。
(8)商城管理:管理员点击可查看超市购物、分类列表、订单列表和订单配送。点击“超市购物添加”,上传封面图和主图,输入标题、描述、原价、卖价、库存,选择分类,输入购买须知和正文,点击“提交”按钮进行添加商品信息。同时可查看和管理用户的订单信息,处理订单状态和发货情况。
2.4 非功能性需求分析
系统的非功能需求方面主要是从系统的安全性、存储性、可靠性、易学性、稳定性等方面进行分析:
(1)安全性:系统的安全问题是开发者首先要考虑的,如果系统存在安全隐患,可能使得用户个人信息被泄露,给用户带来困扰,造成损失。
(2)储存性:因为用户使用的关于花卉商品在线销售的网站,买家用户多,而且登录后要查询各种花卉商品信息,那就需要一个强大的数据库来进行数据的存储,对数据库的要求是非常严格的,本系统选用的是MySQL数据库,MySQL的运行速度很快,执行命令的速度也非常快,而且体积小。
(3)可靠性:可靠性指的是用户在进行花卉商品信息查询、评论以及购买的时候,能够按照用户的指示进行显示信息,如果用户点击查询花卉商品详细信息,显示出来的是不可购买的信息,那就违背用户的初衷。
(4)易学性:系统的开发面向对象学历不尽相同,所有在开发的时候要考虑系统操作应该简单,不需要进行任何学习、培训,只能上网的用户就可以操作。
(5)稳定性:系统在运行方面要很稳定,系统的界面、字体要清楚,没有失真现象,给用户以良好的体验。
(6)可拓展性:本蔬菜水果销售系统的功能还有待完善,因此系统要有很好的拓展性,方便后期功能更新维护。
2.5系统角色用例分析
2.5.1系统前台用户用例
蔬菜水果销售系统前台用户的主要功能是对系统信息的查看、收藏、评论以及对超市商品的购买,购买的过程中需要对收货地址进行设置,对购物车进行管理,查看自己的订单。前台普通用户用例图如图2-8所示。
![](https://i-blog.csdnimg.cn/direct/487eff7f3db949bca7750cf880e19f32.png)
图2-8 蔬菜水果销售系统前台买家用户用例图
在系统前台中主要实现的是对蔬菜水果销售系统中信息的浏览,用户对信息收藏、评论以及在花卉超市中对商品购买几个功能。
(1)通知公告功能,主要实现了是对通知公告的查看,用例说明如下表所示:
表2-1 通知公告用例说明
用例名称 | 通知公告 |
角色 | 用户 |
用例说明 | 对通知公告进行查看 |
前置条件 | 用户登录到系统当中 |
后置条件 | 无 |
基本事件流 | 1.进入系统登录界面 2.点击通知公告,选择某条通知公告查看详情 |
扩展流程 | 3a.用户没有登录成功 |
异常事件流 | 无 |
其他 | 无 |
(2)超市购物商品购买功能,本功能是系统的主要功能,主要是实现在线订购功能,用例说明如下标所示:
表2-2 花卉商城用例说明
用例名称 | 商品购买 |
角色 | 用户 |
用例说明 | 对商品加入购物车购买或者立即购买 |
前置条件 | 用户登录到系统当中 |
后置条件 | 对商品加入购物车购买或者立即购买 |
基本事件流 | 1.进入系统登录界面 2.点击超市购物,选择某条商品查看详情 3.加入购物车或者立即购买 4.输入订单信息提交订单 |
扩展流程 | 3a.现在支付方式 |
异常事件流 | 3a.用户没有登录 |
其他 | 无 |
2.5.2系统后端用例
后台主要是管理员的角色功能,用户不能进入后台,管理员进入以后可以对首页的轮播图,商城公告,超市购物/分类及其订单进行管理。
后台管理员用例图如图2-9所示。
![](https://i-blog.csdnimg.cn/direct/990ab183688941478208e08263c4269f.png)
图2-9 蔬菜水果销售系统后台管理员用户用例图
后台管理员主要实现了是对轮播图,商城公告,花卉商城和用户的增删改查操作。后台管理员的用例说明如下表所示:
表3-3 后台管理员用例说明
用例名称 | 后台管理 |
角色 | 管理员 |
用例说明 | 对前端显示的信息进行管理 |
前置条件 | 管理员登录进入后台管理页面 |
后置条件 | 无 |
基本事件流 | 1.管理员登录进入后台管理界面 2.点击左侧选择相应功能板块 3.选择所要操作的数据 4.点击选择的内容进行增加/删除/修改/查找 5.点击立即保存按钮 |
扩展流程 | 无 |
异常事件流 | 无 |
其他 | 无 |
2.6 系统流程分析
2.6.1数据流程
蔬菜水果销售系统主要的目的就是实现对花卉商品的在线订购,图2-10就是系统的数据流图。
![](https://i-blog.csdnimg.cn/direct/ea46ef86d23f4a65b51ca387a1f23912.png)
图2-10花卉商品购买操作展开图
2.6.2业务流程
分析完蔬菜水果销售系统的数据流,接下来我们来看系统的业务流程,图2-11就是业务流程图:
![](https://i-blog.csdnimg.cn/direct/6eb6fe5cd2514eddbb03e4fddfd656e1.png)
图2-11业务流程图
3 蔬菜水果销售系统概要设计
3.1系统功能结构设计
系统在结构上的设计至关重要,要考虑周全,设计全面,一个完善的结构体系,能够满足用户在使用时的各种需求,这样会让提高程序的使用率,保证程序被长久的利用。在设计蔬菜水果销售系统的结构时,也列入重点,采用模块化的方法来进行设计,即首先将大模块确定下来,再慢慢的将大模块进行补充完善,向下分支出小模块,一起共同组成的系统的结构体系,下图是该蔬菜水果销售系统的结构设计图,直观明了的可以看出本项目程序的功能。
蔬菜水果销售系统功能结构图如图3-1所示。
![](https://i-blog.csdnimg.cn/direct/e7cccc9e6b4b494ebc95b2997dfec78e.png)
图3-1 蔬菜水果销售系统功能结构图
3.2系统数据库设计
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
3.2.1数据库概念结构设计
在数据库概念模型设计的时候,一般都采用E-R实体图进行展示,在实体图中可以展示出数据库表中的所有字段名称。下面是整个蔬菜水果销售系统中主要的数据库表总E-R实体关系图。
![](https://i-blog.csdnimg.cn/direct/384baa749df94861a5253370984ab064.png)
图3-2 系统总E-R关系图
3.2.2数据库逻辑结构设计
在数据库表中我们会看到系统的表名、主键、外键等信息,我们通过数据库表的主键、外键把每个表关联起来,然后在界面中展示,本蔬菜水果销售系统的主要的数据库表如下:
表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 | 用户编号: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 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 | 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 | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | returns_and_refunds_id | int | 10 | 0 | N | Y | 退货退款ID | |
2 | buyer_user | int | 10 | 0 | Y | N | 0 | 买家用户 |
3 | product_name | varchar | 64 | 0 | Y | N | 商品名称 | |
4 | product_type | varchar | 64 | 0 | Y | N | 商品类型 | |
5 | product_quantity | varchar | 64 | 0 | Y | N | 商品数量 | |
6 | returns_and_refunds | varchar | 64 | 0 | Y | N | 退货退款 | |
7 | reason_for_application | text | 65535 | 0 | Y | N | 申请理由 | |
8 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | 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 | supermarket_shopping_id | int | 10 | 0 | N | Y | 超市购物ID | |
2 | purchase_notice | varchar | 64 | 0 | Y | N | 购买须知 | |
3 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
4 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
5 | cart_title | varchar | 125 | 0 | Y | N | 标题:[0,125]用于产品html的标签中 | |
6 | cart_img | text | 65535 | 0 | Y | N | 封面图:用于显示于产品列表页 | |
7 | cart_description | varchar | 255 | 0 | Y | N | 描述:[0,255]用于产品规格描述 | |
8 | cart_price_ago | double | 8 | 2 | N | N | 0.00 | 原价:[1] |
9 | cart_price | double | 8 | 2 | N | N | 0.00 | 卖价:[1] |
10 | cart_inventory | int | 10 | 0 | N | N | 0 | 商品库存 |
11 | cart_type | varchar | 64 | 0 | N | N | 未分类 | 商品分类: |
12 | cart_content | longtext | 2147483647 | 0 | Y | N | 正文:产品的主体内容 | |
13 | cart_img_1 | text | 65535 | 0 | Y | N | 主图1: | |
14 | cart_img_2 | text | 65535 | 0 | Y | N | 主图2: | |
15 | cart_img_3 | text | 65535 | 0 | Y | N | 主图3: | |
16 | cart_img_4 | text | 65535 | 0 | Y | N | 主图4: | |
17 | cart_img_5 | text | 65535 | 0 | Y | N | 主图5: | |
18 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
19 | 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.1前台用户功能模块
4.1.1 前台首页界面
游客或者用户进入系统后可以查看系统的信息,包含了程序的标题、导航栏、轮播图、网站公告、超市购物信息等,其主界面展示如下图4-1所示。
图4-1 前台首页界面图
4.1.2注册界面
游客可以查看系统信息,也有注册成为用户的权限。其用注册流程图如图4-2所示,注册界面展示如下图4-3所示。
![](https://i-blog.csdnimg.cn/direct/55b32544312743268b872412f8c80e6f.png)
图4-2注册流程图
![](https://i-blog.csdnimg.cn/direct/c3141f7355e24ddeb5f589355887824f.png)
图4-3 用户注册界面图
注册关键代码如下:
public function register()
{
if (Request::isPost()) {
$request = Request::param();
$request['create_time'] = isset($request['create_time']) ? $request['create_time'] : date('Y-m-d H:i:s');
$request['update_time'] = isset($request['update_time']) ? $request['update_time'] : date('Y-m-d H:i:s');
$result = $this->validate($request, $this->validate);
if (true !== $result) {
$data['error'] = 30000;
$data['message'] = $result;
} else {
$request['password'] = md5($request['password']);
$result = $this->model->register($request, $this->table);
$data = $result;
}
} else {
$data['error'] = 30000;
$data['message'] = "field的值不能为空!";
}
return json_encode($data);
}
public function register($request=[],$table_name = ''){
$username = $request['username'];
$bol = $this->where(['username'=>$username])->find();
if (!$bol){
$result = self::allowField(true)->save($request);
if ($result) {
return ['result' => 1];
} else {
return ['error' => ['code' => 3000, 'message' => '注册失败']];
}
}else{
return ['error' => ['code' => 3000, 'message' => '注册失败,账号已存在']];
}
}
4.1.3登录界面
当用户注册成功以后就成为了正式用户,正式用户可以通过前台的登录页面登录到系统当中,用户登录流程如图5-4所示,登录界面如下图5-5所示。
![](https://i-blog.csdnimg.cn/direct/7de0adf9955b43a1a4102739bfd8aa3a.png)
图4-4 登录流程图
![](https://i-blog.csdnimg.cn/direct/52497957aa424376a26c98afb8c5f93f.png)
图4-5用户登录界面图
登录的逻辑代码如下所示。
public function login()
{
if (Request::isPost()) {
$request = Request::param();
$result = $this->validate($request, $this->validate);
if (true !== $result) {
$data['error'] = 30000;
$data['message'] = $result;
} else {
$request['password'] = md5($request['password']);
$result = $this->model->login($request, $this->table);
$data = $result;
}
} else {
$data['error'] = 30000;
$data['message'] = "field的值不能为空!";
}
return json_encode($data);
}
public function login($request=[],$table_name = ''){
$username = $request['username'];
$password = $request['password'];
$bol = $this->where(['username'=>$username])->find();
if ($bol){
$password = md5($password);
if ($request['password']==$bol['password']) {
//添加token信息
$access_token['create_time'] = date('Y-m-d H:i:s');
$access_token['update_time'] = date('Y-m-d H:i:s');
$access_token['info'] = json_encode($bol);
// $access_token['info'] = $bol;
$access_token['token'] = md5(date('Y-m-d H:i:s'));
$bol_token = Db::name('AccessToken')->insert($access_token);
if ($bol_token){
$data['obj'] = $bol;
$data['obj']['token'] = $access_token['token'];
return ['result' => $data];
}else{
return ['error' => ['code' => 5000, 'message' => '登录失败,token生成失败']];
}
} else {
return ['error' => ['code' => 5000, 'message' => '登录失败,密码不正确']];
}
}else{
return ['error' => ['code' => 5000, 'message' => '登录失败,账号不存在']];
}
}
4.1.4 超市咨讯界面
超市咨讯:用户点击可查看超市咨讯,同时可对咨讯文章进行点赞、收藏和评论。其界面如下图4-6所示。
![](https://i-blog.csdnimg.cn/direct/165f36855c8642db83cef0ae7c991d93.png)
图4-6超市咨讯界面图
4.1.5 超市购物界面
超市购物:用户点击可查看商品列表和商品详情,同时可对商品信息进行收藏、评论和加购操作。加入购物车流程图如图4-7所示。
![](https://i-blog.csdnimg.cn/direct/9e036c1af2764cc082feb977f463bc6d.png)
图4-7加入购物车流程图
购买工作流程图如图4-8所示。
![](https://i-blog.csdnimg.cn/direct/4073ed9576d748a58d6164eaf2846080.png)
图4-8 购买工作流程图
![](https://i-blog.csdnimg.cn/direct/6d612584bca8465aa25563d21a676707.png)
图4-9 超市购物界面图
4.1.6个人中心界面
个人中心:用户点击头像可查看“个人中心”,包括个人首页、退货退款、订单配送和收藏。点击“退货退款”,输入商品名称、商品类型、商品数量、退货退款和申请理由,点击“提交”按钮可进行添加退货退款信息。界面如下图所示。
![](https://i-blog.csdnimg.cn/direct/28787af9c9384c9191890242b5d9e776.png)
图4-10 个人中心界面图
![](https://i-blog.csdnimg.cn/direct/bf3f7ebb7d524e03a35748d5ab57a4dd.png)
图4-11 退货退款添加界面图
4.2后台功能模块
4.2.1后台首页界面
后台首页:管理员点击可查看商品销售金额和商品销售数量数据统计图。后台首页界面如下图所示。
![](https://i-blog.csdnimg.cn/direct/3229b2a67d5b41dd911f306dc38370bb.png)
图4-12 后台首页界面图
4.2.2退货退款管理界面
退货退款管理:管理员点击可查看退货退款列表,同时可对退款申请进行审核通过。界面如下图所示。
![](https://i-blog.csdnimg.cn/direct/6b0cc5abab334758a5fc4a37a1c45de4.png)
图4-13 退货退款管理界面图
4.2.3系统管理界面
系统管理:当管理员点击“系统管理”时,可查看轮播图; 如需添加新的轮播图,点击右侧“添加”按钮,上传图片,输入标题,点击“确认”按钮进行添加;同时可对轮播图进行增删改查。界面如下图4-14所示。
![](https://i-blog.csdnimg.cn/direct/129bce54ce954671ab94eb45c65701aa.png)
图4-14 系统管理界面图
4.2.4 资源管理界面
资源管理:管理员点击可查看超市咨讯和咨讯分类;如需添加新的超市资讯,点击“新增”按钮,上传封面图,输入标题,选择分类,输入标签、描述和正文,点击“确认”按钮进行添加。同时可对咨讯进行增删改查。理界面如下图4-15所示。
![](https://i-blog.csdnimg.cn/direct/8b93464ce49b4f289f85126b6fe1f22b.png)
图4-15资源界面图
4.2.5 商城界面
商城管理:管理员点击可查看超市购物、分类列表、订单列表和订单配送。点击“超市购物添加”,上传封面图和主图,输入标题、描述、原价、卖价、库存,选择分类,输入购买须知和正文,点击“提交”按钮进行添加商品信息。同时可查看和管理用户的订单信息,处理订单状态和发货情况。界面如下图4-16所示。
![](https://i-blog.csdnimg.cn/direct/98a583607f19466d8954345ac16f49b4.png)
图4-16商城管理界面图
5系统的测试
5.1测试的目的
一个系统测试的目的就是检验系统在真正的工作环境、条件下是不是能够正常运行,各种功能能不能符合设计的要求,通过测试发现系统当中存在的一些潜在的错误,然后对系统进行改进,使得系统最终以完美的形式展现给用户,提高用户使用过程中的体验度,真正达到项目的实际使用目的。
5.2 系统测试用例
系统测试包括:管理员登录功能测试、超市购物查看功能测试、商品添加功能测试、加入购物车购买功能测试,如表5-1、5-2、5-3、5-4所示:
表5-1 管理员登录功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
登录模块测试 | 登录成功的情况 | 管理员可以通过浏览器进入到蔬菜水果销售系统后台登录界面,输入用户名:admin和密码admin后,点击“登录”按钮。 | 成功登录到管理员管理的界面 | 正确 |
登录模块测试 | 登录失败的情况 | 管理员可以通过浏览器进入到蔬菜水果销售系统后台登录界面,输入用户名:admin和密码111后,点击“登录”按钮。 | 系统提示“用户名和密码不匹配” | 正确 |
超市购物查看功能测试:
表5-2 超市购物查看功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
查询超市购物信息功能测试 | 查询成功的情况 | 用户在导航栏中点击“超市购物”,输入关键词查询商品,输入的超市购物在系统中存在,显示查询商品信息 | 查询成功 | 正确 |
商城管理中商品添加界面测试:
表5-3 管理员添加商品界面测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
商品添加模块测试 | 商品添加成功的情况 | 在“商城管理”菜单中点击“超市”会显示出所有的商品信息,点击“添加”,输入商品信息,输入正确的信息后,点击“提交”按钮。 | 提示添加成功 | 正确 |
商品添加模块测试 | 商品添加失败的情况 | 在“商城管理”菜单中点击“超市购物”会显示出所有的商品信息,点击“添加”,不输入标题,其他信息正常填写后,点击“提交”按钮。 | 提示“添加失败,标题不能为空” | 正确 |
加入购物车购买功能测试:
表5-4 加入购物车购买功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
加入购物车购买功能测试 | 购买的情况 | 用户在花卉商城的花卉商品详情页面,点击“加入购物车”,然后在“我的购物车”界面,点击“购买”按钮,进行付款。 | 加入购物车购买成功 | 正确 |
5.3 系统测试结果
本次开发的系统是一个花卉商品在线交易、购买的系统,主要功能就是实现用户的在线订购,通过对管理员登录、超市购物查询、商品添加、加入购物车购买这几个方面的测试可以看出系统的基本可以实现用户对花卉商品购买的功能,而且在测试的过程中也对界面的展示进行了查看,发现界面并没有出现扭曲、混乱等情况,能够满足用户的需求,系统运行良好,是可以进行投入使用的。
6 结论
本次蔬菜水果销售系统利用了PHP技术应用同现实花卉订购管理工作进行相结合,在系统功能开始编码之前,作者花费了大量时间在图书馆内进行资料文献的收集和总结,通过大量文献的分析,能够发现,花卉订购管理的方式在商家中扮演的位置是越来越重要,而使用的方式也是越来越多元化,也正是因为这个原因,作者深深的希望能够开发出一种专门针对花卉商家的蔬菜水果销售系统,以满足买家用户的需求。
在本次蔬菜水果销售系统中,利用了目前市场上普遍使用的php技术,以及数据库管理功能MySQL,和目前比较流行的Thinkphp框架,最后配合使用到了uniapp页面布局技术进行系统界面的布置,以现实生活的花卉订购管理过程为标准,设计实现了首页、商城公告、花卉商城、商城管理等功能,并维护好后台的信息和整体系统的稳定性。
但是由于作者受到了技术水平的限制,在有限的时间,只能够将系统功能模拟时的功能实现,在许多功能方面仍然存在很大的弊端,而这些弊端需要不断的测试,不断的总结,不断的改进。例如本次系统设计中,在数据储存的方面并不够全面,很容易出现信息泄露的风险;例如针对用户权限的设置同样不够全面完整,没有考虑权限在实际情况的运用是否能够完美执行。而在这之后的日子里,作者将会继续学习php技术和相关的信息技术,对系统功能进行更加完整的,详细的分析,将系统功能一一进行完善,帮助使用者完成相应的操作。
参考文献
[1]赵春辉. PHP应用漏洞检测方法研究[D].北京邮电大学,2023.DOI:10.26969/d.cnki.gbydu.2023.000290.
[2]卜德欣. R语言和PHP语言缺陷的实证研究[D].南京邮电大学,2023.DOI:10.27251/d.cnki.gnjdc.2023.000951.
[3]刘帅,黄猛,杨光.《PHP网站开发》课程应用混合式教学的研究与实践[J].电子元器件与信息技术,2023,7(09):213-216.DOI:10.19772/j.cnki.2096-4455.2023.9.053.
[4]沙程. MD蔬菜公司营销策略研究[D].桂林理工大学,2023.DOI:10.27050/d.cnki.gglgc.2023.000104.
[5]朱真真,王柯梦. php在动态网站开发中的优势与具体应用分析[C]//广东省教师继续教育学会.广东省教师继续教育学会第六届教学研讨会论文集(一).广东省教师继续教育学会第六届教学研讨会论文集(一),2023:3.DOI:10.26914/c.cnkihy.2023.000662.
[6]张黎平.“互联网+”背景下PHP动态网站开发技术研究[J].无线互联科技,2022,19(16):154-156.
[7]张俊.MySQL数据库在PHP网页中的动态应用[J].集成电路应用,2022,39(06):112-113.DOI:10.19339/j.issn.1674-2583.2022.06.043.
[8]张佳丽. 新疆农产品出口中亚五国营销策略研究[D].兰州财经大学,2023.DOI:10.27732/d.cnki.gnzsx.2022.000291.
[9]么伟伟,张涛.PHP技术在企业网站开发中的应用研究[J].现代工业经济和信息化,2022,12(05):158-159+234.DOI:10.16525/j.cnki.14-1362/n.2022.05.065.
[10]程麒安. 食用菌销售平台的设计与开发[D].大连海洋大学,2022.DOI:10.27821/d.cnki.gdlhy.2022.000201.
[11]苏艳玲,马耀川.高校线上水果销售平台的研究分析与设计——以陕西服装工程学院为例[J].食品安全导刊,2021(28):159-160.DOI:10.16043/j.cnki.cfs.2021.28.090.
[12]卢梅艳,覃琳婷,孙晗卿等.互联网+益民项目研究——以有机蔬菜为例[J].现代营销(学苑版),2021(09):74-76.DOI:10.19932/j.cnki.22-1256/F.2021.09.074.
[13]张的.电商平台的水果销售及管理研究[J].营销界,2021(21):152-154.
[14]马丽萍,温玉石,谢宝玲等.“互联网+精准扶贫”背景下网络销售平台发展策略[J].现代农村科技,2020(06):8-9.
[15]付昕,饶日楠,胡萍等.基于app的水果线上线下销售平台设计与实践[J].科技视界,2020(01):171-173.DOI:10.19694/j.cnki.issn2095-2457.2020.01.66.
[16]朱妮.基于O2O模式的智能农产品销售平台[J].农业工程,2019,9(06):40-43.
[17]宋勇建. 有机蔬菜销售直通车平台的研究与设计[D].河北科技师范学院,2019.
[18]郑晓飞.微信电子商务C2C水果销售平台[J].现代商业,2018(09):18-19.DOI:10.14097/j.cnki.5392/2018.09.006.
致谢
眨眼之间,大学生活就要结束了。在本文的最后,我要感谢我和蔼可亲的导师、团结有爱的同学的帮助和鼓励。此刻,我找不到感谢之词可以用来表达我最深切的感激之情。尤其感谢我的指导老师,在选题的过程中与我进行了深入的交流,在毕业设计期间给我提供了一些指导。四年的学习生活让我受益良多,老师们的丰富的学术知识、认真负责的学习态度让我受益匪浅。在此,我深深地感谢那些曾经给予我帮助和指导的老师!
我们的论文得益于许多学者的贡献,他们的研究成果为我们提供了宝贵的指导,使我们能够更好地完成这篇文章。感谢我的同学和朋友在我的写作以及排版过程中给予热情的帮助,才使得我比较顺利的完成了这篇论文。
感谢大学里遇见的朋友,你们在我这四年里留下无数的温暖和快乐,让我对这个校园多了一份留念。最后,感谢我的父母、辅导员、班长,以及室友们对我大学生活上的关心和理解,让我能保持乐观和追求我所热爱的。尽管我的能力有限,但我仍然尽力去完善这篇论文,并且诚挚地希望各位老师和学友能够给予宝贵的指导与意见!
请关注点赞+私信博主,免费领取项目源码