中小学配餐管理小程序 毕业设计源码57928

摘  要

随着信息技术的快速发展和普及,越来越多的领域开始应用信息技术来提高工作效率和服务质量。在教育领域,特别是中小学教育,如何确保学生的饮食健康与营养均衡,一直是学校、家长和社会关注的焦点。传统的配餐管理方式往往依赖于人工记录和统计,不仅效率低下,而且容易出错,无法满足现代教育的需求。

因此,开发一款基于Node.js的中小学配餐管理小程序显得尤为重要。Node.js作为一种高效、灵活的服务器端JavaScript运行环境,具有异步I/O、事件驱动和非阻塞I/O模型等特点,非常适合处理高并发、大规模的请求。同时,Node.js还拥有丰富的第三方库和工具,可以方便地实现各种功能,如数据库操作、文件处理、网络通信等。

中小学配餐管理小程序旨在为学校、家长和学生提供一个便捷、高效的配餐管理平台。通过该平台,学校可以方便地管理学生的配餐信息,包括用户钱包、用户充值、配餐缴费、缴费信息、配餐退费、用餐反馈、请假信息等;家长可以实时查看孩子的配餐情况,了解孩子的饮食状况;学生也可以参与到配餐管理中来,提出自己的意见和建议。

该小程序的设计和实现将采用前后端分离的思想,前端使用微信小程序进行展示和交互,后端使用Node.js进行数据处理和业务逻辑处理。同时,为了保证数据的安全性和可靠性,将采用合适的数据库存储方案,并对系统进行充分的安全性和性能测试。

通过基于Node.js的中小学配餐管理小程序的开发,不仅可以提高配餐管理的效率和准确性,还可以促进学校、家长和学生之间的沟通与互动,为学生的健康成长提供更好的保障。同时,该小程序的开发也为类似的教育信息化项目提供了有益的参考和借鉴。

关键词:中小学配餐管理小程序;Node.js ;前后端分离

Primary and Secondary School Catering Management Mini Program

Abstract

With the rapid development and popularization of information technology, more and more fields are beginning to apply information technology to improve work efficiency and service quality. In the field of education, especially in primary and secondary education, how to ensure the healthy diet and balanced nutrition of students has always been a focus of attention for schools, parents, and society. Traditional meal management methods often rely on manual recording and statistics, which is not only inefficient but also prone to errors and cannot meet the needs of modern education.

Therefore, it is particularly important to develop a food management mini program for primary and secondary schools based on Node.js. Node.js, as an efficient and flexible server-side JavaScript runtime environment, has the characteristics of asynchronous I/O, event driven, and non blocking I/O models, making it very suitable for handling high concurrency and large-scale requests. At the same time, Node.js also has rich third-party libraries and tools, which can easily implement various functions, such as database operations, file processing, network communication, etc.

The primary and secondary school meal management mini program aims to provide a convenient and efficient meal management platform for schools, parents, and students. Through this platform, schools can conveniently manage student meal information, including user wallets, user recharge, meal payment, payment information, meal refund, meal feedback, leave information, etc; Parents can view their children's meal preparation in real-time and understand their dietary status; Students can also participate in meal management and provide their own opinions and suggestions.

The design and implementation of this mini program will adopt the idea of front-end and back-end separation. The front-end will use WeChat mini program for display and interaction, and the back-end will use Node.js for data processing and business logic processing. At the same time, in order to ensure the security and reliability of data, appropriate database storage schemes will be adopted, and the system will undergo sufficient security and performance testing.

The development of a food management mini program for primary and secondary schools based on Node.js can not only improve the efficiency and accuracy of food management, but also promote communication and interaction between schools, parents, and students, providing better protection for the healthy growth of students. At the same time, the development of this mini program also provides useful reference and inspiration for similar educational informatization projects.

Key words: Primary and secondary school meal management mini program; Node.js; Front and rear separation

目   录

第一章 绪 论

1.1选题背景和意义

1.2国内外研究现状

1.3论文结构与章节安排

