基于Node.JS校交会系统的设计与实现-附源码32026

摘要

校交会系统小程序,作为现代校园生活中的一股清新之风,致力于搭建一个高效、便捷的校园交流互动平台。通过这一小程序,我们期望打破传统校园交流的时空限制,让师生们能够更加自由、灵活地分享信息、交流思想。无论是学术探讨、活动组织,还是资讯分享,校交会系统小程序都能为您提供一个宽广的舞台。我们坚信,这一小程序将为校园文化的繁荣与发展注入新的活力,促进师生间的深度交流与合作,共同书写美好校园生活的崭新篇章。

校交会系统小程序的设计是采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,采用的数据库是Mysql,使用node.js的koa技术技术构建的一个管理系统,实现了本系统的全部功能。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。校交会系统小程序的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现校交会系统小程序的部署运行使用它。

关键词:校交会系统小程序 koa技术;Mysql数据库

Abstract

The school fair system mini program, as a fresh breeze in modern campus life, is committed to building an efficient and convenient platform for campus communication and interaction. Through this mini program, we hope to break the time and space limitations of traditional campus communication, allowing teachers and students to share information and exchange ideas more freely and flexibly. Whether it's academic discussions, event organization, or information sharing, the school exchange system mini program can provide you with a broad stage. We firmly believe that this mini program will inject new vitality into the prosperity and development of campus culture, promote deep communication and cooperation between teachers and students, and jointly write a new chapter of beautiful campus life.

The design of the school trade fair system mini program adopts an object-oriented development model for software development and hardware installation, which can well meet the actual needs of use, improve the corresponding software installation and program coding work. The database used is MySQL, and a management system is built using the koa technology of node.js, realizing all the functions of this system. This report first analyzes the background, role, and significance of the research, laying the foundation for the rationality of the research work. An analysis was conducted on the various requirements and technical issues of the mini program for the school trade fair system, demonstrating the necessity and feasibility of the system. Then, a basic introduction was made to the technical software and design ideas required for designing the system. Finally, the deployment and operation of the mini program for the school trade fair system were implemented.

Keywords:School Transportation Meeting System Mini Program; Koa technology; MySQL database;

目录

摘要

Abstract

第1章 引 言

1.1 研究的目的及意义

1.2 研究内容及主要工作

1.3 论文结构与章节安排

第2章 系统分析

2.1 系统可行性分析

2.1 可行性分析

2.1.1 技术可行性分析

2.1.2 经济可行性分析

2.1.3 操作可行性分析

2.2 系统需求分析

2.2.1 功能需求分析

2.2.2 非功能性需求分析

2.3 系统用例分析

2.4 本章小结

第3章 系统设计

3.1系统功能模块设计

3.2数据库设计

3.2.1数据库概念结构设计

3.2.2数据库逻辑结构设计

4章 关键模块的设计与实现

4.1登录模块

4.2注册模块

4.3二手集市模块

4.4 交流论坛模块

4.5订单列表管理模块

4.6 系统用户界面

4.7订单配送界面

第5章系统测试

5.1测试的目的

5.2系统部分测试

5.3系统测试结果

第6章 结论

参考文献

致谢

第1章 引 言

1.1研究的目的及意义

本研究旨在开发一个集后台管理、交流互动与商城功能于一体的校交会系统小程序,以满足管理员、卖家和用户等不同角色的需求。通过后台管理功能,实现系统用户管理、系统管理、交流管理和商城管理等核心功能的操作与维护;通过交流互动功能,促进校园内的信息交流与文化传播;通过商城功能,提供便捷的商品交易与购物体验。

