Bootstrap

Node.js基于微信小程序的食谱分享平台-计算机毕业设计源码35286

摘 要

基于微信小程序的食谱分享平台的研究旨在设计和开发一个方便、实用的平台,以促进用户之间的食谱分享和交流。该平台通过利用微信小程序的功能和特点,提供用户上传、搜索、收藏和评论等功能,为用户提供丰富多样的食谱资源和社区互动。基于微信小程序的食谱分享平台利用基于MVVM模式进行开发,采用B/S模式,后端部分基于node.js的koa框架进行开发,在功能上分为前台和后台管理两个部分。前台主要为顾客提供食谱资讯浏览、食谱分享、网站公告。后台主要是为管理员提供用户管理、资讯管理、食谱标签、食谱分享等功能。

关键词:微信小程序;koa框架;食谱分享

Abstract

The research on a recipe sharing platform based on WeChat mini programs aims to design and develop a convenient and practical platform to promote recipe sharing and communication among users. This platform utilizes the functions and characteristics of WeChat mini programs to provide users with functions such as uploading, searching, bookmarking, and commenting, providing users with rich and diverse recipe resources and community interaction. The recipe sharing platform based on WeChat mini program is developed using MVVM mode, adopting B/S mode. The backend part is developed based on the koa framework of node.js, and is divided into two parts in terms of functionality: front-end and back-end management. The front desk mainly provides customers with recipe information browsing, recipe sharing, and website announcements. The backend mainly provides functions such as user management, information management, recipe tags, and recipe sharing for administrators.

Key words:WeChat Mini Program; Koa framework; Recipe sharing

目  录

一、 绪论

(一) 研究背景与意义

(二) 国内外研究现状和发展趋势

() 本文的组织结构

二、 开发工具及相关技术介绍

(一)koa框架

(二)小程序框架以及目录结构介绍

(三)MySQL数据库

(四)koa框架优点

三、 系统分析

(一) 可行性分析

1. 经济可行性

2. 技术可行性

3. 操作可行性

(二) 功能性需求分析

(三) 非功能性需求分析

四、 系统设计

(一) 功能模块设计

(二) 数据库设计

1. 概念模型设计

2. 数据库表设计

五、 系统实现

(一) 用户登录的实现

(二) 微信小程序端主要功能实现

(三) 后端管理员主要功能实现

六、 系统测试

(一) 系统可靠性测试

(二) 系统功能性测试

(三) 系统合格性测试

(四) 测试结果

七、 总结与展望

参考文献

致谢

  • 研究背景与意义

随着人们对健康饮食和美食的关注度不断提高,饮食文化越来越受到重视。越来越多的人开始热衷于尝试新的食谱和分享自己的独特创意。社交媒体的普及使得人们更加乐于分享自己的生活经验,包括烹饪和食物方面。人们希望有一个专门的平台来分享自己的美食创意和获得他人的灵感。微信小程序作为一种轻量级、便捷的应用形式,逐渐流行起来。它能够在微信内直接使用,无需下载额外的应用程序,满足用户快速获取信息和进行互动的需求。传统上,寻找新的食谱往往需要阅读大量的书籍或浏览多个网站,费时费力。缺乏一个集中的平台,使用户能够轻松地搜索、发布和收藏各种食谱。

促进美食文化传播:食谱分享平台为用户提供了一个集中的平台,可以方便地分享、浏览和获取各种美食食谱。这有助于促进美食文化的传播,鼓励人们尝试新的烹饪方法和创意,丰富饮食文化。提供灵感与交流平台:通过食谱分享平台,用户可以互相借鉴和学习他人的烹饪经验和创意。这种灵感的交流和互动可以激发用户的创造力,推动美食创新和变革。方便快捷的食谱获取:传统上,寻找新的食谱往往需要阅读大量的书籍或浏览多个网站,费时费力。而基于微信小程序的食谱分享平台提供了一个集中的平台,用户可以轻松地搜索、发布和收藏各种食谱,提供便捷快速的食谱获取方式。

  • 国内外研究现状和发展趋势

在当前的信息时代,微信小程序已经成为了日常生活中不可或缺的一部分。从购物、支付到娱乐、学习,微信小程序的应用已经深入到人们生活的各个角落。在这个背景下,基于微信小程序的食谱分享平台的设计与实现成为了一个重要的研究方向。

