基于微信小程序的校园美食平台的设计与实现-计算机毕业设计源码46523

基于微信小程序的校园美食平台的设计与实现

摘  要

随着移动互联网的普及和智能设备的广泛使用,人们的生活方式正在发生深刻的变化。特别是在餐饮领域,消费者对于便捷性、多样性和个性化的需求日益增加。校园作为一个庞大的消费群体聚集地,其餐饮市场潜力巨大。然而,传统的校园餐饮模式往往存在菜品单一、服务不便等问题,难以满足学生的多样化需求。

微信小程序作为一种轻量级的应用程序,以其即用即走、无需下载安装、与社交生态紧密结合的特点,为校园美食平台提供了新的发展机遇。通过微信小程序,学生可以随时随地点餐、支付、评价,享受便捷、个性化的餐饮服务;商家则可以扩大销售渠道,提高服务效率,降低运营成本。

PHP作为一种成熟、稳定、易学的服务器端编程语言,具有丰富的资源和广泛的应用场景。利用PHP开发后端服务,可以实现高效的数据处理、业务逻辑控制和安全性保障,为微信小程序提供稳定、可靠的支持。

因此,本研究旨在设计和实现一个基于微信小程序的校园美食平台。通过该平台,学生可以浏览菜品、下单点餐、支付评价,享受便捷、个性化的餐饮服务;商家则可以发布菜品、管理订单、统计分析,提高服务效率和盈利能力。同时,本研究还将探讨如何结合PHP技术实现后端服务的开发和优化,确保平台的稳定性和可扩展性。

关键词:校园美食平台;php;微信小程序

Design and Implementation of Campus Food Platform Based on WeChat Mini Program

Abstract

With the popularization of mobile Internet and the wide use of intelligent devices, people's lifestyle is undergoing profound changes. Especially in the catering industry, consumers have an increasing demand for convenience, diversity, and personalization. As a gathering place for a large consumer group, the campus has enormous potential in the catering market. However, the traditional campus catering model often faces problems such as single dishes and inconvenient services, making it difficult to meet the diverse needs of students.

As a lightweight application, WeChat mini programs provide new development opportunities for campus food platforms with their features of being ready to use, no need to download or install, and close integration with the social ecosystem. Through the WeChat mini program, students can order, pay, evaluate, and enjoy convenient and personalized catering services anytime and anywhere; Merchants can expand their sales channels, improve service efficiency, and reduce operating costs.

PHP, as a mature, stable, and easy to learn server-side programming language, has abundant resources and a wide range of application scenarios. Developing backend services using PHP can achieve efficient data processing, business logic control, and security protection, providing stable and reliable support for WeChat mini programs.

Therefore, this study aims to design and implement a campus food platform based on WeChat mini programs. Through this platform, students can browse dishes, place orders, pay reviews, and enjoy convenient and personalized catering services; Merchants can publish dishes, manage orders, conduct statistical analysis, and improve service efficiency and profitability. Meanwhile, this study will also explore how to combine PHP technology to develop and optimize backend services, ensuring the stability and scalability of the platform.

Key words: Campus food platform; PHP; WeChat Mini Program

目   录

摘  要

第一章 绪 论

1.1研究背景和意义

1.2国内外研究现状

1.3本文的组织结构

第二章 系统分析

2.1可行性分析

2.1.1技术可行性   

2.1.2经济可行性

2.1.3操作可行性

2.2系统功能分析

2.2.1 功能性分析

2.2.2 非功能性分析

2.3 系统用例分析

2.4系统操作流程

2.41用户登录流程

2.4.2信息添加流程

2.4.3信息删除流程

第三章 系统设计与实现

3.1系统架构设计

3.2开发流程设计

3.3数据库设计

3.3.1实体ER图

3.3.2数据表

第四章 系统实现

4.1用户端:注册用户功能模块

4.2 管理端:管理员功能模块

第五章  系统的测试

5.1系统测试的目的

5.2 系统测试用例

5.3 系统测试结果

结  论

参考文献

致  谢

第一章 绪 论

1.1研究背景和意义

在数字化和移动互联网飞速发展的今天,微信小程序作为一种轻量级的应用程序,以其即用即走、无需下载安装、与社交生态紧密结合的特点,正逐渐渗透到人们日常生活的方方面面。特别是在餐饮领域,微信小程序以其独特的优势,为校园美食平台的建设提供了新的发展契机。

校园作为年轻消费者的聚集地,其餐饮市场具有巨大的潜力和发展空间。然而,传统的校园餐饮模式往往面临着菜品单一、服务不便、效率低下等问题,难以满足学生日益增长的多样化、个性化需求。因此,借助微信小程序构建一个校园美食平台,不仅可以为学生提供更加便捷、个性化的餐饮服务,还能为商家提供一个更广阔的销售渠道和更高效的服务方式。