第二章 系统分析

2.1可行性分析

2.1.1技术可行性   

2.1.2经济可行性

2.1.3操作可行性 

2.2需求分析

2.2性能分析

2.3系统用例分析

2.4系统操作流程

2.4.1用户登录流程

2.4.2信息添加流程

2.4.3信息删除流程

第三章 系统总体设计

3.1系统架构设计

3.2开发流程设计

3.3数据库设计

3.3.1实体ER图

3.3.2数据表

第四章 系统详细设计与实现

4.1用户端:学生用户功能模块

4.1.1用户登录界面

4.1.2用户注册界面

4.1.3前台首页界面

4.1.4基本信息界面

4.1.5配餐信息界面

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

4.2.1管理员登录界面

4.2.2管理员首页功能界面

4.2.3系统用户界面

4.2.4用户充值管理界面

4.2.5配餐缴费管理界面

4.2.6系统管理功能界面

4.3 用户端:管理员功能模块

4.3.1用餐反馈界面

4.3.2请假信息界面

第五章  系统的测试

5.1系统测试的目的

5.2 系统测试用例

5.3 系统测试结果

结  论

参考文献

致  谢

第一章 绪 论

1.1选题背景和意义

在当今社会,随着人们生活水平的提高和健康意识的增强,饮食健康与营养均衡逐渐受到广泛关注。特别是在中小学阶段,学生的身体发育和智力发展都处于关键时期,因此,确保他们获得合理、健康的饮食至关重要。然而,传统的配餐管理方式由于技术落后和流程繁琐,很难满足现代教育的需求。

基于这样的背景,中小学配餐管理小程序的开发变得尤为必要。该小程序通过利用先进的信息技术手段,为学校、家长和学生提供一个高效、便捷的配餐管理平台。通过该平台,学校可以更加科学地进行配餐安排,确保学生获得充足、均衡的营养;家长可以实时了解孩子的饮食状况,与学校共同关注孩子的健康成长;学生也可以参与到配餐管理中来,提出自己的意见和建议,促进学校与学生之间的沟通与互动。

此外,中小学配餐管理小程序的开发还具有深远的意义。首先,它有助于推动教育信息化的发展,提高教育管理的现代化水平。其次,通过优化配餐管理流程,可以提高学校的工作效率和服务质量,为学生创造更好的学习环境。最后,该小程序还有助于培养学生的健康意识和自我管理能力,为他们的全面发展打下坚实基础。

综上所述,中小学配餐管理小程序的选题背景和意义在于解决传统配餐管理方式存在的问题,满足现代教育对饮食健康与营养均衡的需求,推动教育信息化的发展,提高学校的工作效率和服务质量,以及培养学生的健康意识和自我管理能力。

1.2国内外研究现状

国内研究现状

在国内,随着教育信息化和智能化的发展,中小学配餐管理小程序逐渐受到关注。近年来,不少学校和教育机构开始尝试引入信息技术手段来优化配餐管理流程。例如,一些学校开始使用电子菜谱、智能配餐系统等技术手段来提高配餐的效率和准确性。同时,也有一些第三方公司推出了中小学配餐管理相关的应用程序,为学校提供定制化的配餐服务。这些应用程序通常具备菜品管理、营养分析、用餐统计等功能,能够帮助学校更好地管理学生的饮食健康。

然而,目前国内的中小学配餐管理小程序仍存在一些问题。一方面,部分学校的信息化水平较低,难以充分利用这些小程序的功能;另一方面,一些应用程序的功能还不够完善,无法满足学校的个性化需求。因此,仍有很大的发展空间和改进余地。

国外研究现状

在国外,许多国家和地区也十分重视学生的饮食健康问题。一些发达国家已经建立了相对完善的学校饮食管理体系,通过制定营养标准、监督食品安全等措施来确保学生的饮食健康。同时,也有一些科技公司推出了针对学校饮食管理的智能化解决方案,如智能配餐系统、食品安全追溯系统等。这些系统通常利用大数据、人工智能等技术手段来提高配餐的科学性和安全性。

