node.js摄影约拍小程序-计算机毕业设计源码47953

摘要

本文介绍了一个基于Node.js和Vue.js的摄影约拍小程序的设计与实现。该程序旨在为用户提供一个便捷、高效的摄影约拍平台,涵盖了普通用户、摄影师用户和管理员三种角色。普通用户可以浏览作品信息、发布需求信息、查看摄影师排行榜和网站公告,参与约拍并获取反馈信息。摄影师用户除了能展示自己的作品和接收需求信息外,还可以管理自己的个人信息和作品,参与约拍并处理反馈信息。管理员则拥有对整个平台的全面管理权限,包括用户管理、私信聊天管理、作品信息管理、风格分类管理、需求信息管理、摄影师排行榜管理、约拍信息管理、反馈信息管理,以及系统管理和公告信息管理。

在设计上,程序采用了前后端分离的开发模式,前端使用Vue.js框架进行页面渲染和交互处理,后端使用Node.js进行数据处理和逻辑处理。程序通过RESTful API进行前后端通信,实现了数据的实时传输和更新。同时,程序还引入了数据库技术来存储和管理用户数据、作品数据、需求数据等。

在实现上,程序充分利用了Node.js和Vue.js的优势,实现了高效的数据处理和流畅的用户体验。同时,程序还注重安全性和稳定性,采用了多种措施来保障用户数据和系统安全。

综上所述,本文基于Node.js和Vue.js的摄影约拍小程序的设计与实现,为用户提供了一个功能全面、操作简便的摄影约拍平台,为摄影行业的数字化转型提供了新的解决方案。

关键词:摄影约拍小程序;微信小程序开发框架;Node.js;Vue.js


Abstract

This article introduces the design and implementation of a photography appointment mini program based on Node.js and Vue.js. This program aims to provide users with a convenient and efficient photography appointment platform, covering three roles: ordinary users, photographer users, and administrators. Ordinary users can browse work information, post demand information, view photographer rankings and website announcements, participate in scheduling and receive feedback information. In addition to displaying their works and receiving demand information, photographer users can also manage their personal information and works, participate in scheduling and processing feedback information. Administrators have comprehensive management permissions for the entire platform, including user management, private message chat management, work information management, style classification management, demand information management, photographer ranking management, appointment information management, feedback information management, as well as system management and public announcement information management.

In terms of design, the program adopts a front-end and back-end separation development mode. The front-end uses the Vue.js framework for page rendering and interaction processing, while the back-end uses Node.js for data processing and logical processing. The program uses RESTful API for front-end and back-end communication, achieving real-time data transmission and updates. At the same time, the program also introduces database technology to store and manage user data, work data, demand data, etc.

In terms of implementation, the program fully utilizes the advantages of Node.js and Vue.js, achieving efficient data processing and a smooth user experience. At the same time, the program also emphasizes security and stability, and adopts various measures to ensure the security of user data and system.

In summary, this article designs and implements a photography appointment mini program based on Node.js and Vue.js, providing users with a comprehensive and easy-to-use photography appointment platform, and providing new solutions for the digital transformation of the photography industry.

Keywords: Photography appointment mini program; WeChat Mini Program Development Framework; Node.js; Vue.js

目录

1 绪论

1.1 课题研究背景

1.2 课题研究现状

1.3系统开发技术的特色

2 基于NodeJS+Vue的摄影约拍小程序分析

2.1可行性分析

2.1.1技术可行性分析

2.1.2经济可行性分析

2.1.3社会可行性分析

2.2 系统流程分析

2.2.1 数据流程

2.2.2 业务流程

2.3功能需求分析

2.4用例分析

3基于NodeJS+Vue的摄影约拍小程序总体设计

3.1系统功能模块设计

3.3数据库设计

3.3.1 数据库E-R模型

3.3.2 数据库表设计

4 基于NodeJS+Vue的摄影约拍小程序实现

4.1 前台微信端

4.1.1 用户注册界面

4.1.2 用户登录界面

4.1.3 作品信息界面

4.1.4 需求信息界面

4.1.5 摄影师排行榜界面

4.1.6 约拍信息界面

4.1.7 摄影资讯界面

4.1.8需求信息界面

4.2前台摄影师用户端

4.2.1私信聊天界面

4.2.2 作品信息界面

4.2.3 约拍信息界面

4.3后台管理员端

4.3.1 系统用户界面

4.3.2作品信息管理界面