本系统不仅能够提升校园管理的效率与规范性,为管理员提供一套便捷、高效的管理工具,从而优化校园运营流程;同时,通过构建开放、多元的交流平台,它促进了校园文化的传承与创新,让师生们能够更自由、更深入地分享学术心得、交流思想观点,进而丰富校园文化内涵;此外,小程序打造的商城功能,不仅满足了师生的购物需求,更推动了校园内二手资源的循环利用,体现了环保与可持续发展的理念;最后,校交会系统小程序还注重提升用户体验,通过个性化、便捷的服务,增强了用户的参与度和归属感,让校园生活更加丰富多彩。综上所述,校交会系统小程序的研究不仅具有现实的应用价值,更对推动校园信息化建设、提升校园生活质量具有深远的意义。

1.2研究内容及主要工作

NodeJS校交会系统小程序的研究内容涵盖了系统架构设计、功能模块开发、性能优化以及用户体验提升等方面。在技术实现上,我们主要利用NodeJS的高效驱动机制,构建稳定可靠的后端服务,实现用户认证、数据交互以及复杂的业务逻辑处理。前端小程序则采用微信小程序框架进行开发,利用其丰富的组件库和API接口,快速构建出功能完善、界面美观的用户界面。同时,我们运用数据库技术实现数据的存储与查询,利用缓存技术提升系统性能。此外,我们还关注系统的安全性与稳定性,采用加密技术和错误处理机制,确保用户数据的安全性和系统的稳定运行。最终,我们致力于通过技术手段不断优化用户体验,为用户提供便捷、高效、安全的校交会系统小程序服务。

1.3论文结构与章节安排

论文将分层次经行编排,除去论文摘要致谢文献参考部分,正文部分还会对网站需求做出分析,以及阐述大体的设计和实现的功能,最后罗列部分调测记录,论文主要架构如下:

第一章:引言。第一章主要介绍了课题研究的背景,系统开发的现状和本文的研究内容与主要工作。

第二章:系统需求分析。第二章主要从系统的用户、功能等方面进行需求分析。

第三章:系统设计。第三章主要对系统框架、系统功能模块、数据库进行功能设计。

第四章:系统实现。第四章主要介绍了系统框架搭建、系统界面的实现。

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

第六章:总结。

第2章 系统分析

2.1系统可行性分析

2.1.1 可行性分析

系统可行行分析是对系统对系统可行性进行一个探讨。在探讨系统的可行性上我们主要从技术上的可行性和经济上的可行性以及操作层面的可行性上进行分析,如果三个层面度通过,我们则认为系统是比较可行的。

2.1.2技术可行性分析

校交会系统小程序采用了koa技术,开发了功能完备、使用简单的前端应用程序,并建立、维护了一个数据完整、安全、稳定性强的后台数据库系统。

系统使用koa技术和Mysql数据库作为设计工具,可简单易行地学习操作。用户角色之间的相结合开发一套校交会系统小程序是值得尝试的,数据完整性和许多品质为数据的功能分配和管理提供了依据。它也是数据库安全平台的重要组成部分,是提高和增强数据安全性的重要手段。此外,为了提供更平滑,更智能和更有效的基本控制方法,定义了同时构建对安全计算环境的支持所需的步骤,并帮助维护安全性。因为在这两种开发工具中,功能强大且免费且界面良好,所以校交会系统小程序在技术方面是可行的。

2.1.3经济可行性分析

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

使用koa技术是比较成熟的技术,所以校交会系统小程序的开发在经济上是没有问题的。

2.1.4操作可行性分析

可操作性主要是对校交会系统小程序系统设计完成后,用户的使用体验度,对于管理员可以通过系统随时管理相关的数据信息,并且对于管理员、普通用户及卖家三个用户角色,都可以简单明了的进入到自己的系统界面,通过界面导航菜单可以简单明了地操作功能模块,方便用户信息需求和课程信息管理数据信息,对于系统的操作,不需要专业人员都可以直接进行功能模块的操作管理,所以在系统的可操作性是完全可以的。本系统的操作使用的也是界面窗口进行登录,所以操作人员只要会简单的电脑操作就完全可以的。

2.2系统需求分析

2.2.1功能需求分析

校交会系统小程序我划分为了前台模块、用户端模块、管理员端模块、这三大部分。

前台功能:

(1)注册登录:用户可以通过简单几步快速完成注册,安全地登录校交会系统小程序,开启便捷、个性化的校园服务体验。

(2)交流论坛:校交会系统小程序的交流论坛汇聚了校园内的各种话题和观点,用户可以在这里自由发表看法,与其他用户进行深入的互动和交流,分享学习、生活等各方面的经验和见解。

(3)系统公告:为了及时传递重要的校园资讯和系统更新信息,校交会系统小程序设有专门的系统公告板块,用户可以随时查看,确保不错过任何一条重要消息。

(4)二手集市:在校交会系统小程序的二手集市,用户可以轻松发布闲置物品,也可以浏览其他用户的商品,实现物尽其用,同时享受买卖双方的便捷交易体验。

(5)商城管理(针对前台提供的有限管理功能):对于卖家用户而言,校交会系统小程序提供了简洁直观的商城管理功能,让他们可以方便地查看自己的商品列表、管理订单状态,从而更高效地处理交易事务。

用户端功能:

(1)登录:校交会系统小程序前台注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码后,点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到校交会系统小程序的首页中;否则将会提示相应错误信息。

2交流论坛:当用户点击下方导航栏“交流论坛”这一菜单按钮,会显示管理员在后台发布的所有的交流论坛,可以查看详情,进行收藏、点赞、评论等。

3二手集市:当用户点击下方导航栏“二手集市”这一菜单按钮,会显示管理员在后台发布的所有的二手集市,可以查看详情,进行添加购物车购买、收藏、评论等。

(4)购物车:点击前台“购物管理”这个菜单,点击即可进入详情进行编辑提交等操作。

(5)我的模块:校园用户在前台点击“我的”可以对用户的基本信息、收货地址、收藏、订单、购物车、论坛管理、订单配送等信息进行管理。

管理员端(管理员)

(1)系统用户:包括用户账号的添加、编辑和删除操作,可以查看用户信息、修改用户权限、冻结或解冻用户账号等。

(2)系统公告管理:点击“系统公告”这个菜单,可以查看到所有系统公告详情,可以进行增删改查等操作。

(3)交流管理:点击“交流管理”这个菜单,可以查看到所有交流论坛、论坛分类详情,可以进行增删改查等操作。

4)系统管理:当管理员点击“系统管理”时,可查看轮播图管理,如需添加新的轮播图,点击右侧“新增”按钮,上传图片,输入标题,点击“确认”按钮进行添加。

(5)商城管理:点击“商城管理”这个菜单,可以查看到二手集市、分类列表、订单列表、订单配送等功能,进行查询,添加、删除等操作。

管理员端(卖家):

1)个人信息:点击“个人信息”按钮,可以对个人的头像、昵称、手机号码等信息进行更新。

2)修改密码:点击“修改密码”按钮,可以对登录密码进行更改,首先输入原密码,然后再输入新密码和确认密码,当原密码正确,输入两次新密码一致,

(3)订单列表管理,点击“订单列表”这个菜单,可以查看到所有订单列表详情,进行查询,添加、删除等操作。

(4)订单配送管理,点击“订单配送”这个菜单,可以查看到所有订单配送信息详情,进行查询,添加、删除等操作。

2.2.2非功能性需求分析

 非功能性分析旨在评估校交会系统小程序的非功能需求和性能要求。通过对性能、可靠性、安全性、可用性和扩展性等方面进行评估,确保平台能够满足用户和系统运行的要求。具体如下2-1表格中:

2.1  校交会系统小程序非功能需求表

非功能性要求

说明

性能

评估响应时间、并发用户数、吞吐量等指标,以确保平台稳定高效地运行。

可靠性

评估系统的稳定性、容错能力和数据完整性,保障系统在故障情况下正常运行。

安全性

评估用户身份认证、数据加密和访问控制等,保护用户信息和交易的安全。

可用性

评估系统的稳定性、故障处理能力和用户界面友好性,提供良好的用户体验。

扩展性