基于微信小程序的校园美食平台具有深远的意义,它不仅提升了校园餐饮服务质量,还促进了校园餐饮文化的发展,并推动了智慧校园建设的进程。

通过这一平台,学生能够享受到更加便捷和个性化的餐饮服务。他们可以随时随地通过小程序浏览菜单、下单点餐、完成支付,并留下自己的评价和建议。这种即时的互动和反馈机制使得餐饮服务更加贴合学生的需求,提高了服务的及时性和准确性。

同时,校园美食平台也为商家提供了一个全新的销售渠道和服务方式。商家可以实时接收订单,快速响应学生的需求;通过数据分析,商家还可以更好地了解销售情况和学生偏好,从而优化库存管理和菜品更新。这种数字化的管理方式不仅提高了商家的运营效率,也增强了他们的市场竞争力。

更重要的是,基于微信小程序的校园美食平台是智慧校园建设的重要一环。通过平台的运营和管理,校园内的餐饮资源得到了更加合理和高效的配置,推动了校园信息化和智能化的进程。这不仅提升了校园整体的服务水平,也增强了校园的竞争力,为学生和教师创造了一个更加便捷、舒适的学习和生活环境。

基于微信小程序的校园美食平台不仅提升了校园餐饮服务的品质,丰富了校园餐饮文化的内涵,还为智慧校园的建设注入了新的活力。它的出现不仅满足了学生日益增长的多样化需求,也为校园餐饮行业的发展带来了新的机遇和挑战。

1.2国内外研究现状

国内研究现状:

在国内,随着移动互联网的普及和微信小程序的快速发展,基于微信小程序的校园美食平台正逐渐受到关注。目前,国内已有不少高校和企业开始尝试利用微信小程序搭建校园美食平台。这些平台通常提供菜品浏览、在线点餐、支付评价等功能,为学生和教职工提供便捷、个性化的餐饮服务。同时,国内的研究者和开发者也在不断探索和完善基于微信小程序的校园美食平台的设计和实现方法。他们通过引入先进的技术和理念,提升平台的智能化和个性化服务水平。此外,国内的政策环境也为校园美食平台的发展提供了有力支持,如推动智慧校园建设、加强食品安全监管等。

国外研究现状:

在国外,类似于微信小程序的移动应用平台也十分流行,如Facebook的Instant Apps、Google的Progressive Web Apps等。这些平台为校园美食平台的建设提供了丰富的技术选择和实现方式。在国外的高校中,不少也已经开始尝试利用这些平台搭建校园美食服务系统。这些系统通常具备在线点餐、移动支付、评价反馈等功能,并注重用户体验和信息安全。同时,国外的研究者和开发者也在不断探索和创新校园美食平台的设计和实现方法。他们通过引入先进的技术和理念,如物联网技术、虚拟现实技术等,为校园美食平台带来新的发展机遇和挑战。

综上所述,基于微信小程序的校园美食平台在国内外都受到了广泛的关注和研究。通过不断引入先进的技术和理念,完善平台的设计和实现方法,可以进一步提升校园餐饮服务的品质和效率,为学生和教职工创造更加便捷、舒适的生活和学习环境。

1.3本文的组织结构

第一章是绪论,本文章的开头部分,对本题目的研究背景意义和国内外研究现状等一些做文字性的描述。

第二章是系统分析部分,包括系统总体需求描述、功能性角度分析系统需求、非功能性等各个方面分析系统是否可以实现。

第三章是系统设计部分,本文章的重要部分,提供了系统架构的详细设计和一些主要功能模块的设计说明。

第四章是系统的具体实现,介绍系统的各个模块的具体实现。

第五章在前几章的基础上对系统进行测试和运行。

最后对系统进行了认真的总结,以此对未来有一个新的展望。

章 系统分析

2.1可行性分析

2.1.1技术可行性   

基于微信小程序的校园美食平台采用PHP技术,开发了功能全面、操作简便的前端应用,并建立了安全稳定的后台数据库系统。使用PHP和MySQL作为开发工具,不仅因为它们功能强大且免费,还因为它们易于学习和操作。结合用户角色开发此平台,能够为用户提供便捷的餐饮服务。同时,我们注重数据完整性和安全性,确保数据的功能分配和管理有据可依。此外,还定义了构建安全计算环境所需的步骤,以维护系统安全性。总之,基于微信小程序的校园美食平台在技术上是可行的,为提升校园餐饮服务和智慧校园建设提供了有力支持。

2.1.2经济可行性

基于微信小程序的校园美食平台的设计与实现完全由开发者自主开发,无需购买额外软件或端口,因此在经济上完全可行,无额外费用支出。利用成熟的PHP技术,结合市场调研和团队努力,开发者成功解决了遇到的难题,确保了项目的顺利进行。此项目在经济和技术层面均具备可行性。

