基于uni-app的大学生二手教材交易平台设计与实现-毕业设计源码30726

目  录

摘要

1 绪论

1.1 选题背景与意义

1.2研究现状

1.3论文结构与章节安排

2 大学生二手教材交易平台系统分析

2.1 可行性分析

2.1.1 技术可行性分析

2.1.2 经济可行性分析

2.1.3 操作可行性分析

2.2 系统流程分析

2.2.1 数据增加流程

2.2.2数据修改流程

2.2.3数据删除流程

2.3 系统功能分析

2.3.1 功能性分析

2.3.2 非功能性分析

2.4 系统用例分析

2.5本章小结

3 大学生二手教材交易平台总体设计

3.1 系统功能模块设计

3.1.1整体功能模块设计

3.1.2用户模块设计

3.1.3 评论管理模块设计

3.1.4书籍信息模块设计

3.2 数据库设计

3.3本章小结

4 大学生二手教材交易平台主要详细设计与实现

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系统管理界面

5系统测试

5.1 系统测试用例

5.2 系统测试结果

结论

参考文献

致  谢

摘要

该系统是基于uni-app开发的大学生二手教材交易平台,旨在方便大学生之间买卖教材和学习资料。系统具有用户注册登录、教材上传、浏览搜索、订单交易、评价等功能。用户可以在平台上注册账号,上传自己的教材信息并设置价格,也可以搜索浏览其他用户发布的教材信息。通过平台上的交易功能,买家可以购买所需教材,卖家则能轻松出售不需要的教材。交易完成后,用户可以对交易进行评价,帮助其他用户更好地选择信用高的交易对象。该系统致力于促进大学生之间的资源共享和互助,提高教材利用率并减轻大学生的经济负担。

关键词:uni-app;SprignBoot框架;大学生二手教材交易平台;MySQL数据库

Abstract

The system is a second-hand textbook trading platform for college students developed based on uni-app, aiming to facilitate the sale of textbooks and learning materials among college students. The system has the functions of user registration and login, textbook uploading, browsing and search, order trading, evaluation and so on. Users can register an account on the platform, upload their own textbook information and set prices, or search and browse the textbook information published by other users. Through the trading function on the platform, buyers can buy the required textbooks, while sellers can easily sell the unnecessary textbooks. After the transaction is completed, users can evaluate the transaction and help other users to better choose the transaction objects with high credit. The system is committed to promoting resource sharing and mutual aid among college students, improving the utilization rate of teaching materials and reducing the economic burden of college students.

Key words: Java; SprignBoot framework; second-hand textbook trading platform for college students; MySQL database

1 绪论

1.1 选题背景与意义

在当今高等教育领域,教材是学习的重要组成部分。然而,购买全新的教材往往需要大量资金,对于许多学生来说是一项负担。因此,二手教材市场成为了许多学生寻找廉价教材的选择。基于这一需求,二手教材交易平台应运而生,为学生提供了一个便捷的渠道来购买和出售二手教材。

(1)教材价格高昂:大多数学生在面临购买教材时都会感到经济压力。教材价格的高昂使得许多学生难以承受,尤其是针对大学生这一群体,他们往往在学费、生活费等方面都有一定的经济负担。因此,寻找价格更为实惠的二手教材成为了一种解决方案。

(2)学生之间教材交流需求:大学生群体中,存在着一个潜在的资源共享需求。在一个学期结束后,一些学生可能不再需要某些教材,而另一些学生却可能需要这些教材。因此,建立一个方便学生之间进行教材交流的平台,能够有效地促进资源的共享和利用,减少浪费,同时也为学生提供了更多选择。

(3)便捷的交易渠道:随着移动互联网技术的普及,许多学生更愿意通过手机应用或者网站来进行购物和交易。因此,一个基于手机应用或者网页的二手教材交易平台能够提供更便捷的交易渠道,使学生能够随时随地地进行教材的买卖。

(4)社交和信任因素:在购买二手教材时,学生通常更倾向于与同校的同学进行交易,因为他们更容易建立起信任关系。因此,一个基于校园社交网络的二手教材交易平台能够满足学生对于信任和社交的需求,提高交易的可靠性和安全性。