在国内,白阳等人的研究为我们提供了一个“微信小程序+智慧运维机器人”的系统搭建方法。这种方法为一线网格运维人员提供了运维数据支撑,帮助他们解决在日常网络运维中无数据可查、无法判断问题原因的问题。这种思路也可以应用到食谱分享平台的设计中,通过收集和分析用户的使用数据,为用户提供更加个性化的服务。

 在国外,虽然没有直接关于基于微信小程序的食谱分享平台的研究,但是我们可以看到,微信小程序在其他领域的应用已经取得了显著的成果。例如,在教育领域,微信小程序被用于提供在线课程、作业提交和成绩查询等功能;在健康领域,微信小程序被用于提供健康咨询、运动计划和饮食建议等功能。这些成功的案例为我们设计和实现基于微信小程序的食谱分享平台提供了宝贵的参考。

从发展趋势来看,随着5G、AI等技术的发展,微信小程序的功能将会更加强大,用户体验也会更加优秀。在未来,我们可以期待看到更多基于微信小程序的创新应用出现。总的来说,无论是在国内还是国外,基于微信小程序的食谱分享平台的设计与实现都是一个非常有前景的研究方向。通过借鉴国内外的成功经验和发展趋势,我们有理由相信,这个方向将会取得更大的突破和发展

  • 本文的组织结构

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

第二章研究了基于微信小程序的食谱分享平台的所采用的开发技术和开发工具。

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

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

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

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

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

  • 开发工具及相关技术介绍

(一)koa框架

Node.js是一个异步的世界,官方API支持的都是callback形式的异步编程模型,这会带来许多问题,例如:1、callback嵌套问题;2、异步函数中可能同步调用callback返回数据,带来不一致性。为了解决以上问题Koa出现了。

koa是由Express原班人马打造的,致力于成为一个更小、更富有表现力、更健壮的Web框架。使用koa编写web应用,可以免除重复繁琐的回调函数嵌套,并极大地提升错误处理的效率。koa不在内核方法中绑定任何中间件,它仅仅提供了一个轻量优雅的函数库,使得编写Web应用变得得心应手。开发思路和express差不多,最大的特点就是可以避免异步嵌套。

阿里内部就在使用Koa框架,并在Koa基础上面做了一些扩展和封装。并且基于koa开发了一个开源框架egg。

(二)小程序框架以及目录结构介绍

整个小程序框架系统分为两部分:逻辑层和视图层。小程序开发框架的目标是通过尽可能简单、高效的方式让开发者可以在微信中开发具有原生 小程序 体验的服务。小程序在视图层与逻辑层间提供了数据传输和事件系统,提供了自己的视图层以及逻辑层框架,让开发者能够专注于数据与逻辑。框架的核心是一个响应的数据绑定系统,可以让数据与视图非常简单地保持同步。在逻辑层做数据修改,在视图层就会做相应的更新。框架提供了一套基础的组件,这些组件自带微信风格的样式以及特殊的逻辑,开发者可以通过组合基础组件,创建出强大的微信小程序。

Mysql的语言是非结构化的,用户可以在数据上进行工作。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。并且因为Mysql的语言和结构比较简单,但是功能和存储信息量很强大,所以得到了普遍的应用。

Mysql数据库在编程过程中的作用是很广泛的,为用户进行数据查询带来了方便。Mysql数据库的应用因其灵活性强,功能强大,所以在实现某功能时只需要一小段代码,而不像其他程序需要编写大段代码。总体来说,Mysql数据库的语言相对要简洁很多。

数据流程分析主要就是数据存储的储藏室,它是在计算机上进行的,而不是现实中的储藏室。数据的存放是按固定格式,而不是无序的,其定义就是:长期有固定格式,可以共享的存储在计算机存储器上。数据库管理主要是数据存储、修改和增加以及数据表的建立。为了保证系统数据的正常运行,一些有能力的处理者可以进行管理而不需要专业的人来处理。数据表的建立,可以对数据表中的数据进行调整,数据的重新组合及重新构造,保证数据的安全性。介于数据库的功能强大等特点,本系统的开发主要应用了Mysql进行对数据的管理。

  • koa框架优点

首先,借助promise和generator的能力,丢掉了callback,完美解决异步组合问题和异步异常捕获问题。

其次,koa 把express中内置的router、view 等功能都移除了,使得框架本身更轻量化。该设计有如下好处:1、把express各种中间件移植到koa是很简单的一件事;2、express 中内置的功能件未必好,比如view,想添加自己的view engine进入得做较深层次的hack,又比如router,它的效率不是最好的。koa没有内置这些,给了开发者很大的自由度,开发者都能自由发挥制作出更精细更专业的中间件。