2.1.3操作可行性

基于微信小程序的校园美食平台设计完成后,用户体验极佳。管理员可轻松管理数据信息,而管理员和注册用户均可直观进入各自界面,通过导航菜单便捷操作功能模块,实现下单等需求。无需专业知识,普通用户即可直接操作管理功能模块。系统采用界面窗口登录,简单电脑操作即可完成所有操作,因此系统可操作性高。

2.2系统功能分析

2.2.1 功能性分析

按照基于微信小程序的校园美食平台的设计与实现的角色,划分了注册用户和管理员这两大部分。功能需求分析如下:

注册用户功能介绍:

注册登录:注册用户可以通过注册账号并登录系统,以便享受更多功能,如购物、查看订单等。

首页:用户登录后可以浏览到平台的首页,显示最新的美食资讯、优惠活动、热门美食等内容,方便用户选择浏览。

购物车:用户可以将感兴趣的美食加入购物车,方便随时查看已选商品并进行下单操作。

美食资讯:注册用户能够浏览系统发布的美食资讯,包括美食推荐、食材介绍、烹饪技巧等,丰富用户的美食知识。

网站公告:用户可以查看系统发布的网站公告,包括平台更新、活动通知等内容。

美食商城:注册用户可以浏览平台的美食商城,选择购买各种美食产品,包括生鲜食材、熟食、零食等。

我的:用户可以查看和管理个人信息,包括基本信息、收货地址、收藏的商品、订单历史、购物车状态、优惠券、积分记录等。

收货地址:用户可以管理收货地址,包括添加新地址、修改地址、删除地址等操作,以确保订单能准确配送到指定地址。

收藏:用户可以将喜欢的美食加入收藏夹,方便日后查看和购买。

订单:注册用户可以查看订单状态、订单详情、配送信息等,保证购物过程的透明和便利性。

我的优惠券:用户可以查看个人账户中的优惠券信息,包括有效期、使用条件等。

个人信息:用户可以查看和修改个人信息,如昵称、头像等。

售后结果:用户可以查看售后申请的处理结果,包括退款、换货等。

取消订单:用户可以在一定时间内取消未配送的订单,以便调整购物计划或变更配送地址等需求。

售后信息:用户可以提交售后申请,并查看售后进度和结果。

积分记录:用户可以查看积分获取和使用记录,了解积分的获取途径和使用规则。

充值记录:用户可以查看账户的充值记录,了解账户的资金流水情况。

订单配送:用户可以查看订单的配送情况,包括配送状态、配送员信息等。

管理员功能介绍:

登录:管理员需要能够通过管理员账号和密码登录系统,以便进行管理和监控。

系统用户管理:管理员需要进行系统用户的管理,包括添加新用户、修改用户信息、重置密码、禁用用户等操作。

个人信息管理:管理员需要能够查看和管理系统用户的个人信息,包括基本信息、联系方式等。

取消订单管理:管理员需要能够查看和处理用户的取消订单申请,包括审核取消订单、处理退款等操作。

售后信息管理:管理员需要能够查看和处理用户的售后申请,包括退款、换货等操作。

售后结果管理:管理员需要记录和管理售后申请的处理结果,包括退款、换货的结果等。

积分记录管理:管理员需要能够查看和管理用户的积分记录,包括积分获取和使用的记录。

充值记录管理:管理员需要能够查看和管理用户的充值记录,包括充值金额、充值时间等。

系统管理:管理员需要可以管理系统首页的轮播图,包括上传、编辑、删除轮播图等操作。

通知公告管理:管理员需要能够发布网站的通知公告,包括系统更新、重要通知等内容。

资源管理:管理员需要能够管理美食资讯的内容和分类,包括添加新资讯、编辑资讯内容、删除资讯等操作。

商城管理:管理员需要管理系统中的商城功能,包括商品管理、库存管理、价格设置等。管理员应可以添加新商品、编辑商品信息、下架过期商品等。

分类列表:管理员需要能够管理商城中的分类信息,包括添加新分类、编辑分类、删除分类等操作。

订单列表:管理员需要能够查看所有订单的列表,包括订单状态、订单详情、用户信息等,并能够进行订单的处理、跟踪和管理。

订单配送:管理员需要能够管理订单的配送情况,包括分配配送员、更新配送状态等操作。

2.2.2 非功能性分析

基于微信小程序的校园美食平台的设计与实现的非功能性需求比如基于微信小程序的校园美食平台的设计与实现的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下2-1表格中:

2-1基于微信小程序的校园美食平台的设计与实现非功能需求表

安全性

主要指基于微信小程序的校园美食平台的设计与实现数据库的安装,数据库的使用和密码的设定必须合乎规范。