综上所述,基于uni-app的大学生二手教材交易平台系统能够有效地满足学生在教材购买和交易方面的需求,为学生提供了一个便捷、经济、安全和社交的交易环境。

1.2研究现状

目前,在大学生二手教材交易领域,基于uni-app开发的平台逐渐受到关注和应用。这类平台通过利用uni-app框架的跨平台特性,能够将应用同时部署到多个移动端平台,提供更广泛的覆盖面和更好的用户体验。此外,通过uni-app的开发特点,开发者可以更快地开发出功能完善、界面流畅的二手教材交易平台。

目前,大学生二手教材交易平台基于uni-app的研究正在不断深入和发展。研究者们致力于优化平台的功能和性能,提升用户体验,加强用户对交易安全和信任的感知,开拓平台的商业模式,提高平台的社会影响力等方面展开研究。总体来看,在大学生二手教材交易平台领域,基于uni-app的研究现状尚处于不断探索和完善的阶段,未来仍有很大的发展空间。

1.3论文结构与章节安排

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

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

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

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

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

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

第六章:总结。

uni-app大学生二手教材交易平台系统分析

系统分析是在软件开发过程中的一项关键任务,它旨在对要开发的系统进行全面的、系统化的研究和调查,以确定系统需求并为后续的设计和开发工作提供基础。系统分析包括以下几个方面。

2.1 可行性分析

可行性分析是在软件开发过程中的一项重要任务,旨在评估和确定项目的可行性,包括技术可行性、经济可行性和操作可行性等。以下是各个方面的具体内容。

2.1.1 技术可行性分析

在技术可行性方面,大学生二手教材交易平台采用MySQL数据库作为数据存储介质,并利用uni等开发工具进行系统的搭建和部署。同时,使用SprignBoot框架进行开发,该框架具有良好的可扩展性和维护性,能够简化开发过程并提高系统的性能和稳定性。这些技术选择是成熟且广泛应用的,能够满足项目的需求

2.1.2 经济可行性分析

在经济可行性方面,大学生二手教材交易平台所需的开发软件和工具,如uni和MySQL等,都是免费且开源的,无需额外费用。此外,这些工具易于获取和操作,降低了开发成本。而且,随着大学生二手教材交易平台的运营和发展,可以通过广告推广、会员服务等方式实现收益,增加项目的经济可行性

2.1.3 操作可行性分析

在操作可行性方面,我们参考了其他成功案例,并对用户界面和功能进行了系统分析。通过以人为本的设计原则,简化了操作流程,使得具备基本计算机知识的用户能够轻松上手。同时,我们也提供了清晰的用户指南和帮助文档,以支持用户的操作和使用

2.2 系统流程分析

2.2.1 数据增加流程

用户登录系统后,选择要添加的信息类型,填写相应的信息表单并提交。系统对信息进行处理,并给予用户反馈结果。用户可以根据需要返回上级页面或继续操作。图2-1就是数据删除时的流程图。

图2-1 数据增加流程图

2.2.2数据修改流程

数据修改时的流程和上面介绍的数据增加时的流程差不多,如图2-2所示。

图2-2 数据修改流程图

2.2.3数据删除流程

用户登录系统后,导航至相应的信息管理功能入口。选择要删除的信息,并确认删除操作。系统进行删除处理,并给予用户反馈结果。用户可以根据需要返回上级页面或继续操作。图2-3就是数据删除时的流程图。

图2-3数据删除流程图

2.3 系统功能分析

2.3.1 功能性分析

大学生二手教材交易平台可以划分为普通用户模块和管理员模块两大部分。

这个大学生二手教材交易平台基于uni-app,主要功能包括用户注册与登录,商品发布与浏览,商品详情查看,聊天功能,评价和评分,筛选和分类,支付功能,通知功能,我的订单查看以及举报功能。用户可以注册账号并登录,发布或浏览二手教材信息,查看详细信息并通过内置聊天功能进行沟通,评价交易对方,筛选分类商品,进行在线支付,接收系统通知,查看交易订单记录,举报违规行为,以维护交易秩序。