4.3.3系统管理界面

4.3.4公告信息管理界面

4.3.5资源管理界面

5 基于NodeJS+Vue的摄影约拍小程序测试

5.1系统测试

5.2测试结果

结论

参考文献

致谢

1 绪论

1.1 课题研究背景

随着移动互联网的快速发展和智能手机的普及,微信小程序作为一种轻量级的应用程序,以其便捷的使用体验和广泛的用户基础,迅速成为移动应用开发的新宠。同时,摄影作为一种记录生活、表达创意的艺术形式,受到越来越多人的喜爱和追捧。在这样的背景下,开发一款基于微信小程序的摄影约拍小程序,将摄影服务与移动应用相结合,具有重要的现实意义和市场需求。

一方面,微信小程序作为一种无需下载安装即可使用的应用程序,具有天然的流量优势和用户粘性,能够为摄影约拍服务提供更为广泛和便捷的触达渠道。通过微信小程序,摄影师和用户可以更加轻松地发布作品、查找约拍对象、交流沟通,实现资源的有效对接和高效利用。

另一方面,随着摄影行业的快速发展和市场竞争的加剧,如何提升用户体验、提高服务效率、降低运营成本,成为摄影行业面临的重要问题。基于Node.js和Vue.js的摄影约拍小程序的设计与实现,可以充分利用这些技术的优势,实现前后端分离、数据实时更新、高效处理等功能,提升系统的性能和稳定性,为摄影行业提供一种新的解决方案。

因此,本文的研究背景在于,通过基于Node.js和Vue.js的摄影约拍小程序的设计与实现,探索将摄影服务与移动应用相结合的新模式,满足用户便捷、高效的约拍需求,推动摄影行业的数字化转型和创新发展。同时,也为其他类似应用的设计和实现提供有益的参考和借鉴。

1.2 课题研究现状

在国内,随着移动互联网的迅速发展和智能手机的普及,微信小程序作为一种新型的移动应用形态,已经得到了广泛的关注和应用。摄影作为一种受欢迎的艺术形式,与微信小程序的结合,为摄影行业带来了新的发展机遇。近年来,国内不少研究者和企业开始探索基于微信小程序的摄影约拍小程序的设计与实现。这些研究和实践主要集中在如何提升用户体验、提高服务效率、降低运营成本等方面。通过引入Node.js和Vue.js等前端后端技术,国内的研究者和企业已经开发出多款功能丰富、性能稳定的摄影约拍小程序,为摄影行业提供了数字化、智能化的解决方案。

在国际上,基于移动平台的摄影约拍应用也得到了广泛的关注和研究。许多知名的摄影应用和服务商已经推出了自己的移动应用,如Instagram、Snapchat等。这些应用通过引入先进的技术和理念,为用户提供了更加便捷、高效的摄影约拍服务。同时,国外的研究者还在不断探索新的技术和方法,如基于人工智能的图像识别和处理、基于大数据的用户行为分析等,以提高摄影约拍应用的性能和用户体验。此外,随着微信小程序在国际市场的推广和应用,国外的摄影行业也开始关注和研究基于微信小程序的摄影约拍小程序的设计和实现。

综上所述,基于Node.js+Vue的摄影约拍小程序的设计与实现在国内外都受到了广泛的关注和研究。通过不断地探索和创新,未来的摄影约拍小程序将更加智能化、个性化和多样化,为用户提供更加便捷和高效的摄影服务。同时,也为摄影行业的数字化转型和创新发展提供了新的机遇和挑战。

1.3系统开发技术的特色

(1)系统采用前后端分离的开发模式,使得前端和后端可以独立开发和维护,提高了开发效率和系统的可维护性。

(2)系统采用微服务架构,将系统拆分成多个独立的服务,每个服务可以独立部署和扩展,提高了系统的灵活性和可扩展性。

(3)系统采用 Docker 容器化部署技术,使得系统可以快速部署和迁移,提高了系统的可靠性和可移植性。

(4)系统采用自动化测试技术,包括单元测试、接口测试和性能测试等,提高了系统的稳定性和可靠性。

(5)系统采用安全保障技术,包括用户认证、授权、数据加密等,保障了系统的安全性和用户的隐私。

这些技术特色使得基于NodeJS+Vue的摄影约拍小程序具有高效、稳定、可靠、安全等优点,能够满足用户的需求和提高用户的体验。


2 基于NodeJS+Vue的摄影约拍小程序分析