可靠性

可靠性是指基于微信小程序的校园美食平台的设计与实现能够安装用户的指示进行操作,经过测试,可靠性90%以上。

性能

性能是影响基于微信小程序的校园美食平台的设计与实现占据市场的必要条件,所以性能最好要佳才好。

可扩展性

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

易用性

用户只要跟着基于微信小程序的校园美食平台的设计与实现的页面展示内容进行操作,就可以了。

可维护性

基于微信小程序的校园美食平台的设计与实现开发的可维护性是非常重要的,经过测试,可维护性没有问题

2.3 系统用例分析

通过2.2功能的分析,得出了基于微信小程序的校园美食平台的设计与实现的用例图:

注册用户角色用例如图2-1所示。

图2-1基于微信小程序的校园美食平台的设计与实现会员用户角色用例图

后台管理上的管理员是维护整个基于微信小程序的校园美食平台的设计与实现中所有数据信息的。管理员角色用例如图2-2所示。

图2-2基于微信小程序的校园美食平台的设计与实现管理员角色用例图

2.4系统操作流程

2.41用户登录流程

对于系统的安全性的第一关,就是用户想要进入系统,必须通过登录窗口,输入自己的登录信息才可以进行登录,用户输入的信息准确无误后才可以进入到操作系统界面,进行功能模块的相对应操作,如果用户输入的信息不正确,则窗口出现提示框,用户登录失败,返回到第一步进行重新输入,如图2-3所示。

图2-3登录操作流程图

2.4.2信息添加流程

对于基于微信小程序的校园美食平台的设计与实现,需要随时添加所需要的数据信息,对于用户添加信息,需要根据添加界面,根据选框的内容进行填写所要添加的数据信息,信息输入完成后判断数据信息是否符合要求,符合要求则添加完成,用户所添加的信息不符合要求,则需要返回到第一步,重新输入数据信息,再进行判断操作,如图2-4所示。

图2-4信息添加流程图

2.4.3信息删除流程

不管是哪个用户角色进入到不通的系统操作界面,都可以进行不同的信息内容的操作功能,对用系统数据信息的删除,用户一旦将信息删除,那么该删除的数据信息将无法恢复,所以用户在对数据删除事,一定判断删除的内容是否是确定要删除的,确定无误后选择确定删除操作,如图2-5所示。

图2-5信息删除流程图


章 系统设计与实现

3.1系统架构设计

本基于微信小程序的校园美食平台的设计与实现从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。

图3-1 基于微信小程序的校园美食平台的设计与实现架构设计图

表现层(UI):又称UI层,主要完成本基于微信小程序的校园美食平台的设计与实现的UI交互功能,一个良好的UI可以提高用户的用户体验,增强用户使用本基于微信小程序的校园美食平台的设计与实现时的舒适度。UI的界面设计也要适应不同版本的基于微信小程序的校园美食平台的设计与实现以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用户进行交互操作时必须要得到与之相符的交互结果,这就要求表现层要与业务逻辑层进行良好的对接。

业务逻辑层(BLL):主要完成本基于微信小程序的校园美食平台的设计与实现的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。

数据层(DL):由于本基于微信小程序的校园美食平台的设计与实现的数据是放在服务端的mysql数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本基于微信小程序的校园美食平台的设计与实现的数据存储和管理功能。

3.2开发流程设计

基于微信小程序的校园美食平台的设计与实现的开发对管理模块和系统使用的数据库进行分析,编写代开发,规划和操作是构建信息管理应用程序的必要三步曲,它决定了系统是否能够真正实现预设功能以及是否可以在成功设计后实施。在开发过程中,每个阶段必须严格按照线性顺序进行开发,并且在相应阶段生成的每个工作都可以通过技术进行验证和检查。确保一个阶段完成后是正确的,不会造成下一阶段拖拽现象,使系统完成设计功能后得到保证。

从基于微信小程序的校园美食平台的设计与实现的成功开发经验来看,上述方法效果最为明显,最大程度地降低了系统开发的复杂性。如图3-2所示。

图3-2开发系统流程图

3.3数据库设计

数据库是信息系统的基础和核心。数据库设计的好坏直接影响到信息系统开发的成败。创建数据库表首先确定实体的属性和实体之间的关系。根据关系创建一个数据表。

3.3.1实体ER图

数据库是整个软件编程中最重要的一个步骤,对于数据库问题主要是判定数据库的数量和结构公式的创建。展示系统使用的是Mysql进行对数据库进行管理,进行保证数据的安全性、稳定性等。