2.7 JavaScript 运行模式

JavaScript是一种属于网络的高级脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。

1.1是一种解释性脚本语言(代码不进行预编译)。

1.2主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。

1.3可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。

1.4跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。

1.5 JavaScript脚本语言同其他语言一样,有它自身的基本数据类型,表达式和算术运算符及程序的基本程序框架。JavaScript提供了四种基本的数据类型和两种特殊数据类型用来处理数据和文字。而变量提供存放信息的地方,表达式则可以完成较复杂的信息处理。

  • 系统分析

本系统将在经济、技术、操作这三个角度上进行可行性分析。

  1. 经济可行性

整个系统从设计到开发以及测试过程严谨步骤齐全,所有工作任务全部由本人完成,并未获取外部技术支持,节约了一切服务成本开销以及人工成本,在硬件方面,为节约成本使用一台二手移动工作站作为项目部署服务器以及数据库服务器,成本在一万元一下,真个网络部署也是由本人独立完成不涉及到其他人工费用,整个开发过程本着低成本,低消耗的原则。

  1. 技术可行性

技术可行性分析的目的是确认该系统能否利用现有技术实现,并评估开发效率和完成情况。技术的可行性是指在当前的技术条件下,计算机软件和硬件的开发是否能够满足发展的要求。因为该系统的开发基于Koa框架,所以开发该系统所需的软件和硬件条件可以在普通计算机上满足。因为它占用的内存相对较少,所以用Mysql数据库开发和设计软件理论上没有问题,因为它占用的内存太少。上述技术可以有效地保证系统的成功和高效开发。

  1. 操作可行性

基于微信小程序的食谱分享平台的使用界面简单易于操作,采用常见的界面窗口来登录界面,通过电脑进行访问操作,用户只要平时使用过电脑都能进行访问操作。此系统的开发采用Java技术开发,人性化和完善化是B/S结构开发比较显要的特点使得用户操作相比较其他更加简洁方便。易操作、易管理、交互性好在本系统操作上体现得淋漓尽致。

  • 功能性需求分析

前台需求:

(1)用户模块:主要包括用户的注册和登陆、用户个人信息管理等功能。

(2)食谱资讯模块:主要包括食谱资讯信息浏览、食谱资讯展示等功能。

(3)食谱分享模块:主要用于用户在线进行食谱分享发布的,用户之间可以互相查看食谱信息。

(4)基本信息模块:主要包括用户的个人信息、密码修改等。

后台需求:

(1)用户管理:主要包括用户列表、用户等级管理等功能。

(2)公共管理:主要包括轮播图、网站公告的增删改查操作。

(3)资讯管理:主要发布资讯信息。

(4)食谱标签:对食谱标签进行维护管理。

(5)食谱分享:管理员可以对食谱分享内容进行管控。

用户用例图如下所示。

图1 用户用例图

管理员用例图如下所示。

图2 管理员用例图

食谱标签添加用例描述如下表所示。

表1食谱标签添加用例描述

用例名称

添加新食谱标签

参与者

管理员

用例概述

本用例用于管理员进行添加新食谱标签操作

前置条件

管理员添加新食谱标签前必须登录系统

后置条件

系统中添加一个新食谱标签

基本事件流

参与者动作

系统响应

  1. 管理员在后台主界面选择“新食谱标签”。

4、管理员填写新食谱标签信息,点击“添加”按钮。

2、系统打开添加新食谱标签界面。

3、系统检查管理员输入的食谱标签信息是正确有效的。

5、系统将食谱标签添加到数据库中。

6、系统提示“操作成功”。

7、系统跳转到食谱标签管理界面。

其他事件流

1、系统验证管理员输入的标签名为空,则提示“*请填写完善!”

网站公告添加用例描述如下表所示。

表2网站公告添加用例描述

用例名称

添加网站公告

参与者

管理员

用例概述

本用例用于管理员进行添加网站公告操作

前置条件

管理员添加网站公告前必须登录系统

后置条件

系统中添加一个网站公告

基本事件流

参与者动作

系统响应

1、管理员在后台主界面选择“网站公告管理”。

4、管理员选择一个网站公告,点击“添加”按钮。

6、管理员点击“确定”按钮。

2、系统从数据库中获取网站公告信息列表

3、系统打开网站公告列表界面。

5、系统提示“你确定要添加吗?”。