评估系统的可扩展性和灵活性,以便根据需求进行功能扩展和升级。

2.3系统用例分析

系统用例分析是对校交会系统小程序中各个功能模块的用户需求和行为进行分析,以识别和描述不同的用户用例。通过系统用例分析,可以深入了解用户在平台上的操作流程,为系统设计和开发提供指导,并确保平台能够满足用户的需求和期望。

校交会系统小程序校园前台/用户角色用例图如图2.1所示:

图2.1前台/用户角色用例图

 校交会系统小程序中管理员/卖家用例图如图2.2所示:

图2.2 管理员用例图

2.4本章小结

在系统分析的章节中,我们通过可行性分析、功能分析和系统用例分析等方法,全面评估了校交会系统小程序的可行性、功能需求以及用户需求。这些分析为后续的系统设计和开发提供了重要的指导和决策依据,确保平台能够满足用户需求,并实现预期目标和效益。

第3章 系统设计

校交会系统小程序总体设计包括系统架构、数据库设计、用户界面设计等方面。通过三层架构模式,确保系统的可靠性和可扩展性。设计规范化的数据库结构,以存储和管理二手集市、用户数据等。同时,注重用户界面的友好性和易用性,提供便捷的功能操作和良好的用户体验。总体设计的目标是实现一个稳定、安全、高效的校交会系统小程序,满足用户的需求。

3.1系统功能模块设计

通过整体功能模块设计,我们将根据需求分析的结果,将系统的功能划分为不同的模块。每个模块负责实现特定的功能,并与其他模块进行协作。我们将详细定义每个模块的输入、输出、处理逻辑和相互依赖关系。具体的功能模块图如图3.1所示。

图3.1 校交会系统小程序功能模块图

3.2数据库设计

数据库设计是系统开发中至关重要的一环,它涉及到数据的组织、存储和管理。在数据库设计中,我们将根据系统的需求设计数据库的概念结构和逻辑结构,包括定义实体、属性、关系和约束等。

3.2.1数据库概念结构设计

数据库概念结构设计主要涉及数据库的实体和实体之间的关系。通过实体-关系模型或者其他适当的模型,我们将定义系统中涉及的各个实体以及它们之间的联系。下面是整个校交会系统小程序的总E-R关系图。

图3.2  校交会系统小程序总E-R关系图

3.2.2数据库逻辑结构设计

数据库逻辑结构设计则是在概念结构的基础上,进行具体的数据库表设计。我们将定义每个表的结构、字段和约束,并建立表与表之间的关系。具体如下。

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表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

默认判断

表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

更新时间:

表campus_users (校园用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

campus_users_id

int

10

0

N

Y

校园用户ID

2

user_name

varchar

64

0

Y

N

用户姓名

3

mobile_phone_number

varchar

16

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

更新时间

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

表forum (论坛)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

forum_id

mediumint

8

0

N

Y

论坛id

2

display

smallint

5

0

N

N

100

排序

3

user_id

mediumint

8

0

N

N

0

用户ID

4

nickname

varchar

16

0

Y

N

昵称:[0,16]

5

praise_len

int

10

0

Y

N

0

点赞数

6

hits

int

10

0

N

N

0

访问数

7

title

varchar

125

0

N

N

标题

8

keywords

varchar

125

0

Y

N

关键词

9

description

varchar

255

0

Y

N

描述

10

url

varchar

255

0

Y

N

来源地址

11

tag

varchar

255

0

Y

N

标签

12

img

text

65535

0

Y

N

封面图

13

content

longtext

2147483647

0

Y

N

正文

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

16

avatar

varchar

255

0

Y

N

发帖人头像:

17

type

varchar

64

0

N

N

0

论坛分类:[0,1000]用来搜索指定类型的论坛帖

表forum_type (论坛分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

name

varchar

16

0

N

N

分类名称:[2,16]

3

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

4

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

5

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

6

icon

varchar

255

0

Y

N

分类图标:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

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:

表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

折扣

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

表second_hand_market (二手集市)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

second_hand_market_id

int

10

0

N

Y

二手集市ID

2

new_and_old_degree

varchar

64

0

Y

N

新旧程度

3

product_specifications

varchar

64

0

Y

N

商品规格

4

seller

int

10

0

Y

N

0

卖方

5

mobile_phone_number

varchar

64

0

Y

N

手机号码

6

praise_len

int

10

0

N

N

0

点赞数

7

cart_title

varchar

125

0

Y

N

标题:[0,125]用于产品html的标签中

8

cart_img

text

65535

0

Y

N

封面图:用于显示于产品列表页

9

cart_description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

10

cart_price_ago

double

8

2

N

N

0.00

原价:[1]

11

cart_price

double

8

2

N

N

0.00

卖价:[1]

12

cart_inventory

int

10

0

N

N

0

商品库存

13

cart_type

varchar

64

0

N

N

未分类

商品分类:

14

cart_content

longtext

2147483647

0

Y

N

正文:产品的主体内容

15

cart_img_1

text

65535

0

Y

N

主图1:

16

cart_img_2

text

65535

0

Y

N

主图2:

17

cart_img_3

text

65535

0

Y

N

主图3:

18

cart_img_4

text

65535

0

Y

N

主图4:

19

cart_img_5

text

65535

0

Y

N

主图5:

20

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

21

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章 关键模块的设计与实现

4.1登录模块

用户登录界面用于已注册用户进行账号登录,用户需要输入正确的用户名和密码才能成功登录系统。登录界面应对用户的输入进行验证,并提供密码找回或重新注册的选项。界面如下图所示。其主界面展示如下图4.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.2注册模块

用户注册界面用于新用户进行账号注册,用户需要填写必要的个人信息并选择合适的用户名和密码。注册界面应该进行输入验证和数据格式检查,确保用户提供有效的信息。界面如下图所示。其主界面展示如下图4.2所示。

图5.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.3二手集市模块

二手集市:当用户点击下方导航栏“二手集市”这一菜单按钮,会显示管理员在后台发布的所有的二手集市,可以查看详情,进行添加购物车购买、收藏、评论等。界面如下图所示。

   

图4.3 二手集市查看界面图

二手集市管理:点击“二手集市”这个菜单,可以查看到所有二手集市详情,可以进行增删改查等操作。界面如下图所示。

图4.4 二手集市界面图

4.4 交流论坛模块

交流论坛:当用户点击下方导航栏“交流论坛”这一菜单按钮,可以查看详情,进行相对应操作。界面如下图所示。

   

图4.5 交流论坛查看界面图

交流管理:可以查看到所有交流论坛详情,进行查询,添加、删除等操作。界面如下图所示。

图4.6交流管理界面图

4.5订单列表管理模块

订单列表:卖家点击“订单列表”这个菜单,可以查看到所有订单信息详情,进行查询,添加、删除等操作。界面如下图所示。

图4.7 订单列表管理界面图

订单列表管理:可以查看到订单详情,进行查询,添加、删除等操作,界面如下图所示。

图4.8 订单列表管理界面图

4.6 系统用户界面

系统用户:包括用户账号的添加、编辑和删除操作,可以查看用户信息、修改用户权限、冻结或解冻用户账号等。界面如下图所示。

图4.9系统用户界面图

4.7订单配送界面

订单配送管理,卖家点击“订单配送”这个菜单,可以查看到所有订单配送信息详情,进行查询,添加、删除等操作。界面如下图所示。

图4.10订单配送界面图

第5章系统测试

5.1测试的目的

测试目的是为了验证系统的功能、性能和稳定性,以确保系统在实际应用中能够达到预期的要求。通过测试,可以发现潜在的问题和缺陷,并及时进行修复和改进。测试还可以评估系统的可靠性、安全性和用户体验,以提供一个高质量和可信赖的产品。此外,测试也有助于验证系统是否满足用户需求和预期,是否符合相应的标准和规范。总之,测试的目的是为了确保系统的质量和可靠性,从而为用户提供良好的使用体验和价值。

5.2系统部分测试

表5.1 用户注册测试用例

测试编号

测试内容

预期结果

TC-001

输入有效信息

注册成功,跳转到登录页面

TC-002

输入已存在账号

显示账号已存在的提示信息

TC-003

输入无效信息

显示注册失败的提示信息,要求重新输入有效信息

表5.2 用户登录测试用例

测试编号

测试内容

预期结果

TC-004

输入正确的账号密码

登录成功,跳转到个人主页

TC-005

输入错误的账号密码

显示登录失败的提示信息,要求重新输入正确的账号密码

表5.3 修改密码测试用例

测试编号

测试内容

预期结果

TC-006

输入有效密码

密码修改成功,显示修改成功的提示信息

TC-007

输入无效密码

显示密码无效的提示信息,要求重新输入有效密码

TC-008

输入错误原密码

显示原密码错误的提示信息,要求重新输入正确原密码

表5.4 订单配送测试用例

测试编号

测试内容

预期结果

TC-009

输入有效的订单配送信息

订单配送成功,显示记录成功的提示信息

TC-010

输入无效的订单配送信息

显示记录失败的提示信息,要求重新输入有效信息

表5.5 查看订单列表测试用例

测试编号

测试内容

预期结果

TC-011

点击查看商品

显示当日的订单列表

TC-012

选择其他日期

显示所选日期的订单列表

TC-013

无可用二手集市

显示暂无商品的提示信息,提醒用户重新选择日期

表5.6 查看系统公告测试用例

测试编号

测试内容

预期结果

TC-014

点击查看系统公告

显示系统公告页面,展示相关的文章、新闻等内容

TC-015

选择其他分类

显示所选分类下的相关文章、新闻等内容

TC-016

无可用系统公告信息

显示暂无系统公告的提示信息,提醒用户重新选择分类

5.3系统测试结果

综上所述,校交会系统小程序在功能测试中表现良好,通过了所有测试用例。系统提供的用户注册、登录、修改密码、订单配送、查看订单列表和查看系统公告等主要功能都能正常运行,并能够给出预期的提示信息和结果。然而,为了确保系统的全面稳定性和质量,仍建议进行更多的综合性测试,包括性能测试、安全性测试和用户体验测试等,以进一步验证和改进系统的功能和性能。

第6章 结论

本研究设计并实现了校交会系统小程序。通过对系统进行功能测试和评估,得出以下结论:该系统在功能上经过验证,用户注册、登录、系统管理、系统公告管理、交流管理、商城管理等功能都能正常运行;技术上具备稳定性和可扩展性,系统提供跨平台应用,koa框架简化开发,MySQL数据库支持数据存储与查询;从经济角度看,小程序开发成本低,Nodejs和MySQL均为免费且开源;操作上易用性好,小程序界面简洁明了,Nodejs的自动化部署与MySQL的管理工具提供便捷操作。

综上所述,校交会系统小程序在功能、技术、经济和操作上均具有优势。满足用户需求并提供更好的用户体验。

参考文献

[1]李卓,王珂,姜丽媛. “互联网+”农业视角下的电商助农小程序商城研究——以“稷原丰村”微信小程序为例 [J]. 商场现代化, 2024, (07): 24-26. DOI:10.14013/j.cnki.scxdh.2024.07.002.

[2]高敏钦. 基于微信小程序的智慧校园平台设计 [J]. 河北软件职业技术学院学报, 2024, 26 (01): 12-15. DOI:10.13314/j.cnki.jhbsi.2024.01.017.

[3]资佳阳,周灵,曾亚光. 基于微信小程序的眼科参数检测系统设计 [J]. 现代信息科技, 2024, 8 (06): 1-6. DOI:10.19850/j.cnki.2096-4706.2024.06.001.

[4]QianJun L ,JingJing Z ,RuiChao Y , et al. WeChat mini program in laboratory biosafety education among medical students at Guangzhou Medical University: a mixed method study of feasibility and usability [J]. BMC Medical Education, 2024, 24 (1): 305-305.

[5]杨奇. 基于微信小程序在施工中快速查询钢筋参数的开发与应用 [J]. 建筑工人, 2024, 45 (03): 4-7.

[6]戴峰. 基于微信小程序的多选题题库设计与开发 [J]. 现代信息科技, 2024, 8 (05): 45-48+53. DOI:10.19850/j.cnki.2096-4706.2024.05.010.

[7]王晓俊,易雪,赵旭,等. 微信小程序在手术室医疗设备管理中的应用 [J]. 检验医学与临床, 2024, 21 (04): 552-555.

[8]李鹏,高燕,王思源. 基于微信小程序的智能语音家居系统 [J]. 微型电脑应用, 2024, 40 (02): 225-228.

[9]陈锦. 校园智能导览小程序的设计与实现 [J]. 襄阳职业技术学院学报, 2024, 23 (01): 88-92.

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

[11]陆歆,容泳珊. 基于旅游体验的游戏化导览小程序设计研究 [J]. 美与时代(上), 2024, (02): 24-27. DOI:10.16129/j.cnki.mysds.2024.02.005.

[12]Wu J ,Chen N ,Xia H , et al. Design and application of a game‐based WeChat mini‐program for screening cognitive impairments in Chinese older adults [J]. Alzheimer's & Dementia, 2023, 19 (S11):

[13]Wu J ,Chen N ,Xia H , et al. Design and development of the intelligent voice recognition‐based cognitive assessment WeChat mini‐program [J]. Alzheimer's & Dementia, 2023, 19 (S11):

[14]宋东翔,马伽洛伦,袁铭举,等. 基于协同过滤和NodeJS的电影推荐系统研究 [J]. 信息与电脑(理论版), 2022, 34 (12): 143-145.

[15]Piyush P ,Singh A R ,S.B. G , et al. Authentication and Authorization in Modern Web Apps for Data Security Using Nodejs and Role of Dark Web [J]. Procedia Computer Science, 2022, 215 781-790.

[16]Sharma A D ,Jain A ,Bahuguna A , et al. A Simple Comparison Between Java Python and Nodejs in Web Development [J]. Journal of Research in Science and Engineering, 2021, 3 (8):

[17]R S ,V S ,M J , et al. Development of electronic record-keeping software for remote participation in Large Volume Plasma Device upgrade using Angular 2 and NodeJS web technologies. [J]. The Review of scientific instruments, 2021, 92 (7): 075102-075102.

[18]遇宇. 基于Nodejs的定制化流程引擎设计与实现 [J]. 电脑编程技巧与维护, 2020, (11): 39-40+65. DOI:10.16184/j.cnki.comprg.2020.11.014.

[19]张贵强,王美玲. 基于NodeJS的企业网站的设计与实现 [J]. 信息技术与信息化, 2019, (12): 58-60.

[20]何锡浩,单玉刚. 基于nodejs的校园智能视频监控系统设计和实现 [J]. 电脑知识与技术, 2019, 15 (36): 198-200. DOI:10.14004/j.cnki.ckt.2019.4344.

致谢

在完成校交会系统小程序的研究与开发过程中,我深感身边的帮助与支持无比珍贵。首先,我要衷心感谢指导老师的悉心指导和无私帮助,您的严谨态度和深厚专业知识让我受益匪浅。同时,也要感谢团队成员们的默契配合和辛勤付出,我们共同克服了一个又一个难题,取得了如今的成果。此外,我还要感谢校园内的师生们,是你们的积极参与和宝贵建议,让我们的小程序更加完善。最后,我要向所有为小程序提供支持和帮助的人表示衷心的感谢,是你们的支持和鼓励,让我有动力不断前行。在未来的日子里,我将继续努力,为校交会系统小程序的发展贡献自己的力量。

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

  • 12
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值