概念模型的设计是为了抽象真实世界的信息,并对信息世界进行建模。它是数据库设计的强大工具。数据库概念模型设计可以通过E-R图描述现实世界的概念模型。系统的E-R图显示了系统中实体之间的链接。而且Mysql数据库是自我保护能力比较强的数据库,下图主要是数据库实体的E-R图如图3-3所示:

图3-3实体的E-R图

这些功能可以充分满足基于微信小程序的校园美食平台的设计与实现的需求。此系统功能较为全面,系统功能结构图如3-4所示。

图3-4系统功能结构图

3.3.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

用户编号:

表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

默认判断

表after_sales_information (售后信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

after_sales_information_id

int

10

0

N

Y

售后信息ID

2

user_account

int

10

0

Y

N

0

用户账户

3

user_name

varchar

64

0

Y

N

用户姓名

4

order_number

varchar

64

0

Y

N

订单编号

5

after_sales_time

date

10

0

Y

N

售后时间

6

after_sales_reasons

text

65535

0

Y

N

售后原因

7

examine_state

varchar

16

0

N

N

未审核

审核状态

8

examine_reply

varchar

16

0

Y

N

审核回复

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表after_sales_results (售后结果)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

after_sales_results_id

int

10

0

N

Y

售后结果ID

2

user_account

int

10

0

Y

N

0

用户账户

3

user_name

varchar

64

0

Y

N

用户姓名

4

order_number

varchar

64

0

Y

N

订单编号

5

after_sales_time

date

10

0

Y

N

售后时间

6

after_sales_reasons

text

65535

0

Y

N

售后原因

7

after_sales_results

text

65535

0

Y

N

售后结果

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

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

更新时间:

表cancel_order (取消订单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

cancel_order_id

int

10

0

N

Y

取消订单ID

2

user_account

int

10

0

Y

N

0

用户账户

3

user_name

varchar

64

0

Y

N

用户姓名

4

order_number

varchar

64

0

Y

N

订单编号

5

cancel_time

date

10

0

Y

N

取消时间

6

reason_for_cancellation

text

65535

0

Y

N

取消原因

7

examine_state

varchar

16

0

N

N

未审核

审核状态

8

examine_reply

varchar

16

0

Y

N

审核回复

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

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:

表coupon (优惠券)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

coupon_id

int

10

0

N

Y

优惠券id

2

coupon_user_id

int

10

0

Y

N

优惠券用户id

3

coupon_user_auth

varchar

255

0

Y

N

优惠券用户

4

coupon_name

varchar

255

0

Y

N

优惠券名称

5

coupon_price

int

10

0

Y

N

优惠券价格

6

coupon_price1

int

10

0

Y

N

优惠券券后价格

7

coupon_time

varchar

255

0

Y

N

优惠券时间

8

coupon_type

varchar

255

0

Y

N

优惠券类型

9

create_time

timestamp

19

0

Y

N

CURRENT_TIMESTAMP

10

update_time

timestamp

19

0

Y

N

CURRENT_TIMESTAMP

表coupon_user (用户优惠券)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

id

int

10

0

N

Y

id

2

user_id

int

10

0

Y

N

用户id

3

coupon_id

int

10

0

Y

N

优惠券id

4

is_use

int

10

0

Y

N

是否使用

5

coupon_user_id

int

10

0

Y

N

表food_mall (美食商城)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

food_mall_id

int

10

0

N

Y

美食商城ID

2

introduction_to_ingredients

varchar

64

0

Y

N

食材介绍

3

product_points

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

更新时间

表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

更新时间:

表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:

表integral_record (积分记录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

integral_record_id

int

10

0

N

Y

积分记录ID

2

user_account

int

10

0

Y

N

0

用户账户

3

user_name

varchar

64

0

Y

N

用户姓名

4

record_date

date

10

0

Y

N

记录日期

5

order_number

varchar

64

0

Y

N

订单编号

6

number_of_points

int

10

0

Y

N

0

积分数量

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表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

折扣

表personal_information (个人信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

personal_information_id

int

10

0

N

Y

个人信息ID

2

user_account

int

10

0

Y

N

0

用户账户

3

user_name

varchar

64

0

Y

N

用户姓名

4

user_gender

varchar

64

0

Y

N

用户性别

5

user_age

varchar

64

0

Y

N

用户年龄

6

user_phone_number

varchar

64

0

Y

N

用户电话

7

user_points

int

10

0

Y

N

0

用户积分

8

user_amount

int

10

0

Y

N

0

用户金额

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

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

表recharge_records (充值记录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

recharge_records_id

int

10

0

N

Y

充值记录ID

2

user_account

int

10

0

Y

N

0

用户账户

3

user_name

varchar

64

0

Y

N

用户姓名

4

recharge_date

date

10

0

Y

N

充值日期

5

recharge_amount

int

10

0

Y

N

0

充值金额

6

other_remarks

text

65535

0

Y

N

其他备注

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表registered_users (注册用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

user_age

int

10

0

Y

N

0

用户年龄

5

user_phone_number

varchar

16

0

Y

N

用户电话

6

examine_state

varchar

16

0

N

N

已通过

审核状态

7

user_id

int

10

0

N

N

0

用户ID

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

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.1用户端:注册用户功能模块

用户登录,用户通过输入账号和密码,选择角色并点击登录进行系统登录操作,如下图所示。

图4-1用户登录界面图

登录的关键代码如下:

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-2注册界面图

注册的关键代码如下:

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-3前台首页界面图

基本信息,在基本信息页面用户可以修改头像、昵称、密码等操作,如下图所示。

图4-4基本信息界面图

美食商城,可以查看系统提供的美食信息,包括图片、价格、食材介绍、商品积分等信息。可以对喜欢的商品进行下单购买。如下图所示。

图4-5美食商城界面图

订单详情,用户可以查看订单的详细信息,包括订单编号、下单时间、订单备注等,可以对订单进行支付。订单详情界面如下图所示。

图4-6订单详情界面图

购物车,当用户浏览到心仪的商品时,可以将商品添加至购物车内,查看购物车列表,修改或者删除购物车。购物车界面如下图所示。

图4-7购物车界面图

4.2 管理端:管理员功能模块

管理员进入到操作界面,通过登录窗口进行在线填写自己的用户名、密码、角色进行登录,登录成功后进入到系统操作界面进行相应信息的获取,如下图所示。

图4-8管理员登录主界面图

管理员登陆系统后,可以对后台首页、系统用户、个人信息管理、取消订单管理、售后信息管理、售后结果管理、积分记录管理、充值记录管理、系统管理(轮播图)、通知公告管理、资源管理(资讯列表、资讯分类)、商城管理(美食商城、分类列表、订单列表、订单配送)等功能模块进行相对应操作,在功能界面可以查看商品销售数量统计和商品销售金额统计。如下图所示。

图4-9管理员功能界面图

系统用户,在系统用户页面,管理员可以对系统中所有的用户角色进行管控,包含了管理员、注册用户这两种角色,如果需要添加新的用户,点击页面中的“添加”按钮根据提示输入上用户信息,点击“提交”以后在对应的用户界面就可以查看到了,可以点击用户后面的“删除”按钮直接删除某一用户。如下图所示。

图4-10系统用户界面图

添加的关键代码如下:

public function add()

    {

        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 {

if($this->table == 'user'){

$request['password'] = md5($request['password']);

}

$res = $this->add_before($request, $this->table, $this->table_id);

if($res['code'] == 200){

$result = $this->model->add($request, $this->table, $this->table_id);

$this->add_after($this->table);

$data = $result;

}else{

$data['error'] = $res;

}

            }

        } else {

            $data['error']['code'] = 30000;

            $data['error']['message'] = "field的值不能为空!";

        }

        return json_encode($data);

    }

删除的关键代码如下:

public function del()

    {

        $request = Request::param();

        $result = $this->model->del_data($request, $this->table, $this->table_id);

        $data = $result;

        return json_encode($data);

    }

售后信息管理,管理员点击“售后信息管理”这一菜单会显示售后信息列表、售后信息添加这两个子菜单,支持输入订单编号、售后时间进行查询和删除的操作。管理员查看和处理用户的售后申请,包括退款、换货等操作。售后信息列表、售后信息添加如下图所示。

图4-11售后信息列表界面图

图4-12售后信息信息添加界面图

充值记录管理,管理员点击“充值记录管理”这一菜单会显示充值记录列表、充值记录添加这两个子菜单,支持输入充值日期进行查询和删除的操作。管理员查看和管理用户的充值记录,包括充值金额、充值时间等。充值记录列表、充值记录添加如下图所示。

图4-13充值记录列表界面图

图4-14充值记录添加界面图

系统管理,在系统管理页面管理员可以对系统前台展示的轮播图进行增删改查,方便用户进行查看。如下图所示。

图4-15系统管理界面图

轮播图上传的关键代码如下:

public function upload()

    {

        $month = date('Ym', time());

        $data = 'file';

        $path = 'upload/file/' . $month . "/";//上传文件保存位置

        $allow_ext = explode(",", "jpg,jpeg,png,jfif,bmp,gif,ico,xls,xlsx,AVI,mov,rmvb,rm,FLV,mp4,3GP");

        if ($_FILES) {

            $file = $_FILES[$data];

            $rst = [];

            if (!empty($file['name'])) {

                $file_type = explode('.', $file['name']);

                $ext = end($file_type); //获取文件的格式

                $ext = strtolower($ext);

                if (!in_array($ext, $allow_ext)) {

                    $rst['error']['code'] = 30000;

                    $rst['message'] = '只能上传jpg,jpeg,png,jfif,bmp,gif,ico,xls,xlsx,AVI,mov,rmvb,rm,FLV,mp4,3GP类型文件';

                } else {

                    if (!is_dir($path))

                    {

                        mkdir($path, 0777, true);

                    };

                    $name = date('YmdHis') . '_' . rand(10000, 99999) . '.' . $ext;

                    $save_rst = move_uploaded_file($file['tmp_name'], $path . $name);

                    if ($save_rst !== false) {

                        $rst['result']['url'] = 'http://'.$_SERVER['HTTP_HOST'].'/'.$path . $name;

                    } else {

                        $rst['error']['code'] = 30000;

                        $rst['error']['message'] = '文件上传失败';

                    }

                }

            } else {

                $rst['error']['code'] = 30000;

                $rst['error']['message'] = '未选择文件';

            }

        } else {

            $rst['error']['code'] = 30000;

            $rst['error']['message'] = '未获取到文件';

        }

        return json_encode($rst);

    }

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

图4-15通知公告管理界面图

章  系统的测试

5.1系统测试的目的

系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些错误,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。

5.2 系统测试用例

系统测试包括:用户登录功能测试、美食资讯查看功能测试、添加售后信息、充值记录搜索、密码修改功能测试,如表5-1、5-2、5-3、5-4、5-5所示:

用户登录功能测试:

表5-1 用户登录功能测试表

用例名称

用户登录系统

目的

测试用户通过正确的用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的用户名和密码

预期结果

用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

美食资讯查看功能测试:

表5-2 美食资讯查看功能测试表

用例名称

 美食资讯查看

目的

测试美食资讯查看功能

前提

用户登录

测试流程

点击美食资讯列表

预期结果

可以查看到所有美食资讯

实际结果

实际结果与预期结果一致

管理员添加售后信息界面测试:

表5-3 管理员添加售后信息界面测试表

用例名称

售后信息发布测试用例

目的

测试售后信息发布功能

前提

用户正常登录情况下

测试流程

1)点击售后信息管理,然后点击添加后并填写信息。

2)点击进行提交。

预期结果

提交以后,页面首页会显示新的售后信息 

实际结果

实际结果与预期结果一致

充值记录搜索功能测试:

表5-4充值记录搜索功能测试表

用例名称

充值记录搜索测试

目的

测试充值记录搜索功能

前提

测试流程

1)在搜索框填入搜索关键字。

2)点击搜索按钮。

预期结果

页面显示包含有搜索关键字的充值记录

实际结果

实际结果与预期结果一致

密码修改功能测试:

表5-5 密码修改功能测试表

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

管理员用户正常登录情况下

测试流程

1)管理员密码修改并完成填写。

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