7、系统将网站公告从数据库中添加。

8、系统提示“添加成功”。

9、系统跳转到网站公告管理界面。

其他事件流

用户编辑用例描述如下表所示。

表3用户编辑用例描述

用例名称

修改用户

参与者

管理员

用例概述

本用例用于管理员进行修改用户信息操作

前置条件

管理员已经登录系统

后置条件

系统中更新一条用户记录

基本事件流

参与者动作

系统响应

1、管理员在后台主界面选择“用户管理”。

4、管理员在用户列表中选择一个用户,点击“编辑”按钮。

6、管理员填写用户信息,点击“保存修改”按钮。

2、系统从数据库中获取用户信息。

3、系统打开用户列表界面。

5、系统打开修改用户信息界面。

7、系统将更改后的添加到数据库中。

8、系统提示“操作成功”。

9、系统跳转到用户管理界面。

其他事件流

食谱分享用例描述如下表所示。

表4食谱分享用例描述

用例名称

食谱分享

参与者

用户

用例概述

本用例用于用户进行对食谱分享操作

前置条件

用户已经登录系统

后置条件

系统中增加一条用户分享记录

基本事件流

参与者动作

系统响应

1、用户在前台首页选择任意一个食谱。

4、管理员在用户列表中选择一个食谱。

7、用户填写食谱信息,点击分享。

2、系统从数据库中获取食谱列表信息。

3、系统打开食谱列表界面。

5、系统从数据库中获取食谱信息。

6、系统打开食谱信息及分享界面。

8、系统检查用户输入的信息是正确有效的。

9、系统将分享记录添加到数据库中。

其他事件流

1、系统验证用户输入的字段为空,则提示“分享信息不能为空!”。

  • 非功能性需求分析 

随着用户量的增加,系统可能会需要同时服务上千、上万个页面,服务器需要同时响应大量用户的操作,这就要求系统需要有良好的可扩展性,否则系统会出现延迟,卡顿甚至服务器崩溃的问题。高扩展性可以使软件保持旺盛的生命力,同时也能够使系统更好的适应用户增加、提高性能需求、增加应用功能等改变。

系统中保存了大量用户和管理员的个人信息,因此,保证系统服务器和数据安全是在开发过程中需要考虑的重要问题。安全性包括服务器安全、操作系统安全、数据库安全、程序代码安全以及用户个人信息和支付安全等,系统可以通过采用防火墙技术、加密技术、认证技术等来增强其安全性,只有一个健壮安全的系统才能具有长久的生命力。

  • 系统设计
  • 功能模块设计

通过软件的需求分析已经获得了系统的基本功能需求。根据各大功能模块的不同,将系统分为各种功能大块。系统功能结构如下图所示。

图4系统功能结构图

注册/登录

游客(未进行注册或登陆的用户)可以浏览、搜索海鲜产品,但不能进行收藏和购买。用户注册首先需要进行表单验证,来验证账号和密码是否合法,然后验证账号是否已经存在,验证通过即可注册。

注册成功后,用户可以通过输入用户名来登录系统,输入密码后进行验证。登录成功后,用户可以使用海鲜产品商品收藏、海鲜产品商品购买、查看我的订单、海鲜产品商品展示、个人信息管理等功能。

个人信息管理

用户登录系统后,在账户设置中,可以修改昵称、头像、登陆密码、收货地址等个人基本信息。

食谱分享搜索

系统首页展示了食谱分享搜索输入框,用户在输入框内输入与食谱分享标签相关的关键字,系统通过模糊查询搜索到用户需要的食谱分享并展示。

  • 数据库设计
  1. 概念模型设计

概念设计包括实体和联系两部分,如该系统中,用户是一个实体,其属性包括用户 ID 标识、用户名、密码、电话、地址等属性。联系是指实体之间有意义的关联,包括一对一、一对多、多对多三种类型。

系统E-R图如下所示。

图5系统E-R图

  1. 数据库表设计

数据库表是设计和实现系统的一个重要基础。以下列出了基于微信小程序的食谱分享平台几个重要的数据库表。

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

更新时间:

  • 表recipe_labels (食谱标签)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

recipe_labels_id

int

10

0

N

Y

食谱标签ID

2

recipe_labels

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

更新时间

  • 表recipe_sharing (食谱分享)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

recipe_sharing_id

int

10

0

N

Y

食谱分享ID

2

dish_name

varchar

64

0

Y

N

菜品名称