普通用户:

(1)首页:展示最新发布的二手教材信息和推荐的书籍,提供用户快速浏览和搜索功能。

(2)书籍资讯:提供有关书籍的相关资讯和文章,帮助用户了解书籍信息和行业动态。

(3)公告消息:发布平台公告和通知,包括系统更新、活动信息等,保持用户与平台的及时沟通。

(4)书籍信息:展示所有二手教材的详细信息,包括书籍名称、作者、价格、新旧程度等,用户可以通过该模块浏览和筛选感兴趣的书籍。

(5)交流评论:用户可以在此模块下进行交流和评论,分享使用心得、交流书籍信息等。

(6)购买订单:展示用户已购买的订单信息,包括订单状态、交易金额等,方便用户查看和管理订单。

(7)订单发货:用户可以在此模块下查看已购买的书籍是否已发货,跟踪订单的物流信息。

(8)收藏:用户可以将感兴趣的二手教材收藏起来,方便以后查看和购买。

管理员:

(1)系统用户管理:管理员可以管理系统用户的注册、登录、权限分配等操作。

(2)书籍分类管理:管理员可以对二手教材进行分类管理,包括添加、编辑、删除不同分类。

(3)书籍信息管理:管理员可以对已发布的二手教材进行管理,包括审核发布、编辑修改、下架处理等操作。

(4)购买订单管理:管理员可以查看所有用户的购买订单,包括订单详情、支付状态、(5)发货状态等信息。

(6)订单发货管理:管理员可以处理已支付的订单,包括确认发货、填写物流信息等操作。

(7)系统管理:管理员可以对系统进行设置和管理,包括基本参数配置、系统日志查看等功能。

(8)公告消息管理:管理员可以发布系统公告、通知消息,以便及时通知用户。

(9)资源管理:管理员可以管理系统中的各种资源,包括图片、文档等文件的上传、下载、删除等操作。

以上论文主题的描述中没有提及具体的技术实现细节,因此在进一步研究中,可以探讨关于信息管理系统、用户交互设计、系统安全性等方面的内容。同时,在实际开发中,需要考虑系统的可扩展性、性能优化和用户隐私保护等问题。

2.3.2 非功能性分析

非功能性分析旨在评估大学生二手教材交易平台的非功能需求和性能要求。通过对性能、可靠性、安全性、可用性和扩展性等方面进行评估,确保系统能够满足用户和系统运行的要求。具体如下2-1表格:

2-1大学生二手教材交易平台非功能需求表

非功能性要求

说明

性能

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

可靠性

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

安全性

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

可用性

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

扩展性

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

2.4 系统用例分析

uni-app大学生二手教材交易平台的完整UML用例图分别是图2-4和图2-5。

图2-1就是普通用户角色的用例展示。

图2-4 uni-app大学生二手教材交易平台普通用户角色用例图

图2-5就是管理员角色的用例展示。

图2-5 uni-app大学生二手教材交易平台管理员角色用例图

2.5本章小结

本章主要通过对本科生学业导师管理系统的系统流程分析、可行性分析、功能需求分析和系统用例分析,确定了该系统所需实现的功能。这些分析结果为本科生学业导师管理系统的代码实现和测试提供了标准和指导。可行性分析考虑了技术、经济和操作的可行性,确保系统的实施可行;功能需求分析明确了系统需要实现的功能模块和具体要求;系统用例分析细化了系统功能,并定义了参与者、前置条件和基本流程;系统流程分析详细揭示了系统的运行流程和数据流动路径。这些分析结果为开发团队提供了明确的目标和指导,可以根据需求逐步实现各个功能模块,并在测试阶段验证系统是否满足预期要求。同时,分析结果也为未来的系统扩展和升级提供了基础和参考依据。

3 uni-app大学生二手教材交易平台总体设计

3.1 系统功能模块设计

3.1.1整体功能模块设计

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

图3-1 uni-app大学生二手教材交易平台功能模块图

3.1.2用户模块设计