基于NodeJS+Vue的摄影约拍小程序可在微信端实现登录注册、首页、摄影师排行榜推荐(此处设置了热度推荐按点击数而排序)、作品信息、需求信息、摄影师排行榜、网站公告、摄影资讯、我的(基本信息、收藏、私信聊天、作品信息、约拍信息、反馈信息)等功能,相对于传统摄影约拍方式,基于NodeJS+Vue的摄影约拍小程序提高了效率和便利性。在后台可对系统用户、私信聊天、作品信息、风格分类、需求信息、摄影师排行榜、约拍信息、反馈信息、系统轮播图、公告信息、摄影资讯进行管理,针对用户对摄影约拍需求,充分了解用户的需求,更有针对性的服务用户。

2.1可行性分析

2.1.1技术可行性分析

Node.js以其高效的异步I/O处理能力和事件驱动模型,在服务器端处理大量并发请求时表现出色,非常适合作为后端服务框架。Vue.js作为前端框架,具有简单易学、组件化开发等特点,能够迅速构建出结构清晰、易于维护的用户界面。微信小程序作为一种轻量级的应用形态,具有广泛的用户基础和良好的用户体验,为应用推广提供了便利。因此,从技术角度来看,基于Node.js+Vue、微信小程序的摄影约拍小程序的设计与实现是可行的。

2.1.2经济可行性分析

随着移动互联网的普及和摄影行业的快速发展,摄影约拍服务具有广阔的市场前景和盈利空间。开发一款基于微信小程序的摄影约拍小程序,能够降低运营成本、提高服务效率、扩大用户规模,从而为企业创造更多的经济价值。因此,从经济角度来看,该项目的实施也是可行的。

2.1.3社会可行性分析

摄影作为一种艺术形式,能够记录生活、表达创意,深受人们喜爱。开发一款基于微信小程序的摄影约拍小程序,能够满足用户对便捷、高效约拍服务的需求,提升用户体验,同时也有助于推动摄影行业的数字化转型和创新发展。因此,从社会角度来看,该项目的实施也是有益的。

2.2 系统流程分析

2.2.1 数据流程

基于NodeJS+Vue的摄影约拍小程序主要的目的之一就是实现用户线上约拍摄影师,图2-1就是系统的数据流图。

图2-1线上约拍摄影师操作展开图

2.2.2 业务流程

分析完系统的数据流,接下来我们来看系统的业务流程,图2-2就是业务流程图:

图2-2业务流程图

2.3功能需求分析

基于NodeJS+Vue的摄影约拍小程序有普通用户和管理员两个用户角色,下面针对两个用户角色的功能需求进行分析:

1. 普通用户功能:

登录注册: 提供注册新账号或登录已有账号的功能,确保用户可以访问系统的个性化内容。

首页: 展示摄影师排行榜推荐、作品信息、需求信息、摄影资讯等内容,方便用户浏览和选择。

摄影师排行榜推荐: 根据热度推荐摄影师,按点击数排序,让用户快速找到受欢迎的摄影师。

作品信息: 展示摄影师的作品信息,让用户了解摄影师的风格和水平。

需求信息: 用户可以发布自己的约拍需求,包括拍摄类型、预算等。

网站公告: 显示系统发布的重要网站公告信息,如活动通知、系统更新等。

摄影资讯: 提供摄影相关的资讯和新闻,包括摄影技巧、行业动态等。

我的: 用户可以查看和管理个人基本信息、收藏的内容、私信聊天、需求信息、约拍信息、反馈信息等。

2.摄影师用户功能:

登录注册: 提供注册新账号或登录已有账号的功能,确保摄影师可以访问系统的个性化内容。

首页: 展示摄影师排行榜推荐、作品信息、需求信息、摄影资讯等内容,方便摄影师展示作品和吸引用户。

摄影师排行榜推荐: 根据热度推荐摄影师,按点击数排序,让用户快速找到受欢迎的摄影师。

作品信息: 展示摄影师自己的作品信息,让用户了解摄影师的风格和水平。

需求信息: 摄影师可以查看用户发布的约拍需求,选择合适的项目进行接单。

网站公告: 显示系统发布的重要网站公告信息,如活动通知、系统更新等。

摄影资讯: 提供摄影相关的资讯和新闻,包括摄影技巧、行业动态等。

我的: 摄影师可以查看和管理个人基本信息、收藏的内容、私信聊天、作品信息、约拍信息、反馈信息等。