3

recipe_labels

varchar

64

0

Y

N

食谱标签

4

share_users

int

10

0

Y

N

0

分享用户

5

review_status

varchar

64

0

Y

N

审核状态

6

cover

varchar

255

0

Y

N

封面

7

prepare_ingredients

text

65535

0

Y

N

准备食材

8

cooking_steps

text

65535

0

Y

N

烹饪步骤

9

hits

int

10

0

N

N

0

点击数

10

praise_len

int

10

0

N

N

0

点赞数

11

recommend

int

10

0

N

N

0

智能推荐

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

  • 表registered_users (注册用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

registered_users_id

int

10

0

N

Y

注册用户ID

2

name

varchar

64

0

Y

N

姓名

3

gender

varchar

64

0

Y

N

性别

4

examine_state

varchar

16

0

N

N

已通过

审核状态

5

user_id

int

10

0

N

N

0

用户ID

6

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

7

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

更新时间:

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

更新时间:

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

更新时间:

  • 系统实现
  • 用户登录的实现

用户注册完成后,点击“登陆”进入到登陆页面,输入用户名和密码,点击“登陆”按钮,对用户名和密码进行验证,根据传入的用户名和密码在数据库中是否能查询到一条用户信息,若不能返回用户信息则登陆失败,页面提示用户名或密码错误。

登录界面如下图所示。

图5-1登录界面

  • 微信小程序端主要功能实现 
  1. 首页的实现

用户界面要尽量简洁大方,使用户能够方便找到需要的功能入口,浏览食谱列表、查看食谱资讯,且要易于修改和维护,同时还要保证用户合法和系统安全。

首页界面如下图所示。

图5-2首页界面

  1. 用户注册的实现

用户进入系统首页后,点击“注册”链接进入到注册页面,按照页面提示输入用户名、密码,页面进行表单验证,验证输入的用户名是否合法,表单验证通过后,点击“立即注册”按钮,检测数据库中是否已经存在该用户名,若数据库中不存在,则注册成功,注册成功后,自动跳转到登录页面。

用户注册页面,如下图所示。

图5-3用户注册页面

  1. 食谱分享的实现

系统首页提供了搜索的输入框,用户在输入框内输入想要查找食谱标签的关键字,点击搜索按钮,系统将用户输入的关键字传递到后台。首先创建一个实体类 PageBean,该实体类的属性包括页码 pageCode、每页记录数 pageSize、总记录数 totalRecord 和一个 List 集合 beanList,用循环将搜索到的结果分页展示。

食谱分享界面如下图所示。

图5-4食谱分享界面

  • 后端管理员主要功能实现 
  1. 用户管理的实现

管理员对系统用户的管理,在管理员管理实现管理员用户的管理,包括录入、删除、修改,修改密码通过SESSION获取用户名,然后输入新密码,使用sql命令更新密码。

  1. 网站公告管理的实现

管理员可以获取系统中所有网站公告的列表并对其进行编辑。管理员在添加网站公告时,需要输入网站标题、内容等。添加网站公告完成,数据库网站公告表添加一条信息。管理员可以搜索网站公告,同时可以对已经添加的网站公告进行编辑。

网站公告管理界面如下图所示。

图5-6网站公告管理界面

  1. 食谱标签管理的实现

管理员在后台管理界面点击食谱标签模块,可以对所有的标签信息进行管理,可以对食谱标签进行增删改查操作。

食谱标签管理界面如下图所示。

图5-7食谱标签管理界面

食谱标签管理的关键代码如下。

  • 系统测试
  • 系统可靠性测试

以进入系统首页的访问速度为例展示系统的性能测试;系统的主要用户群体是购物理念较为先进的消费者,系统要在3秒钟内响应;需要完成页面的菜单栏、首页轮播图片、类目及海鲜产品列表、海鲜食谱以及各功能模块入口等元素的显示。

  • 系统功能性测试

功能性测试是指执行指定的工作流程,通过对一个系统的所有特性和功能都进行测试确保符合需求和规范。

系统功能性测试表如下表所示。

11系统功能性测试表

编号

测试功能

测试内容

测试结果

1

用户登录

1.验证用户名与密码的正确性。

2.验证密码是否可见。

通过

2

首页展示

1.首页数据是否成功加载。

2.验证搜索功能的准确性。

3.验证是否可以异步加载。

4.验证导航栏按钮。

通过

3

个人信息修改

1.验证登录名是否可以正常更改。

2.验证联系方式是否可以更改。

3.验证收货地址可以正常修改。

4.验证密码是否可以修改。

通过

4

食谱标签管理

1.验证标签新增是否可以成功。

2.验证标签删除是否可以成功。

通过

5

添加食谱分享

1.上传食谱分享是否添加验证。

2.食谱是否成功上传。

3.验证表单是否提交成功。

通过

6

用户管理

1.验证用户录入功能。

2.验证用户违规清理功能。

通过

  • 系统合格性测试

集成测试后,所有的模块已经全部连接完毕,形成了一个完整的系统。合格性测试是在集成测试完毕后,进一步对系统进行综合性的检测。经过合格性测试,可以检查出系统是否符合系统的设计,能够完成需求的所有功能。本系统经过最后的测试,所有模块功能都能按预定要求工作。

  • 测试结果

在实际测试中,经过一系列系统性的测试,使我们能够及时发现一些系统在设计中出现的疏忽和漏洞。经过严密的测试,不仅发现了模块内部的错误,也查找到模块连接后产生的错误。经过测试,对系统产生错误的地方进行优化、修改和完善,使得系统能够实现最初设计的基本功能。

  • 总结与展望

本文针对特实惠海鲜产品撒商城的特点和用户需求,利用Node.js相关技术、Koa框架和微信小程序等技术,通过详细的需求分析、页面设计和功能设计,实现了包括用户模块、食谱标签模块、食谱分享模块、公共管理模块和微信小程序端的包括用户注册、用户登录、食谱资讯、网站公告、食谱分享。另外,系统还进行了数据安全设计,并添加了用户的访问控制,建立了一个完整、健壮、安全稳定的基于微信小程序的食谱分享平台。

由于时间限制和本人能力条件有限,还存在一些不足,今后也会出现许多新的开发技术,未来还可以对程序做出如下改进:

(1)优化程序页面,使页面更加美观且方便操作;

(2)优化食谱搜索功能,提供多条件选择查询搜索;

(3)优化推荐功能,提高食谱推荐的精准度;

(4)进一步提高使用程序的安全性,使其更加健壮;

(5)优化数据和代码,提升软件效率,方便维护和扩展。

参考文献

[1] 孙磊,宁亚楠,王哲等.微信小程序在新时代“互联网+教育”中的作用与建设[J].黑河学院学报,2023(9):102-104

[2] 袁江琛.基于ASP.NET+三层架构的美食分享网站的设计与实现[J].信息与电脑(理论版),2021(9):164-166

[3] 依力·吐尔孙,艾孜尔古丽.基于Python的美食数据爬取及可视化研究[J].电脑知识与技术,2021(4):19-20

[4] 鲜易洲,杨蕊,吴蓉等.时食美食分享系统的设计与分析[J].电脑知识与技术,2021(3):85-87

[5] 吴晨,毛玉萃,张乐.一款基于SSM的中华美食网站的设计与实现[J].电脑知识与技术,2020(7):70-72

[6] 向桂玲.JavaScript技术在Web网页中的应用研究[J].信息记录材料,2022(4):145-147

[7] 蒋仕艺.序列推荐算法的研究综述[J].现代计算机,2021(2):78-81

[8] 张昌博,颜丽萍,罗丽华.基于计算机智能图像识别的算法与技术研究[J].科学技术创新,2022(2):110-112

[9] Jubao Qu.Research on intelligent recognition and encryption algorithm of network big data image[J].IOP Conference Series:Earth and Environmental Science,2021(1):1-8

[10] Ammar Abdulsalam Al-Asadi,M.Jasim.Dietary Behavior Based Food Recommender  System Using Deep Learning and Clustering Techniques[J].Wasit Journal of Computer and Mathematics Science,2023(7):1-8

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

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

致谢

时光飞逝,转眼间我在学校的这些年生活即将结束,回顾这几年的学习生活,收获良多,既有幸福也有难过,学校生活的结束对于我来说也是一个新的开始。论文即将完成,在此,我心中有许多想要感谢的人。首先感谢我的导师,不仅在学习研究方面加以指导,也在生活和为人处世上给予帮助。还要感谢授课老师,你们严谨的学术精神和积极向上的工作态度都在激励我的成长和进步。感谢多年来一直生活在一起的室友,谢谢你们多年来的陪伴和照顾。最后,要感谢各位论文评审老师,感谢您们在百忙之中抽空评阅本论文并给出宝贵的意见和建议。

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

;