用户模块是系统中一个重要的功能模块,它涉及用户的注册、登录、个人信息管理等操作。在用户模块设计中,我们将定义用户数据的结构和属性,包括用户名、密码、邮箱等。同时,还需要实现用户注册、登录、修改密码等功能,并对用户输入进行验证和处理。用户模块的结构图如下图所示:

图3-2用户模块结构图

3.1.3 评论管理模块设计

评论管理模块用于管理用户对资讯或其他内容的评论。在评论管理模块设计中,我们将定义评论数据的结构和属性,包括评论内容、评分、时间等。该模块应支持用户发表评论、查看评论、回复评论等功能,并提供相应的管理接口用于审核和删除不合规的评论。其结构图如下所示:

图3-3评论管理模块结构图

3.1.4书籍信息模块设计

书籍信息模块是系统中核心的功能模块,涉及书籍信息的发布、展示和评论管理等操作。在书籍信息模块设计中,我们将定义书籍信息数据的结构和属性,包括书籍编号、书籍类型、书籍名称、书籍地址、书籍价格等。该模块应支持书籍信息的分类、搜索、浏览和预约等功能,并提供评论管理接口用于处理用户的书籍购买信息和发货单的更新。具体的结构图如下所示。

图3-5书籍信息模块结构图

3.2 数据库设计

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

3.2.1 数据库概念结构设计

数据库概念结构设计主要涉及数据库的实体和实体之间的关系。通过实体-关系模型或者其他适当的模型,我们将定义系统中涉及的各个实体以及它们之间的联系。下面是整个大学生二手教材交易平台中主要的数据库表总E-R实体关系图。

图3-6 大学生二手教材交易平台总E-R关系图

3.2.2 数据库逻辑结构设计

通过上一小节中uni-app大学生二手教材交易平台中总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

用户编号:

表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

更新时间:

表book_classification (书籍分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

book_classification_id

int

10

0

N

Y

书籍分类ID

2

book_classification

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

更新时间

表book_information (书籍信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

book_information_id

int

10

0

N

Y

书籍信息ID

2

seller_customers

int

10

0

Y

N

0

卖家用户

3

book_name

varchar

64

0

N

N

书籍名称

4

book_classification

varchar

64

0

Y

N

书籍分类

5

number_of_books

int

10

0

Y

N

0

书籍数量

6

book_prices

int

10

0

Y

N

0

书籍价格

7

version_number

varchar

64

0

Y

N

版本号

8

is_it_a_new_book

varchar

64

0

Y

N

是否新书

9

is_it_damaged

varchar

64

0

Y

N

是否损坏

10

book_images

varchar

255

0

Y

N

书籍图片

11

book_introduction

text

65535

0

Y

N

书籍简介

12

examine_state

varchar

16

0

N

N

未审核

审核状态

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

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:

表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

更新时间:

表order_shipment (订单发货)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

order_shipment_id

int

10

0

N

Y

订单发货ID

2

seller_customers

int

10

0

Y

N

0

卖家用户

3

book_name

varchar

64

0

Y

N

书籍名称

4

book_classification

varchar

64

0

Y

N

书籍分类

5

book_prices

int

10

0

Y

N

0

书籍价格

6

version_number

varchar

64

0

Y

N

版本号

7

purchasing_users

int

10

0

Y

N

0

购买用户

8

user_name

varchar

64

0

Y

N

用户姓名

9

user_phone_number

varchar

64

0

Y

N

用户电话

10

user_address

varchar

64

0

Y

N

用户地址

11

purchase_quantity

int

10

0

Y

N

0

购买数量

12

purchase_amount

varchar

64

0

Y

N

购买金额

13

delivery_time

datetime

19

0

Y

N

发货时间

14

delivery_status

varchar

64

0

Y

N

配送状态

15

signing_status

varchar

64

0

Y

N

签收状态

16

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

17

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

表purchase_order (购买订单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

purchase_order_id

int

10

0

N

Y

购买订单ID

2

seller_customers

int

10

0

Y

N

0

卖家用户

3

book_name

varchar

64

0

Y

N

书籍名称

4

book_classification

varchar

64

0

Y

N

书籍分类

5

book_prices

int

10

0

Y

N

0

书籍价格

6

version_number

varchar

64

0

Y

N

版本号

7

purchasing_users

int

10

0

Y

N

0

购买用户

8

user_name

varchar

64

0

Y

N

用户姓名

9

user_phone_number

varchar

64

0

Y

N

用户电话

10

user_address

varchar

64

0

Y

N

用户地址

11

purchase_quantity

int

10

0

Y

N

0

购买数量

12

purchase_amount

varchar

64

0

Y

N

购买金额

13

pay_state

varchar

16

0

N

N

未支付

支付状态

14

pay_type

varchar

16

0

Y

N

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

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

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_gender

varchar

64

0

Y

N

用户性别

4

user_age

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

更新时间

表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

更新时间:

3.3本章小结

整个大学生二手教材交易平台的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。

4 大学生二手教材交易平台主要详细设计与实现

在详细设计与实现阶段,我们将根据系统需求和功能模块的设计,进行具体的代码编写和系统搭建。这包括前台界面的设计与开发、后台数据库的建立和管理、业务逻辑的实现等。通过编写代码、进行测试和调试,最终完成整个连锁超市商品销售管理系统的开发。

4.1用户功能模块

4.1.1 前台首页界面

前台首页界面是用户访问系统的入口页面,它应该展示平台的主要功能和特色,并提供导航链接以便用户浏览和搜索书籍。首页界面的设计应注重页面的美观性和用户体验,同时也需要考虑页面的加载速度和响应性能。界面如下图所示。

图4-1 前台首页界面图

4.1.2 用户注册界面

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

图4-2注册界面图 

注册关键代码如下所示。

/**

     * 注册

     * @param user

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(@RequestBody User user) {

        // 查询用户

        Map<String, String> query = new HashMap<>();

        Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));

        query.put("username",user.getUsername());

        List list = service.selectBaseList(service.select(query, new HashMap<>()));

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        map.put("password",service.encryption(String.valueOf(map.get("password"))));

        service.insert(map);

        return success(1);

} 

4.1.3 用户登录界面

用户登录界面用于已注册用户进行账号登录,用户需要输入正确的用户名和密码才能成功登录系统。登录界面应对用户的输入进行验证,并提供密码找回或重新注册的选项。界面如下图所示。

图4-3用户登录界面图

登录的逻辑代码如下所示。

/**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }

        User byUsername = (User) resultList.get(0);

        Map<String, String> groupMap = new HashMap<>();

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();

            String res = String.valueOf(service.runCountSql(sql).getSingleResult());

            if (res==null){

                return error(30000,"用户不存在");

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            tokenService.save(accessToken);

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

}

4.1.4公告信息界面

当访客点击大学生二手教材交易平台中导航栏上的“通知公告”后将会进入到该“通知公告”列表的界面,然后选择想要看的通知公告,点击进入到详细界面。通知公告列表展示界面如下图所示。

图4-4公告列表展示界面图

4.1.5书籍资讯界面

提供有关书籍的相关资讯和文章,帮助用户了解书籍信息和行业动态。

点击进入到详细界面,在详细界面可以收藏+赞+评论等操作。书籍资讯界面如下图4-5所示。

图4-5书籍资讯界面图

4.1.6书籍信息界面

用户可以查看书籍信息,在查询到自己想要了解的书籍信息的时候,可以进入查看详细的介绍,支持用户对喜欢的书籍信息进行书籍预约、点赞、收藏、评论的功能。界面如下图4-6所示。

图4-6书籍信息界面图

4.1.7购买订单界面

展示用户已购买的订单信息,包括订单状态、交易金额等,方便用户查看和管理订单。

详情界面如下图4-7所示。

图4-7购买订单界面图

4.1.8 订单发货界面

用户可以在此模块下查看已购买的书籍是否已发货,跟踪订单的物流信息。

详情展示页面如图4-8所示。

图4-8订单发货详情界面图

4.2管理员功能模块

4.2.1系统用户界面

用户管理界面用于管理员对用户账号进行管理,包括用户信息的查看、编辑和删除等操作。管理员可以根据需要进行用户权限的控制和账号状态的管理。界面如下图4-9所示。

图4-9用户管理界面图

4.2.2系统管理界面

管理员可以通过系统管理下的"轮播图管理"页面查看轮播图列表,并对其中的轮播图进行查询、添加和删除操作,其管理界面如下图4-10所示。

图4-10系统轮播图管理界面图

5系统测试

5.1 系统测试用例

系统测试包括:用户登录功能测试、书籍资讯查看功能测试、书籍信息添加、书籍信息搜索、密码修改、购买订单功能测试,如表5-1、5-2、5-3、5-4、5-5、5-6所示:

用户登录功能测试:

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

用例名称

用户登录系统

目的

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

前提

未登录的情况下

测试流程

1) 进入登录页面

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

预期结果

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

实际结果

实际结果与预期结果一致

书籍资讯查看功能测试:

表5-2 书籍资讯查看功能测试表

用例名称

书籍资讯查看

目的

测试书籍资讯查看功能

前提

用户登录

测试流程

点击书籍资讯列表

预期结果

可以查看到所有书籍资讯信息

实际结果

实际结果与预期结果一致

管理员添加书籍信息界面测试:

表5-3 管理员添加书籍信息界面测试表

用例名称

添加书籍信息测试用例

目的

测试书籍信息添加功能

前提

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

测试流程

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

2)点击进行提交。

预期结果

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

实际结果

实际结果与预期结果一致

书籍信息搜索功能测试:

表5-4书籍信息搜索功能测试表

用例名称

书籍信息搜索测试

目的

测试书籍信息搜索功能

前提

测试流程

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

2)点击搜索按钮。

预期结果

页面显示包含有搜索关键字的书籍信息

实际结果

实际结果与预期结果一致

密码修改搜索功能测试:

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

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

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

测试流程

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

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

购买订单功能测试:

表5-6购买订单功能测试表

用例名称

购买订单测试用例

目的

测试用户购买订单功能

前提

用户正常登录情况下

测试流程

1)点击导游信息菜单。

2)点击购买订单,填写信息,点击进行提交。

预期结果

导航成功

实际结果

实际结果与预期结果一致

5.2 系统测试结果

通过编写大学生二手教材交易平台的测试用例,已经检测完毕用户登录功能测试、书籍资讯查看功能测试、书籍信息添加、书籍信息搜索、密码修改、购买订单功能测试,通过这6大模块为大学生二手教材交易平台的后期推广运营提供了强力的技术支撑。

结论

uni-app大学生二手教材交易平台的设计与实现过程中,我深入分析了旅游行业的实际需求,并基于这些需求设计并实现了涵盖旅行社信息、导游信息、书籍信息、书籍信息、旅游路线等核心功能的系统。经过一系列的实践与测试,我得出以下结论:

本系统采用SprignBoot框架构建,成功地将旅游信息进行了整合与数字化,使得游客能够方便快捷地获取所需信息,极大地提升了旅游体验。在uni-app系统设计过程中,我注重了系统的稳定性、易用性和安全性。通过合理的架构设计和代码优化,确保了系统的稳定运行和高效响应。同时,界面设计简洁直观,操作流程清晰易懂,使得游客能够轻松上手并高效使用。此外,我还采用了多种安全措施,保护用户数据的安全与隐私。尽管系统已经取得了一定的成果,但仍然存在一些改进空间。例如,当前的推荐算法在某些情况下可能不够精准,无法完全满足游客的个性化需求。需要进一步优化推荐算法以及引入更多的数据维度和机器学习技术,提高推荐的准确性和个性化程度。而且旅游行业是一个不断发展变化的领域,新的旅行社、导游、书籍、住宿等资源不断涌现。需持续关注旅游行业的发展动态,及时更新和完善系统功能,确保系统能够跟上行业的发展步伐。

通过本次毕业设计实践,我的代码编写水平与、系统设计能力、项目管理能力有了很大的提高,也对旅游行业有了更深入的了解。未来,我将继续探索和创新,为旅游信息化做出更大的贡献。

参考文献

[1]陈思芊.基于以太坊技术和C2B2C模式的社区式综合类二手商品交易平台研究[J].办公自动化,2024,29(05):87-90.

[2]孙丽,王皓,戴璐,等.大学校园二手交易平台构建与运营——以E大学“花梨闲转”微信小程序为例[J].科技与创新,2024,(04):12-16.DOI:10.15913/j.cnki.kjycx.2024.04.003.

[3]黄骏博,代红梅,饶巧巧.“互联网+”环境下九江高校二手商品交易平台研究[J].办公自动化,2024,29(04):21-24.

[4]胡佳静.基于React Native的校园二手交易平台的设计与实现[J].电脑知识与技术,2023,19(25):42-44.DOI:10.14004/j.cnki.ckt.2023.1385.

[5]何晓曦.闲置交易催生万亿市场二手交易平台开出“绿色”之花[N].国际商报,2023-08-10(005).DOI:10.28270/n.cnki.ngjsb.2023.002993.

[6]樊红玉.闲置交易平台持续使用意愿影响因素研究——以闲鱼APP为例[J/OL].经营与管理,1-16[2024-04-06].https://doi.org/10.16517/j.cnki.cn12-1034/f.20230804.004.

[7]刘曼璐.情感化理念下的校园闲置交易平台设计研究[D].北京建筑大学,2023.DOI:10.26943/d.cnki.gbjzc.2023.000025.

[8]蒋振宇.C2B2C平台模式中的企业动态能力模型研究[D].北京外国语大学,2023.DOI:10.26962/d.cnki.gbjwu.2023.000111.

[9]何流.共享经济背景下闲置物品共享平台的服务设计研究[D].景德镇陶瓷大学,2023.DOI:10.27191/d.cnki.gjdtc.2023.000101.

[10]张蓉朵.闲鱼App平台明代龙纹瓦当收藏研究[D].华东师范大学,2023.DOI:10.27149/d.cnki.ghdsu.2023.002779.

[11]饶锎月.可持续商业模式下垂直类二手交易平台服务设计研究[D].江南大学,2023.DOI:10.27169/d.cnki.gwqgu.2023.002036.

[12]张翼飞,郭宇斌,高斌梁.关于大学生App的开发与现实意义——以校园二手交易平台“拾物”App为例[J].老字号品牌营销,2022,(22):88-90.

[13]徐雅靖.以提升信任为导向的二手交易APP的体验设计研究[D].华东理工大学,2022.DOI:10.27148/d.cnki.ghagu.2022.000333.

[14]“好粮有网”智慧交易平台[J].中国粮食经济,2022,(08):81.

[15]北京商报金融调查小组.数藏交易平台:3万元成名1000元裂变[N].北京商报,2022-07-07(007).DOI:10.28036/n.cnki.nbjxd.2022.001245.

[16]“好粮有网”智慧交易平台[J].中国粮食经济,2022,(06):82.

[17]王颖.社区二手物品处置系统研究与设计[D].哈尔滨理工大学,2022.DOI:10.27063/d.cnki.ghlgu.2022.000977.

[18]Bitcoin Profit (app) Genuinely Connect Investors With The Best Crypto Trading Platforms[J].M2 Presswire,2022,

[19]Trading App SquadTrader Continues To Improve Its Platform to Ensure Success for Traders[J].M2 Presswire,2021,

[20]E*TRADE Gets Top Spot for Options Trading, Trader App, and Web Trading Platform by StockBrokers.com[J].Wireless News,2021,

致  谢

在完成本研究工作过程中,我们要向指导老师表示衷心的感谢。感谢老师在选题、需求分析、系统设计和实现等方面给予的细致指导和支持。老师的专业知识和经验对我们的研究工作起到了重要的指导作用。此外,还要感谢师兄师姐和同学们,他们在技术问题上给予了很多帮助和建议。感谢他们的悉心指导和无私分享,使我们能够更好地完成研究工作。最后,要感谢家人和朋友们对我们学业上的理解和支持。感谢他们的鼓励和陪伴,给予了我们坚持下去的动力。

感谢所有为本研究工作做出贡献的人们!你们的支持和帮助使本研究取得了成功。再次向所有相关人员表示衷心的感谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值