5.3 系统测试结果

通过编写基于微信小程序的校园美食平台的设计与实现的测试用例,已经检测完毕用户登录功能测试、美食资讯查看功能测试、添加售后信息、充值记录搜索、密码修改功能测试,通过这些测试为基于微信小程序的校园美食平台的设计与实现的后期推广运营提供了强力的技术支撑。

结  论

在这个设计中,我花了大量的时间去理解系统开发中使用的知识,经过这段时间的努力工作最终完成了系统设计。通过这一阶段的学习,我发现了自己的不足,充分掌握了必要的应用技能,进一步的学习使我充实了自己的知识基础,完成了这个艰巨的任务。当遇到问题时,我很及时的寻求老师的帮助,通过专业的网站和论坛来解决,他们的帮助让我一步一步的成功克服了困难的问题。系统设计过程不容易,你需要不断充实自己,有勇气克服困难。系统开发的一些功能还不完善,需要继续改善后,通过用户体验来修改设计完美的系统,让用户得到更好的体验,我觉得很高兴,因为这是我第一次通过自己的努力实现这个系统,但绝不是我的最后一个,在未来我将努力实现更多的优秀的系统。

在一些编程语言的系统实现中,对词汇表不太熟悉,导致了开发的困难,但是我通过了合适的字典软件来解决这个大问题。由此,我学会了自己的英语缺陷。在那之后,我不断地提高自己的英语知识,这样我就不会有任何未来的工作和生活。毕业设计过程我感觉很深刻,从一开始就不熟悉开发技术,一步一步的使用,接触到文献和信息,不难理解,系统是一次又一次的实现,系统本身对于在线学习是有用的。我从这个设计中获益良多,论文的编写需要有自己的意愿去实现一点,学习生活中所有的问题的勇气,学习的过程就是学习的过程。毕业设计,我学会了将理论知识应用于实践。让我知道该怎么做,我们必须认真对待。勇于克服困难,相信未来,我会做得更好。