与国外相比,国内的中小学配餐管理小程序在技术和应用方面还有一定的差距。但随着国内教育信息化和智能化水平的不断提高,相信未来会有更多的创新和应用涌现出来,推动中小学配餐管理水平的提升。

综上所述,中小学配餐管理小程序在国内外都有一定的研究基础和应用实践。然而,仍需要不断探索和创新,以满足学校、家长和学生日益增长的需求,为学生的健康成长提供更好的保障。

1.3论文结构与章节安排

本文共分为六章,章节内容安排如下:

第一章为引言,此章节对所设计和实现的系统的背景和意义和开发现状进行详细的论述以及说明,同时进行了论文整体框架的结构的简要介绍。

第二章为系统需求分析,章节所做的主要的工作是对系统进行了技术、经济和操作方面可行性的分析;对系统实行了总体功能的需求、用例分析。

第三章为系统的设计,主要是对系统的功能结构进行设计,并对系统数据库的概念结构以及物理结构的设计进行了分析。

第四章就是对系统的实现,根据系统功能的划分,分别的对系统所需要实现的前端客户功能和后端管理员功能进行了分析和说明。

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

第六章:总结

章 系统分析

2.1可行性分析

2.1.1技术可行性   

通过采用Node.js技术,开发出一款功能强大、操作简便的中小学配餐管理小程序,同时还建立了一个完善、安全、可靠的后台数据库,以确保其运行的稳定性和可靠性。

通过采用Node.js技术和Mysql数据库,可以轻松实现中小学配餐管理小程序的设计,并且将用户角色有机地融入其中,这种创新的方式值得一试。此外,数据的完整性和多样性也为数据的有效分配和管理提供了坚实的基础。数据库安全平台是一个至关重要的组成部分,它不仅可以提升数据安全性,还可以通过提供更加灵活、智能、有效的基础控制方法,来实现对安全计算环境的支撑,从而确保数据的安全性。由于中小学配餐管理小程序拥有强大的功能、免费的特性以及出色的用户体验,因此它在技术上是一个可行的选择。

2.1.2经济可行性

中小学配餐管理小程序的开发是由开发者自己开发,不需要购买其他软件或者端口之类的,而且在中小学配餐管理小程序的开发之前所做的市场调研及其他的微信小程序的中小学配餐管理小程序,都是没有任何费用的,通过开发者自己的努力,所有的工作的都是自己亲力亲为,在碰到自己比较难以解决的问题,大多是通过同学和指导老师的帮助进行相关信息的解决,所以对于中小学配餐管理小程序的开发在经济上是完全可行的,没有任何费用支出的。

使用node.js技术是比较成熟的技术,所以中小学配餐管理小程序的开发在经济上是没有问题的。

2.1.3操作可行性 

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

2.2需求分析

在设计和实现中小学配餐管理小程序之前,我们进行了全面而深入的需求分析和市场调研。这一环节的重要性在于,它让我们能够充分了解学校、家长、学生和餐饮服务提供者对于配餐管理的真实需求和期望,从而确保小程序能够精准地满足各方的实际需要。

我们认识到,中小学配餐管理小程序不仅仅是一个技术工具,它更是连接学校、家长、学生和餐饮服务提供者之间的桥梁,对于提升配餐管理的效率和质量,保障学生的饮食健康和安全,具有至关重要的作用。因此,我们的目标是打造一个既易于使用,又能高效满足各方需求的小程序。

在需求分析方面,我们通过访谈、问卷、现场调研等多种方式,广泛收集了各方的意见和建议。我们了解到,学校希望小程序能够帮助他们更好地管理配餐流程,确保食品安全和营养均衡;家长则希望小程序能够提供实时的配餐信息,让他们了解孩子的饮食状况;学生则希望小程序能够提供多样化的菜品选择,满足他们的口味需求。同时,我们也与餐饮服务提供者进行了深入沟通,了解他们在配餐过程中的痛点和需求。