3.管理员功能:

后台首页: 管理员登录后的管理主页,显示系统的重要信息和功能入口。

系统用户: 管理系统用户的账号信息,包括添加、编辑和删除用户。

私信聊天管理: 管理用户之间的私信聊天记录,包括查看、删除等操作。

作品信息管理: 管理摄影师的作品信息,包括添加、编辑和删除作品。

风格分类管理: 管理摄影作品的风格分类信息,确保作品的整体管理和整理。

需求信息管理: 管理用户发布的约拍需求信息,包括审核、删除等操作。

摄影师排行榜管理: 管理摄影师排行榜信息,包括排名、点击数等。

约拍信息管理: 管理约拍信息,包括审核发布、删除等操作。

反馈信息管理: 管理用户提交的反馈信息,包括查看、回复等操作。

轮播图管理: 管理系统首页轮播图信息,包括添加、编辑和删除图片等。

公告信息管理: 管理发布的网站公告信息,包括添加、编辑和删除等操作。

摄影资讯: 管理发布的摄影资讯信息,包括添加、编辑和删除资讯。

资讯分类: 管理摄影资讯的分类信息,确保资讯的整体管理和整理。

以上功能需求分析将有助于设计和实现一个摄影约拍小程序,为用户和摄影师提供方便的约拍服务和管理功能,同时让管理员能够高效地管理系统。

2.4用例分析

基于NodeJS+Vue的摄影约拍小程序的完整UML用例图分别是图2-1,图2-2。在参与者上包括普通用户、摄影师用户、管理员。

普通用户角色的用例包括登录注册、首页、摄影师排行榜推荐(此处设置了热度推荐按点击数而排序)、作品信息、需求信息、摄影师排行榜、网站公告、摄影资讯、我的(基本信息、收藏、私信聊天、需求信息、约拍信息、反馈信息)。

图2-3 基于NodeJS+Vue的摄影约拍小程序普通用户角色用例图

摄影师用户角色的用例包括登录注册、首页、摄影师排行榜推荐(此处设置了热度推荐按点击数而排序)、作品信息、需求信息、摄影师排行榜、网站公告、摄影资讯、我的(基本信息、收藏、私信聊天、作品信息、约拍信息、反馈信息)。

图2-4基于NodeJS+Vue的摄影约拍小程序摄影师用户角色用例图

管理员角色的用例包括后台首页、系统用户、私信聊天管理、作品信息管理、风格分类管理、需求信息管理、摄影师排行榜管理、约拍信息管理、反馈信息管理、系统管理(轮播图管理)、公告信息管理、资源管理(摄影资讯、资讯分类)。

图2-5 基于NodeJS+Vue的摄影约拍小程序管理员角色用例图


3基于NodeJS+Vue的摄影约拍小程序总体设计

在上一章节中分析了基于NodeJS+Vue的摄影约拍小程序的功能性需求,并且根据需求分析了基于NodeJS+Vue的摄影约拍小程序中的用例。那么接下来就要开始对基于NodeJS+Vue的摄影约拍小程序架构、主要功能和数据库开始进行设计。

3.1系统功能模块设计

通过对基于NodeJS+Vue的摄影约拍小程序的功能需求分析以及用例分析,得出了基于NodeJS+Vue的摄影约拍小程序的功能模块图如图3-1所示。

图3-1基于NodeJS+Vue的摄影约拍小程序功能模块图

3.3数据库设计

3.3.1 数据库E-R模型

下面是整个基于NodeJS+Vue的摄影约拍小程序的数据库表的E-R实体关系图,如图3-2所示:

图3-2 基于NodeJS+Vue的摄影约拍小程序E-R实体关系图

3.3.2 数据库表设计

通过上一小节中基于NodeJS+Vue的摄影约拍小程序中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。

表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

用户编号:

表appointment_information (约拍信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

appointment_information_id

int

10

0

N

Y

约拍信息ID

2

order_number

varchar

64

0

Y

N

订单编号

3

photographer_users

int

10

0

Y

N

0

摄影师用户

4

personnel_name

varchar

64

0

Y

N

人员姓名

5

region_name

varchar

64

0

Y

N

地区名称

6

skilled_in_style

varchar

64

0

Y

N

擅长风格

7

appointment_price

varchar

64

0

Y

N

约拍价格

8

regular_users

int

10

0

Y

N

0

普通用户

9

user_name

varchar

64

0

Y

N

用户姓名

10

appointment_time

datetime

19

0

Y

N

预约时间

11

booking_a_venue

varchar

64

0

Y

N

预约场地

12

clothing_type

varchar

64

0

Y

N

衣服类型

13

do_you_have_makeup_and_hair

varchar

64

0

Y

N

是否有妆发

14

appointment_remarks

text

65535

0

Y

N

预约备注

15

examine_state

varchar

16

0

N

N

未审核

审核状态

16

examine_reply

varchar

16

0

Y

N

审核回复

17

pay_state

varchar

16

0

N

N

未支付

支付状态

18

pay_type

varchar

16

0

Y

N

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

19

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

20

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

更新时间:

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

表feedback_information (反馈信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

feedback_information_id

int

10

0

N

Y

反馈信息ID

2

order_number

varchar

64

0

Y

N

订单编号

3

photographer_users

int

10

0

Y

N

0

摄影师用户

4

personnel_name

varchar

64

0

Y

N

人员姓名

5

feedback_type

varchar

64

0

Y

N

反馈类型

6

regular_users

int

10

0

Y

N

0

普通用户

7

user_name

varchar

64

0

Y

N

用户姓名

8

feedback_content

text

65535

0

Y

N

反馈内容

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

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:

表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

更新时间:

表photographer_ranking (摄影师排行榜)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

photographer_ranking_id

int

10

0

N

Y

摄影师排行榜ID

2

photographer_users

int

10

0

Y

N

0

摄影师用户

3

personnel_name

varchar

64

0

Y

N

人员姓名

4

age_of_personnel

varchar

64

0

Y

N

人员年龄

5

gender_of_personnel

varchar

64

0

Y

N

人员性别

6

cover_photo

varchar

255

0

Y

N

封面图片

7

region_name

varchar

64

0

Y

N

地区名称

8

skilled_in_style

varchar

64

0

Y

N

擅长风格

9

award_winning_work

varchar

64

0

Y

N

获奖作品

10

appointment_price

int

10

0

Y

N

0

约拍价格

11

matters_needing_attention

text

65535

0

Y

N

注意事项

12

personal_profile

text

65535

0

Y

N

个人简介

13

hits

int

10

0

N

N

0

点击数

14

praise_len

int

10

0

N

N

0

点赞数

15

recommend

int

10

0

N

N

0

智能推荐

16

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

17

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表photographer_users (摄影师用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

photographer_users_id

int

10

0

N

Y

摄影师用户ID

2

personnel_name

varchar

64

0

Y

N

人员姓名

3

age_of_personnel

varchar

64

0

Y

N

人员年龄

4

gender_of_personnel

varchar

64

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

更新时间

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

表private_message_chat (私信聊天)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

private_message_chat_id

int

10

0

N

Y

私信聊天ID

2

sending_users

int

10

0

Y

N

0

发送用户

3

receiving_users

int

10

0

Y

N

0

接收用户

4

sending_date

date

10

0

Y

N

发送日期

5

send_content

text

65535

0

Y

N

发送内容

6

reply_content

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

更新时间

表regular_users (普通用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

regular_users_id

int

10

0

N

Y

普通用户ID

2

user_name

varchar

64

0

Y

N

用户姓名

3

user_age

varchar

64

0

Y

N

用户年龄

4

user_gender

varchar

64

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

更新时间

表requirement_information (需求信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

requirement_information_id

int

10

0

N

Y

需求信息ID

2

title_name

varchar

64

0

Y

N

标题名称

3

style_type

varchar

64

0

Y

N

风格类型

4

regular_users

int

10

0

Y

N

0

普通用户

5

user_name

varchar

64

0

Y

N

用户姓名

6

cover_photo

varchar

255

0

Y

N

封面图片

7

release_date

date

10

0

Y

N

发布日期

8

requirement_content

text

65535

0

Y

N

需求内容

9

hits

int

10

0

N

N

0

点击数

10

praise_len

int

10

0

N

N

0

点赞数

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

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

更新时间:

表style_classification (风格分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

style_classification_id

int

10

0

N

Y

风格分类ID

2

style_type

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

更新时间

表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

更新时间:

表work_information (作品信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

work_information_id

int

10

0

N

Y

作品信息ID

2

title_of_the_work

varchar

64

0

Y

N

作品名称

3

style_type

varchar

64

0

Y

N

风格类型

4

cover_photo

varchar

255

0

Y

N

封面图片

5

publish_users

int

10

0

Y

N

0

发布用户

6

personnel_name

varchar

64

0

Y

N

人员姓名

7

release_date

date

10

0

Y

N

发布日期

8

work_details

longtext

2147483647

0

Y

N

作品详情

9

hits

int

10

0

N

N

0

点击数

10

praise_len

int

10

0

N

N

0

点赞数

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间


4 基于NodeJS+Vue的摄影约拍小程序实现

基于NodeJS+Vue的摄影约拍小程序划分了微信小程序用户端和web后台管理员端,微信端实现登录注册、首页、摄影师排行榜推荐(此处设置了热度推荐按点击数而排序)、作品信息、需求信息、摄影师排行榜、网站公告、摄影资讯、我的(基本信息、收藏、私信聊天、作品信息、约拍信息、反馈信息)等功能,web端是为后台管理员提供后台首页、系统用户、私信聊天管理、作品信息管理、风格分类管理、需求信息管理、摄影师排行榜管理、约拍信息管理、反馈信息管理、系统管理(轮播图管理)、公告信息管理、资源管理(摄影资讯、资讯分类)的平台。

4.1 前台微信端

4.1.1 用户注册界面

不是基于NodeJS+Vue的摄影约拍小程序的用户可以通过微信小程序在线进行注册,填写上自己的账号、密码、重复密码、昵称、邮箱登信息后点击“提交”按钮后将会验证是否有非空数据,再验证密码和重复密码是否一样,最后验证是否账号重复,都验证没问题后即可注册成功。注册实现了普通用户注册,其注册界面展示如下图4-1所示。

图4-1用户注册界面图

4.1.2 用户登录界面

微信小程序上注册后的用户可以通过自己的用户名和密码进行登录,在用户填写好自己的用户名和密码信息并点击“登录”按钮后,将会先验证是否有非空数据,再验证填写的用户信息和数据库中保存的是否一致,一致后将会登录成功,登录成功后将会在左上角上显示用户信息;否则将会提示相应错误信息,用户登录界面如下图4-2所示。

图4-2用户登录界面图

输入有效的用户名和密码信息,点击“登录”按钮,自动跳转到“首页”页面,首页界面如下图4-3所示。

图4-3首页界面图

4.1.3 作品信息界面

点击“作品信息”,普通用户可以查看摄影师的作品信息,了解摄影师的风格和水平,点击可以查看详情、点赞、收藏、评论等操作。界面如下图4-4所示。

图4-4作品信息列表界面图

4.1.4 需求信息界面

普通用户点击“需求信息”可以进入需求信息列表页面,用户可以查看其他用户的需求信息,点击可查看详情、点赞、收藏、评论等操作,如下图4-5所示。

图4-5需求信息列表界面图

4.1.5 摄影师排行榜界面

用户点击“摄影师排行榜”,可以查看摄影师信息,用户可以进行约拍、点赞、收藏、评论等操作。摄影师排行榜详情界面如下图4-6所示。

图4-6摄影师排行榜详情界面图

4.1.6 约拍信息界面

用户在摄影师排行榜详情页面点击“约拍”,可以提交约拍信息进行摄影师约拍。约拍界面如下图4-7所示。

图4-7约拍界面图

4.1.7 摄影资讯界面

用户点击“摄影资讯”,可以查看摄影相关的资讯和新闻,包括摄影技巧、行业动态等,还可进行点赞、收藏、评论等操作。摄影资讯详情界面如下图4-8所示。

图4-8摄影资讯详情界面图

4.1.8需求信息界面

用户点击我的“需求信息”,可以发布自己的需求信息。需求信息界面如下图4-9所示。

图4-9需求信息发布界面图

4.2前台摄影师用户端

4.2.1私信聊天界面

摄影师用户点击我的“私信聊天”,可以查看和回复普通用户的私信聊天信息。私信聊天界面如下图4-10所示。

图4-10私信聊天回复界面图

4.2.2 作品信息界面

摄影师用户点击我的“作品信息”,可以发布自己的作品信息。作品信息界面如下图4-11所示。

图4-11作品信息发布界面图

4.2.3 约拍信息界面

摄影师用户点击我的“约拍信息”,可以查看和审核用户的约拍信息。约拍信息界面如下图4-12所示。

图4-12约拍信息审核界面图

4.3后台管理员端

4.3.1 系统用户界面

管理员点击“系统用户”这一菜单会显示管理员、普通用户和摄影师用户这三个子菜单,管理员可以对这三个角色的信息进行增删改查操作。界面如下图4-13所示。

图4-13用户管理界面图

4.3.2作品信息管理界面

管理员点击后台左边的“作品信息管理”菜单后将可以对作品信息进行管理,包括添加、编辑和删除作品信息等,还可以查看和回复用户评论。作品信息管理界面如下图4-14示。

图4-14作品信息列表界面图

4.3.3系统管理界面

管理员点击“系统管理”这一菜单会显示轮播图这一个子菜单,管理员可以对前台展示的轮播图进行设置,界面如下图所示。

图4-15系统管理界面图

4.3.4公告信息管理界面

点击“公告信息管理”这个菜单,可以查看到系统中所有添加的公告信息,支持通过标题对公告信息进行查询,添加、删除等操作。公告信息管理界面如下图所示。

图4-16公告信息界面图

4.3.5资源管理界面

管理员点击“资源管理”这一菜单,可以管理发布的摄影资讯信息,包括添加、编辑和删除资讯。还可以管理摄影资讯的分类信息,确保资讯的整体管理和整理。界面如下图所示。

图4-17资源管理界面图


5 基于NodeJS+Vue的摄影约拍小程序测试

基于NodeJS+Vue的摄影约拍小程序测试是为了检验软件是否达到设计要求,是否存在错误,通过测试的方法来检查基于NodeJS+Vue的摄影约拍小程序,以便发现基于NodeJS+Vue的摄影约拍小程序中的错误。测试工作是保证基于NodeJS+Vue的摄影约拍小程序质量的关键。

5.1系统测试

微信端上用户查看摄影师排行榜功能测试:

表5-1微信端上用户查看摄影师排行榜功能测试用例表

测试名称

测试功能

操作

操作过程

预期结果

测试结果

查看摄影师排行榜功能模块测试

摄影师排行榜信息正常的显示

浏览摄影师排行榜详情信息

在小程序端上选择一个摄影师排行榜信息将会进入该摄影师排行榜的详情界面,同时可以约拍、点赞、评论、收藏。

进入该摄影师排行榜的详情信息界面

正确

查看摄影师排行榜功能模块测试

摄影师排行榜详情信息正常的显示

浏览摄影师排行榜详情信息

点击“约拍”填写约拍信息,点击“提交”按钮。

生成自己的约拍信息。

正确

微信端上评论功能测试:

表5-2微信端上评论功能测试用例表

测试名称

测试功能

操作

操作过程

预期结果

测试结果

评论功能模块测试

评论信息正常的显示

浏览摄影师排行榜

点击摄影师排行榜底部“评论”按钮后填写评论内容点击提交即可。

进入评论界面

正确

web后台端上管理员发布摄影师排行榜功能测试:

表5-3web后台端上管理员发布摄影师排行榜功能测试用例表

测试名称

测试功能

操作

操作过程

预期结果

测试结果

管理员发布摄影师排行榜功能测试

添加摄影师排行榜的情况

输入新摄影师排行榜信息的基本信息

后台选择“摄影师排行榜管理”菜单后,点击“摄影师排行榜添加”,填写新摄影师排行榜信息后点击“提交”按钮

新摄影师排行榜发布成功

正确

5.2测试结果

通过编写了基于NodeJS+Vue的摄影约拍小程序的测试用例,已经检测完毕了5.1章节中的3大模块,它为基于NodeJS+Vue的摄影约拍小程序的后期推广运营提供了强力的技术支撑。

结论

在开发本系统之前我胸有成竹,觉得很简单,但在实际的开发中我发现了自身的很多问题,许多编程思想和方法都还没有掌握牢靠,比如Node.js 开发语言、微信开发者工具等,通过开发这个摄影约拍小程序我成长了很多,懂得了做什么事情都要脚踏实地,不能眼高手低,在本次摄影约拍小程序的开发中我逐渐掌握逐渐熟悉的技术。

本次摄影约拍小程序的开发中我还学会了例如良好的编程思想和完善的规划思想。在着手编程之前需要罗列出程序框架的大概,脑海中构建出程序的主题框架。做好这一步我们才能胸有成竹的经行开发项目。当设计框架了熟于心之后,需要思考本次编程所需的主要知识点和技术点,并充分学习。

在本次项目中我也暴露了诸多问题。对于Node.js的编程知识有所欠缺,环境配置和算法上出现诸多问题,时常导致项目运行出错,或者目标的实现有问题。或者实现想法时算法未优化,使得代码冗长,程序运行不顺畅。


参考文献

[1]Kabamba M H ,Khouzam M ,Dagenais R M .Vnode: Low-Overhead Transparent Tracing of Node.js-Based Microservice Architectures[J].Future Internet,2023,16(1):

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

[3]赵率宏.基于Node.js的ORM框架研究与实现[D].西南科技大学,2023.DOI:10.27415/d.cnki.gxngc.2023.000804.

[4]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.

[5]谢婉芳,王小茜,赵丕隽.高校“互联网+摄影”平台市场前景及发展建议[J].市场周刊,2022,35(08):31-34.

[6]闵亮,薛格格,张玉欣,等.基于Node.JS博客系统的设计与实现[J].电子设计工程,2022,30(07):37-41.DOI:10.14022/j.issn1674-6236.2022.07.008.

[7]裴之蕈,高艳霞.基于Vue和Node.js的手语教学Web平台的设计与实现[J].电脑与信息技术,2021,29(06):33-36+86.DOI:10.19414/j.cnki.1005-1228.2021.06.010.

[8]余任杰,王风硕.基于Node.js的网上图书销售系统设计[J].电脑知识与技术,2021,17(34):83-84+92.DOI:10.14004/j.cnki.ckt.2021.3680.

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

[10]唐榜.基于Node.js的Web服务端框架研究与实现[D].西南科技大学,2021.DOI:10.27415/d.cnki.gxngc.2021.000946.

[11]赵陶钰.基于HTML5+Node.js同步绘图板的设计与实现[J].邢台职业技术学院学报,2021,38(01):92-95.

[12]刘木友,魏保华,周少萍.结合MVC和Node.js的教学案例设计[J].电脑知识与技术,2021,17(01):34-35+40.DOI:10.14004/j.cnki.ckt.2021.0214.

[13]Y. C .NodeSRT: A Selective Regression Testing Tool for Node.js Application[J].Proceedings - International Conference on Software Engineering,2021,126-128.

[14]王华威.基于Node.js的网上书店设计与实现[J].中国新技术新产品,2020,(22):43-46.DOI:10.13612/j.cnki.cntp.2020.22.015.

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

[16]张钊源,刘晓瑜,鞠玉霞.Node.js后端技术初探[J].中小企业管理与科技(上旬刊),2020,(08):193-194.

[17]高改丽.基于Node.js的在线竞赛系统的设计与实现[D].西安电子科技大学,2020.DOI:10.27389/d.cnki.gxadu.2020.002167.

[18]王驰猋.一种基于Node.js的web前端页面风格替换系统设计与实现[D].南京大学,2020.DOI:10.27235/d.cnki.gnjiu.2020.001524.

[19]Manduchi G ,Luchetta A ,Moro G , et al.Web-based streamed waveform display using MDSplus events and Node.js[J].Fusion Engineering and Design,2020,157111625-111625.

[20]李正仁,周凯虎,王全贵,等.基于Node.js与微信小程序的活动管理平台[J].计算机系统应用,2019,28(12):86-92.DOI:10.15888/j.cnki.csa.007186.

致谢

至此论文结束,感谢您的阅读。首先,我要感谢我的父母对我的支持与理解,在两年的本科学习生活中,倾其所能的爱护我,使我能够心无旁骛,全心全意的投入到学习中;不断鼓励我,让我能够拥有不断前进的动力。其次还要感谢我的导师,感谢在这段时间给予我有效的建议,以至于我的毕设有了整体的设计思路,尽管我在实习期间很忙,论文撰写总是停停改改,但是导师依然十分负责,时不时的询问我的任务进展情况,跟进我的论文进度。在老师的帮助下,我逐步完成了自己的论文和程序,从导师身上也学习到很多知识,和经验,这些知识和经验令我受益匪浅。

此外,还要感谢我的同学,热心的解答了我在程序上遇到的问题,是他们在我编写程序过程中给了我很多的启发和感想,也帮助了我对于程序的调试和检测,让我受益良多。在这两年的时间里,我学会了许多专业的知识,还有老师们的谆谆教诲和同学们的帮助使我不断进步,能够做得更好;我也会不断给自己充电,不断突破,成为更好的自己。

最后向所有关心我、帮助我的老师及同学们表示衷心的感谢!

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值