参考文献

[1]许义,周焕,刘佳.“候鸟”微信小程序设计与实现[J].电脑编程技巧与维护,2024,(02):60-64.DOI:10.16184/j.cnki.comprg.2024.02.038.

[2]张曰花,陈红娟,刘婷婷.基于HTML5+PHP技术的化妆品网站设计与实现[J].现代信息科技,2023,7(24):33-36+40.DOI:10.19850/j.cnki.2096-4706.2023.24.008.

[3]胡涵毅.基于PHP的校园资源共享平台设计与实现[J].现代信息科技,2023,7(23):1-5.DOI:10.19850/j.cnki.2096-4706.2023.23.001.

[4]闫娇娇.基于Think PHP+Vue商城管理系统的设计与实现[J].电脑知识与技术,2023,19(34):59-62.DOI:10.14004/j.cnki.ckt.2023.1834.

[5]赵朝进.基于PHP技术的动态网页设计和实现[J].电脑知识与技术,2023,19(33):21-23.DOI:10.14004/j.cnki.ckt.2023.1767.

[6]田娟.基于PHP+MySQL员工信息管理系统后台设计与实现[J].电脑知识与技术,2023,19(23):47-49.DOI:10.14004/j.cnki.ckt.2023.1170.

[7]刘艳春,张宗霞.基于PHP的动态网站设计与实现[J].集成电路应用,2023,40(07):238-239.DOI:10.19339/j.issn.1674-2583.2023.07.108.