在界面设计方面,我们追求简洁明了、操作便捷的设计理念,确保用户能够轻松上手。我们注重色彩搭配和页面布局,让小程序的整体风格符合中小学生的审美习惯。同时,我们也考虑到了不同年龄段学生的操作习惯和能力差异,为小程序设计了易于理解和使用的交互界面。

在数据处理方面,我们重视数据的安全性和隐私保护。我们采用了先进的加密技术和安全措施,确保用户信息的安全性和隐私性。同时,我们也对数据进行了严格的筛选和整理,确保数据的准确性和可靠性。

综上所述,我们的中小学配餐管理小程序旨在通过技术手段解决中小学配餐管理中的实际问题,提升配餐管理的效率和质量,保障学生的饮食健康和安全。我们期待这一小程序能够为中小学配餐管理领域带来革命性的变革,让每一位学生都能享受到更加健康、美味的餐食。

2.2性能分析

在科技日新月异的今天,性能分析对于中小学配餐管理小程序同样具有不可忽视的重要性。传统的手动配餐管理方式,在应对日益增长的学生数量和复杂多变的饮食需求时,显得捉襟见肘。因此,我们积极拥抱自动化和智能化技术,以打造一款具备高度集成性和灵活性的智慧配餐管理小程序。

这款小程序通过深度融合计算机科学和互联网技术,不仅实现了配餐流程的自动化和智能化,更在用户体验和运营效率上取得了显著的提升。我们采用了高效的数据库技术,确保系统能够迅速响应并精准匹配每位学生的饮食需求。通过精心设计的用户界面和操作流程,我们使得配餐管理变得更加直观和便捷,大大降低了工作人员的学习成本。

此外,该小程序还具备出色的可扩展性和可定制性,能够轻松适应不同学校和地区的配餐管理需求。我们注重用户反馈和数据分析,不断优化系统性能和功能设计,以提供更加贴心和个性化的服务。

与传统的配餐管理方式相比,这款智慧配餐管理小程序不仅提升了业务处理速度,更在资源利用和成本控制上实现了显著的优化。它不仅仅是一个工具,更是连接学生、家长和学校之间的桥梁,让配餐管理更加科学、合理、透明,为中小学生提供健康、营养、美味的餐食,助力他们健康成长。

2.3系统用例分析

学生用户角色用例如图2-1所示。

图2-1中小学配餐管理小程序学生用户角色用例图

管理员是维护整个中小学配餐管理小程序中所有数据信息的。管理员角色用例如图2-2所示。

图2-2中小学配餐管理小程序管理员角色用例图

2.4系统操作流程

2.4.1用户登录流程

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

用户编号:

表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

更新时间:

表catering_information (配餐信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

catering_information_id

int

10

0

N

Y

配餐信息ID

2

dish_name

varchar

64

0

Y

N

菜品名称

3

dish_pictures

varchar

255

0

Y

N

菜品图片

4

meal_preparation_date

date

10

0

Y

N

配餐日期

5

dish_ingredients

text

65535

0

Y

N

菜品材料

6

nutrient_composition

text

65535

0

Y

N

营养成份

7

hits

int

10

0

N

N

0

点击数

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表catering_payment (配餐缴费)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

catering_payment_id

int

10

0

N

Y

配餐缴费ID

2

student_users

int

10

0

Y

N

0

学生用户

3

student_name

varchar

64

0

Y

N

学生姓名

4

account_number

varchar

64

0

Y

N

账户编号

5

catering_type

varchar

64

0

Y

N

配餐类型

6

catering_expenses

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

更新时间

表catering_refund (配餐退费)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

catering_refund_id

int

10

0

N

Y

配餐退费ID

2

student_users

int

10

0

Y

N

0

学生用户

3

student_name

varchar

64

0

Y

N

学生姓名

4

account_number

varchar

64

0

Y

N

账户编号

5

leave_days

int

10

0

Y

N

0

请假天数

6

refund_amount

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

更新时间

表class_information (班级信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

class_information_id

int

10

0

N

Y

班级信息ID

2

class_name

varchar

64

0

Y

N

班级名称

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

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

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

表leave_information (请假信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

leave_information_id

int

10

0

N

Y

请假信息ID

2

student_users

int

10

0

Y

N

0

学生用户

3

student_name

varchar

64

0

Y

N

学生姓名

4

leave_time

datetime

19

0

Y

N

请假时间

5

leave_days

int

10

0

Y

N

0

请假天数

6

reason_for_leave

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

更新时间

表meal_feedback (用餐反馈)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

meal_feedback_id

int

10

0

N

Y

用餐反馈ID

2

student_users

int

10

0

Y

N

0

学生用户

3

student_name

varchar

64

0

Y

N

学生姓名

4

dish_name

varchar

64

0

Y

N

菜品名称

5

feedback_time

datetime

19

0

Y

N

反馈时间

6

feedback_content

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

更新时间

表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

更新时间:

表payment_information (缴费信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

payment_information_id

int

10

0

N

Y

缴费信息ID

2

student_users

int

10

0

Y

N

0

学生用户

3

student_name

varchar

64

0

Y

N

学生姓名

4

account_number

varchar

64

0

Y

N

账户编号

5

catering_type

varchar

64

0

Y

N

配餐类型

6

catering_expenses

varchar

64

0

Y

N

配餐费用

7

payment_time

datetime

19

0

Y

N

缴费时间

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

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

表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

更新时间:

表student_users (学生用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

student_users_id

int

10

0

N

Y

学生用户ID

2

student_name

varchar

64

0

Y

N

学生姓名

3

student_gender

varchar

64

0

Y

N

学生性别

4

class_name

varchar

64

0

Y

N

班级名称

5

contact_information

varchar

64

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

更新时间

表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

更新时间:

表user_recharge (用户充值)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_recharge_id

int

10

0

N

Y

用户充值ID

2

student_users

int

10

0

Y

N

0

学生用户

3

student_name

varchar

64

0

Y

N

学生姓名

4

account_number

varchar

64

0

Y

N

账户编号

5

recharge_amount

int

10

0

Y

N

0

充值金额

6

pay_state

varchar

16

0

N

N

未支付

支付状态

7

pay_type

varchar

16

0

Y

N

支付类型: 微信、支付宝、网银

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表user_wallet (用户钱包)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_wallet_id

int

10

0

N

Y

用户钱包ID

2

student_users

int

10

0

Y

N

0

学生用户

3

student_name

varchar

64

0

Y

N

学生姓名

4

account_number

varchar

64

0

Y

N

账户编号

5

account_balance

int

10

0

Y

N

0

账户余额

6

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

系统详细设计与实现

4.1用户端:学生用户功能模块

4.1.1用户登录界面

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

图4-1用户登录界面图

登录的关键代码如下:

const md5 = require("md5");

var Controller = require("../core/controller.js");

class Login extends Controller {

constructor(config) {

super(

Object.assign({

tpl: "./login/",

service: "user",

},

config

)

);

}

}

Login.prototype.api = async function(ctx) {

var body = ctx.request.body;

var obj = await $.services["user"].get_obj({

username: body.username

},{like:false});

if (obj) {

var group = await $.services["user_group"].get_obj({

name:obj.user_group

})

if (group){

if (group.name!=="管理员"){

var sql = "select examine_state from "+ group.source_table +" WHERE user_id = " + obj.user_id;

var userExamine = await $.mysql.run(sql);

if (userExamine && userExamine.length > 0 && userExamine[0].examine_state!=="已通过"){

return {

error: {

code: 70000,

message: "该用户审核未通过"

},

};

}

}

if (obj.state!==1){

return {

error: {

code: 70000,

message: "用户非可用状态,不能登录"

},

};

}

var password = md5(body.password);

if (password === obj.password) {

ctx.session.user = obj;

var date = Date.parse(new Date());

var token = md5(obj.user_id + "_" + date);

await $.services["access_token"].add({

token,

info: JSON.stringify(obj),

user_id:obj.user_id

});

obj.token = token;

return {

result: {obj}

};

} else {

return {

error: {

code: 70000,

message: "密码错误"

},

};

}

}else {

return {

error: {

code: 70000,

message: "用户组不存在"

},

};

}

} else {

return {

error: {

code: 70000,

message: "账户不存在"

}

};

}

};

4.1.2用户注册界面

注册,通过填写密码、昵称、邮箱、性别、姓名、邮箱、电话等信息,输入完成后选择提交即可注册成功,如下图所示。

图4-2注册界面图

注册的关键代码如下:

Register.prototype.index = async function(ctx) {

var group_list = await $.services["user_group"].get_list({}, Object.assign({}, this.config));

return await ctx.render(this.config.tpl + "index.html", {

group_list

});

};

Register.prototype.api = async function(ctx) {

var user = $.services.user;

var body = ctx.request.body;

var username = body.username;

var obj = await user.get_obj({

username

});

if (obj) {

return {

error: {

code: 70000,

message: "账户名已存在",

},

};

} else {

var password = md5(body.password);

var nickname = body.nickname;

var user_group = body.user_group;

var email = body.email;

var email_state= body.hasOwnProperty('email_state') ? body.email_state : 0;

var phone = body.phone;

var phone_state= body.hasOwnProperty('phone_state') ? body.phone_state : 0;

var avatar = body.avatar;

var bl_reg = await user.add({

username,

password,

nickname,

user_group,

email,

email_state,

phone,

phone_state,

avatar

});

if (bl_reg) {

return {

result: "注册成功"

};

} else {

return {

error: {

code: 70000,

message: "注册失败",

},

};

}

}

};

4.1.3前台首页界面

前台首页,学生用户进入中小学配餐管理小程序,可以对首页、配餐信息、网站公告、我的(基本信息、用户钱包、用户充值、配餐缴费、缴费信息、配餐退费、用餐反馈、请假信息)等功能模块进行相对应操作,如下图所示。

图4-3前台首页界面图

4.1.4基本信息界面

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

图4-4基本信息界面图

4.1.5配餐信息界面

配餐信息,用户可以查看所有的配餐信息,包括配餐日期、菜品材料、营养成份、点击数等。如下图所示。

图4-5配餐信息界面图

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

4.2.1管理员登录界面

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

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

4.2.2管理员首页功能界面

管理员登陆系统后,可以对后台首页、系统用户、配餐信息管理、用户钱包管理、用户充值管理、配餐缴费管理、缴费信息管理、配餐退费管理、用餐反馈管理、请假信息管理、班级信息管理、系统管理(轮播图)、通知公告管理等功能模块进行相对应操作。如下图所示。

图4-7管理员首页功能界面图

4.2.3系统用户界面

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

图4-8系统用户界面图

系统用户添加的关键代码如下:

Controller.prototype.add = async function(ctx) {

var result = await this.service.add(ctx.request.body, this.config);

if (this.service.error) {

return {

error: this.service.error,

};

}

return {

result,

};

};

删:

Controller.prototype.del = async function(ctx) {

if (!Object.keys(ctx.query).length) {

return {

code: 30000,

message: "删除条件不能为空!",

};

}

var result = await this.service.del(ctx.request.query, this.config);

if (this.service.error) {

return {

error: this.service.error,

};

}

return {

result,

};

};

改:

Service.prototype.set = async function(query, body, config) {

var sql = $.mysql.toSetSql(query, body, Object.assign({}, this.config, config || {}));

var ret = await this.run(sql);

return ret;

};

4.2.4用户充值管理界面

用户充值管理,管理员可以管理用户的充值操作,包括充值金额、充值方式等信息的记录和管理。如下图所示。

图4-9用户充值列表界面图

4.2.5配餐缴费管理界面

配餐缴费管理,管理员可以管理学生的配餐缴费情况,包括缴费金额、缴费时间等信息的记录和管理。如下图所示。

图4-10配餐缴费列表界面图

4.2.6系统管理功能界面

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

图4-11系统管理界面图

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

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;

file = path.join(_dir, na);

if (!fs.existsSync(file)) {

name = na;

break;

}

}

}

const upStream = fs.createWriteStream(file);

render.pipe(upStream);

url = _path + name;

} catch (e) {

console.log("上传失败:", e);

}

return {

result: {

url

}

};

} else {

return {

code: 10000,

message: "上传的文件(file)不能为空!",

};

}

};

4.3 用户端:管理员功能模块

4.3.1用餐反馈界面

用餐反馈,管理员可以查看用餐反馈意见和建议,以便改进配餐服务质量。如下图所示。

图4-12用餐反馈界面图

4.3.2请假信息界面

请假信息,管理员查看用户提交请假信息,请假原因和请假时间,并进行审核回复。如下图所示。

图4-13请假信息界面图

章  系统的测试

5.1系统测试的目的

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

5.2 系统测试用例

系统测试包括:用户登录功能测试、配餐信息查看功能测试、添加配餐信息、密码修改功能测试,如表5-1、5-2、5-3、5-4所示:

用户登录功能测试:

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

用例名称

用户登录系统

目的

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

前提

未登录的情况下

测试流程

1) 进入登录页面

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

预期结果

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

实际结果

实际结果与预期结果一致

配餐信息查看功能测试:

表5-2 配餐信息查看功能测试表

用例名称

配餐信息查看

目的

测试配餐信息查看功能

前提

用户登录

测试流程

点击配餐信息列表

预期结果

可以查看到所有配餐信息

实际结果

实际结果与预期结果一致

管理员添加配餐信息测试:

表5-3 管理员添加配餐信息测试表

用例名称

配餐信息发布测试用例

目的

测试配餐信息发布功能