[8]倪雪莹.“互联网+美食”平台中饮品短视频设计研究[J].美与时代(上),2023,(01):125-128.DOI:10.16129/j.cnki.mysds.2023.01.018.

[9]Seongmin J ,K. H S ,Xiaozhe D , et al.Structural basis of receptor usage by the engineered capsid AAV-PHP.eB[J].Molecular Therapy - Methods  Clinical Development,2022,26343-354.

[10]李慧敏,宁芳.基于服务设计的新美食生态平台体验设计研究[J].机电产品开发与创新,2022,35(04):57-60.

[11]Patrick Bet-David and PHP Agency Joins Integrity to Accelerate Growth and Serve More People[J].M2 Presswire,2022,

[12]Uzayr B S .PHP:The Ultimate Guide[M].CRC Press:2022-06-30.

[13]A. S E B V ,H. W V D V ,O. T V , et al.Efficient Viral Transduction in Fetal and Adult Human Inner Ear Explants with AAV9-PHP.B Vectors[J].Biomolecules,2022,12(6):816-816.

[14]Xinyue X ,Zhanglin L ,Li Z , et al.Tailoring biochar by PHP towards the oxygenated functional groups (OFGs)-rich surface to improve adsorption performance[J].Chinese Chemical Letters,2022,33(6):3097-3100.

[15]刘业成.美食广场智慧餐饮平台的设计与实现[D].东南大学,2021.DOI:10.27014/d.cnki.gdnau.2021.004910.

[16]鲜易洲,杨蕊,吴蓉等.时食美食分享系统的设计与分析[J].电脑知识与技术,2021,17(09):85-87.DOI:10.14004/j.cnki.ckt.2021.0845.

[17]何锦涛,朱楠,冯伟良等.顺德美食文化经济发展平台探究[J].中国商论,2020,(09):7-8.DOI:10.19699/j.cnki.issn2096-0298.2020.09.007.

[18]马宇泽.基于PHP的美食营销系统的后端设计与开发[D].南京邮电大学,2019.DOI:10.27251/d.cnki.gnjdc.2019.001136.

[19]王佳安,王可心,李直旭.美食精准搜索与智能推荐平台的设计与实现[J].福建电脑,2019,35(08):27-30.DOI:10.16707/j.cnki.fjpc.2019.08.007.

[20]黄安.基于PHP+Mysql技术的网站设计与实现——以美食网站系统的设计为例[J].轻纺工业与技术,2019,48(07):168-170.

致  谢

基于微信小程序的校园美食平台的设计与实现的完成,如何实现的更好,其中付出的努力是很大的,这段时光将会终身难忘。

基于微信小程序的校园美食平台的设计与实现的设计可以顺利完成,首先,我要感谢我的指导老师,他在我遇到设计问题时及时帮助了我,并在我对设计感到困惑时给了我充分的指导。在他的帮助下,我可以完成高质量的毕业设计。在基于微信小程序的校园美食平台的设计与实现的设计和开发中,指导老师提出了许多实用的意见和建议,并为我提供了大量相关的研究资料,使我对设计有了更深入的了解。只有在老师的指导下,才能在毕业设计中取得成功。在此,我要向指导老师表示深深的谢意。

在此,我还要感谢我的同学们,他们为我的设计提供了许多参考意见,并与我讨论了设计中的问题,从而使我的设计一步一步走向成熟。  

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值