前提

用户正常登录情况下

测试流程

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

2)点击进行提交。

预期结果

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

实际结果

实际结果与预期结果一致

密码修改功能测试:

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

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

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

测试流程

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

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

5.3 系统测试结果

通过编写中小学配餐管理小程序的测试用例,已经检测完毕用户登录功能测试、配餐信息查看功能测试、添加配餐信息、密码修改功能测试,通过这些测试为中小学配餐管理小程序的后期推广运营提供了强力的技术支撑。

                                                   结  论

经过了几个月的努力,本中小学配餐管理小程序终于完成了,虽然在校期间也开发过一些小型的小程序,但是都是在老师的讲解以及辅助下完成的,没有经历过开发之前的需求分析、系统分析,都是直接从系统设计开始的,因此开发中小学配餐管理小程序对我意义重大。

在开发系统最初,首先对各个中小学配餐管理小程序方面的需求进行调研,了解对于用户来说,开发的系统需要实现哪些功能才能满足中小学配餐管理小程序需求,对需求进行分析;其次选择自己比较熟悉的Nodejs语言,MYSQL数据库来设计开发,通过知网库、学校图书馆等地方查阅、学习这些技术,掌握编程的思想和方法,然后就是对系统进行分析,从系统开发的可行性、系统实现的功能、系统应该具备的性能以及系统的操作流程方面,对系统进行全方位的分析,确定系统的最终功能,从而对系统的功能和数据库进行设计,最后就是系统的实现以及对实现的功能的测试,确保系统能够稳定的运行。

在开发的过程中暴露出了自己的很多问题,比如前期的准备还是不够充分,不能完全掌握其操作流程;在开发过程中对Nodejs的编程掌握的还不够熟练以及对系统的环境配置上还存在很多问题,经常会导致项目在运行的时候出现错误。学无止境,通过一边查阅资料一边向导师请教,慢慢的解决了这些问题,在以后的学习、工作者我会更加严谨,通过本项目的开发,我将会受益终生!

                                                 参考文献

[1]黄晓婷.幼儿园膳食精细化管理的营养配餐探究[J].食品安全导刊,2023,(30):116-118.DOI:10.16043/j.cnki.cfs.2023.30.020.

[2]Tyson M .Intro to Hapi: The Node.js framework[J].InfoWorld.com,2023,

[3]Krill P .Node.js upgrade adds environment variable config[J].InfoWorld.com,2023,

[4]于仁文.临床营养配餐助力健康管理[J].工会博览,2023,(22):38.

[5]陈明喜.南昌出台老年人助餐配餐服务管理办法[N].南昌日报,2023-07-12(006).DOI:10.28591/n.cnki.nncrb.2023.001999.

[6]张猛,何姗姗.基于Vue+Node.js的智能小区数据管理系统设计与实现[J].电脑知识与技术,2023,19(14):46-49+53.DOI:10.14004/j.cnki.ckt.2023.0730.

[7]孙国程,陈大睿,张昭艳,等.基于Node.js和MongoDB的公益帮扶小程序设计与实现[J].软件,2023,44(04):78-80.

[8]Reid B ,D'Amorim M ,Wagner M , et al.NCQ: Code Reuse Support for Node.js Developers[J].IEEE Transactions on Software Engineering,2023,49(5):3205-3225.

[9]Node.js development agency Moravio is gaining praise for its customization and experience.[J].M2 Presswire,2022,

[10]D. K K ,D. N T .Complementing JavaScript in High-Performance Node.js and Web Applications with Rust and WebAssembly[J].Electronics,2022,11(19):3217-3217.

[11]马姗婕,魏九玲,赵小余.一款智能膳食管理软件的设计与开发[C]//中国营养学会,中国疾病预防控制中心营养与健康所,农业农村部食物与营养发展研究所,中国科学院上海营养与健康研究所,华中科技大学公共卫生学院.中国营养学会第十五届全国营养科学大会论文汇编.北京邦尼营策科技有限公司;北京绘营数据科技有限公司;,2022:1.DOI:10.26914/c.cnkihy.2022.034002.

[12]韦婉辰,卢华.基于微信小程序的校园订餐管理系统的设计与实现[J].信息记录材料,2022,23(05):119-122.DOI:10.16009/j.cnki.cn13-1295/tq.2022.05.029.

[13]宁功林.基于微信小程序的大学校园点餐管理系统设计与实现[J].华东科技,2022,(02):77-79.

[14]赵婉琳,彭仕霖,杜孟新.基于Node.js的汽车数据中台系统的设计与实现[J].仪器仪表标准化与计量,2021,(05):23-26.

[15]马艳彬.基于Node.js和Vue框架的竞赛类答题平台管理系统的设计[C]//中国新闻技术工作者联合会.中国新闻技术工作者联合会2021年学术年会论文集.新华社技术局;,2021:6.DOI:10.26914/c.cnkihy.2021.047236.

[16]郑泽先.社区失能老人助餐配餐的服务触点设计研究[D].广东工业大学,2021.DOI:10.27029/d.cnki.ggdgu.2021.000689.

[17]董浩.个性化营养配餐系统研究[D].浙江理工大学,2021.DOI:10.27786/d.cnki.gzjlg.2021.000581.

[18]祁明思,陈文烈,李旦,等.基于知识库的患者营养配餐推荐系统设计[J].中国医学装备,2021,18(01):106-109.

[19]雷少玲.基于Node.js为后端的微信小程序授权登录的探究与实现[J].电子制作,2020,(22):42-44.DOI:10.16589/j.cnki.cn11-3571/tn.2020.22.015.

[20]蔡鹏,刘艺鹏,莫慧苗.儿童营养配餐推送系统的设计与实现[J].现代食品,2020,(19):134-136.DOI:10.16736/j.cnki.cn41-1434/ts.2020.19.040.

                                                             致  谢

中小学配餐管理小程序的完成,如何实现的更好,其中付出的努力是很大的,这段时光将会终身难忘。

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

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

                       
                                  点赞+收藏+关注 → 私信领取本源代码、数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值