基于微信小程序的机票预订平台的设计与实现的设计与实现---附源码80729

摘要

  本文介绍了一个基于微信小程序的机票预订平台的设计与实现。随着移动互联网的快速发展,用户对机票预订的需求日益增长,因此开发一个便捷、高效的机票预订平台变得尤为重要。

本文首先分析了机票预订平台的背景和需求,然后详细阐述了系统的整体架构和设计思路。系统采用微信小程序作为前端展示层,为用户提供直观、友好的操作界面;后端则基于Spring Boot框架进行开发,实现了用户管理、机票查询、预订、支付等功能。

在微信小程序方面,本文介绍了如何利用微信提供的API和组件,实现用户登录、机票查询、预订流程等功能,并优化了用户体验和界面设计。

在Spring Boot后端开发方面,本文详细描述了如何使用Spring Boot框架进行快速开发,包括数据库设计、API接口设计、业务逻辑实现等。同时,本文还介绍了如何保证系统的安全性、稳定性和可扩展性。

最后,本文展示了机票预订平台的实现效果,并通过实验验证了系统的可行性和性能。实验结果表明,该机票预订平台具有操作简便、响应迅速、功能完善等特点,能够满足用户的机票预订需求。

综上所述,本文设计的基于微信小程序和Spring Boot的机票预订平台为用户提供了一个便捷、高效的机票预订服务,对于推动移动互联网在旅游领域的应用和发展具有重要意义。

关键词:机票预订平台;微信小程序;SpringBoot;系统设计与实现


Abstract

This article introduces the design and implementation of a flight reservation platform based on WeChat mini program. With the rapid development of mobile Internet, users' demand for air ticket booking is growing, so it is particularly important to develop a convenient and efficient air ticket booking platform.

This article first analyzes the background and requirements of the air ticket booking platform, and then elaborates on the overall architecture and design ideas of the system in detail. The system uses WeChat mini programs as the front-end display layer, providing users with an intuitive and user-friendly operating interface; The backend is developed based on the Spring Boot framework, which implements functions such as user management, ticket queries, booking, and payment.

In terms of WeChat mini programs, this article introduces how to use the APIs and components provided by WeChat to achieve functions such as user login, ticket query, and booking process, and optimize the user experience and interface design.

In terms of Spring Boot backend development, this article provides a detailed description of how to use the Spring Boot framework for rapid development, including database design, API interface design, and business logic implementation. Meanwhile, this article also introduces how to ensure the security, stability, and scalability of the system.

Finally, this article demonstrates the implementation effect of the air ticket booking platform and verifies the feasibility and performance of the system through experiments. The experimental results show that the flight booking platform has the characteristics of simple operation, fast response, and complete functions, which can meet the needs of users for flight booking.

To sum up, the ticket booking platform designed in this paper based on WeChat applet and Spring Boot provides users with a convenient and efficient ticket booking service, which is of great significance for promoting the application and development of mobile Internet in the tourism field.

Keywords: flight booking platform; WeChat Mini Program; SpringBoot; System Design and Implementation

目录

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.3功能需求分析

2.4用例分析

3基于微信小程序的机票预订平台总体设计

3.1系统功能模块设计

3.3数据库设计

3.3.1 数据库E-R模型

3.3.2 数据库表设计

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.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 基于微信小程序的机票预订平台测试

5.1系统测试

5.2测试结果

总结与展望

参考文献

致谢

1 绪论

1.1 课题研究背景

随着移动互联网的普及和消费者对于便捷性、实时性的需求增长,传统的机票预订方式已经无法满足现代消费者的期望。传统的机票预订通常依赖于电话、实体店面或是复杂的网页应用,这些方式不仅效率低下,而且难以提供个性化的服务。因此,开发一个基于移动端的、能够快速响应用户需求的机票预订平台变得至关重要。

微信小程序作为一种轻量级的应用程序,具有无需下载安装、即用即走的特点,非常适合为用户提供快速、便捷的服务。同时,微信小程序拥有庞大的用户基础,为机票预订平台提供了广阔的市场前景。

另一方面,Spring Boot框架作为Java领域的一种快速开发框架,具有轻量级、易上手、快速构建等特点,非常适合用于构建高效、稳定的后端服务。Spring Boot框架提供了丰富的功能和工具,能够简化开发过程,提高开发效率。

基于以上背景,本文旨在设计并实现一个基于微信小程序和Spring Boot框架的机票预订平台。通过整合微信小程序的便捷性和Spring Boot框架的高效性,为用户提供一种快速、便捷、个性化的机票预订体验。同时,该平台还可以为航空公司、机票代理商等提供一个高效的销售渠道,推动航空业和移动互联网的融合发展。

1.2 课题研究现状

近年来,随着移动互联网技术的迅猛发展和智能手机的普及,基于移动端的机票预订平台已成为航空业和旅游业的研究热点。目前,国内外已经有许多成功的机票预订平台案例,这些平台大多采用微信小程序、原生App等技术手段,结合后端服务框架如Spring Boot,为用户提供便捷、高效的机票预订服务。

在国外,一些知名的机票预订平台如Expedia、Kayak等已经实现了基于移动端的预订功能,这些平台通过整合各大航空公司的资源,提供丰富的航班信息和个性化服务,吸引了大量用户。同时,这些平台还不断引入新技术,如人工智能、大数据等,提升用户体验和预订效率。

在国内,随着微信小程序的兴起,越来越多的企业和团队开始尝试将微信小程序与机票预订结合。一些国内的机票预订平台如携程、去哪儿等也推出了基于微信小程序的预订服务,通过微信小程序的用户基础和便捷性,提高了平台的用户粘性和使用频率。

在技术方面,Spring Boot框架因其轻量级、快速开发和易于维护的特点,在构建后端服务方面得到了广泛应用。许多企业和团队选择使用Spring Boot框架来开发机票预订平台的后端服务,以提高系统的稳定性和可扩展性。

综上所述,基于微信小程序和Spring Boot框架的机票预订平台在国内外已经得到了广泛的应用和研究。随着移动互联网技术的不断发展和用户需求的不断提升,该领域的研究将会更加深入和广泛。

1.3系统开发技术的特色

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

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

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

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

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

这些技术特色使得基于微信小程序的机票预订平台具有高效、稳定、可靠、安全等优点,能够满足用户的需求和提高用户的体验。


2 基于微信小程序的机票预订平台分析

基于微信小程序的机票预订平台可在微信端实现登录注册、首页、网站公告、航班信息、航班资讯、我的(基本信息、收藏、机票预定、退票信息、机票改签)等操作,相对于传统机票预订方式,基于微信小程序的机票预订平台提高了效率和便利性。在后台可对系统用户、航班类型、城市信息、航班信息、机票预定、退票信息、机票改签、系统轮播图、公告信息、航班资讯等进行管理、有效掌握航班信息,充分了解用户的需求,更有针对性的服务用户。

2.1可行性分析

2.1.1技术可行性分析

基于微信小程序的机票预订平台存储所使用的mysql数据库以及开发中所使用的IDEA、Tomcat这些开发工具的使用,能够给我们的编写工作带来许多的便利。系统使用springboot框架进行开发,使系统的可扩展性和维护性更佳,减少java配置代码,简化编程代码,目前springboot框架也是很多企业选择的框架之一。

2.1.2经济可行性分析

在开发基于微信小程序的机票预订平台中所使用的开发软件像IDEA开发工具、Tomcat8.0服务器、MySQL5.7数据库、Photoshop图片处理软件等,这些都是开源免费的,并且基于微信小程序的机票预订平台是自己设计并编码实现的,数据库是使用流行mysql进行数据的存储,开源的mysql等技术的使用,减少系统开发费用。

2.1.3操作可行性分析

在日常生活中,随着小程序的快速推广和使用,越来越多人掌握小程序的使用方法,基于微信小程序的机票预订平台在这种条件背景下是很容易被人们所接受和熟悉的,所以在操作上没任何问题。

2.2 系统流程分析

2.2.1 数据流程

基于微信小程序的机票预订平台主要的目的之一就是实现用户线上预定机票,图2-1就是系统的数据流图。

图2-1线上预定机票操作展开图

2.2.2 业务流程

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

图2-2业务流程图

2.3功能需求分析

基于微信小程序的机票预订平台中的web后台管理端采用了IntelliJ IDEA 2019.3.4 开发工具,配合了java开发语言中springboot开发框架以及tomcat8.0服务器、jdk1.8,微信端采用了微信开发者工具稳定版1.05.2111300,页面使用wxss和wxml进行布局,微信端和web后台管理端采用json接口通信。

1.顾客用户功能:

登录注册: 提供用户登录和注册功能,确保用户可以访问系统的个性化内容。

首页: 展示网站公告、航班信息、航班资讯等内容,吸引用户关注。

网站公告: 提供网站相关的公告信息,如活动通知、系统更新等。

航班信息: 用户可以浏览航班的相关信息,包括航班号、出发地、目的地、票价等。

航班资讯: 展示航空行业的新闻和资讯内容,提供旅行指南和行程建议。

我的:

基本信息: 用户可以查看和编辑个人基本信息。

收藏: 用户可以收藏感兴趣的航班信息或资讯内容。

机票预定: 用户可以预订机票,包括选择航班、填写乘客信息等。

退票信息: 用户可以进行已预订机票的退票操作。

机票改签: 用户可以申请对已预订机票的改签操作。

2.航空公司功能:

登录注册: 提供航空公司员工登录和注册功能,确保员工可以访问系统的个性化内容。

首页: 展示网站公告、航班信息、航班资讯等内容,方便员工了解最新信息。

网站公告: 提供网站相关的公告信息,如航班调整通知、服务更新等。

航班信息: 航空公司可以发布和管理航班信息,包括航班号、起降时间、机型等。

航班资讯: 航空公司可以发布行业内的新闻和资讯内容,提供服务宣传和行业动态。

我的:

基本信息: 航空公司可以查看和编辑个人基本信息。

收藏: 航空公司可以收藏感兴趣的航班信息或资讯内容。

航班信息:航空公司可以管理所属航空公司的航班信息。

机票预定: 航空公司可以处理用户的机票预定请求,包括确认、修改和取消等操作。

退票信息: 航空公司可以处理用户的退票申请,包括审核和处理退款等操作。

机票改签:航空公司可以处理用户的机票改签请求,包括确认改签和调整航班等操作。

3.管理员功能:

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

系统用户: 管理系统用户的账号信息,包括注册用户、航空公司员工和管理员的账号管理。

航班类型管理: 管理航班的分类信息,如国内航班、国际航班等。

城市信息管理: 管理航班的起降城市信息,确保数据的准确性和完整性。

航班信息管理: 管理航班的发布、编辑和删除等操作。

机票预定管理: 管理用户的机票预定信息,包括审核、修改和取消等操作。

退票信息管理: 管理用户的退票申请和处理情况,确保退款流程的顺利进行。

机票改签管理: 管理用户的机票改签请求和处理情况,保证航班信息的及时更新。

轮播图管理: 管理网站首页轮播图信息,包括添加、编辑和删除等操作。

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

航班资讯管理: 管理航班相关的资讯内容,包括发布、编辑和删除等操作。

资讯分类: 对航班资讯进行分类管理,方便用户浏览和查找。

以上是基于微信小程序和Spring Boot的机票预订平台的功能需求分析,涵盖了顾客用户、航空公司员工和管理员三个角色的功能需求。系统设计与实现将提供用户便捷的机票预订服务和航班信息管理功能,以满足不同用户的需求。

2.4用例分析

基于微信小程序的机票预订平台的完整UML用例图分别是图2-3,图2-4河图2-5。在参与者上包括顾客用户、航空公司以及管理员。

顾客用户角色的用例包括登录注册、首页、网站公告、航班信息、航班资讯、我的(基本信息、收藏、机票预定、退票信息、机票改签)。

图2-3 基于微信小程序的机票预订平台顾客用户角色用例图

航空公司角色的用例包括登录注册、首页、网站公告、航班信息、航班资讯、我的(基本信息、收藏、航班信息、机票预定、退票信息、机票改签)。

图2-4基于微信小程序的机票预订平台航空公司角色用例图

管理员角色的用例包括后台首页、系统用户、航班类型管理、城市信息管理、航班信息管理、机票预定管理、退票信息管理、机票改签管理、系统管理(轮播图管理)、公告信息管理、资源管理(航班资讯、资讯分类)。

图2-5 基于微信小程序的机票预订平台管理员角色用例图


3基于微信小程序的机票预订平台总体设计

在上一章节中分析了基于微信小程序的机票预订平台的功能性需求,并且根据需求分析了基于微信小程序的机票预订平台中的用例。那么接下来就要开始对基于微信小程序的机票预订平台架构、主要功能和数据库开始进行设计。

3.1系统功能模块设计

通过对基于微信小程序的机票预订平台的功能需求分析以及用例分析,得出了基于微信小程序的机票预订平台的功能模块图如图3-1所示。

图3-1基于微信小程序的机票预订平台功能模块图

3.3数据库设计

3.3.1 数据库E-R模型

下面是整个基于微信小程序的机票预订平台的数据库表的E-R实体关系图,如图3-2所示:

图3-2 基于微信小程序的机票预订平台E-R实体关系图

3.3.2 数据库表设计

通过上一小节中基于微信小程序的机票预订平台中总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

用户编号:

表airlines (航空公司)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

airlines_id

int

10

0

N

Y

航空公司ID

2

company_number

varchar

64

0

N

N

公司编号

3

company_name

varchar

64

0

Y

N

公司名称

4

enterprise_qualification

varchar

255

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

更新时间

表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

更新时间:

表city_information (城市信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

city_information_id

int

10

0

N

Y

城市信息ID

2

city

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

更新时间

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

表customer_users (顾客用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

customer_users_id

int

10

0

N

Y

顾客用户ID

2

customer_name

varchar

64

0

Y

N

顾客姓名

3

customer_gender

varchar

64

0

Y

N

顾客性别

4

customers_mobile_phone

varchar

16

0

Y

N

顾客手机

5

id_number

varchar

255

0

Y

N

身份证号

6

customer_passport

varchar

255

0

Y

N

顾客护照

7

examine_state

varchar

16

0

N

N

未审核

审核状态

8

user_id

int

10

0

N

N

0

用户ID

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表flight_information (航班信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

flight_information_id

int

10

0

N

Y

航班信息ID

2

airlines

int

10

0

Y

N

0

航空公司

3

company_name

varchar

64

0

Y

N

公司名称

4

flight_number

varchar

64

0

N

N

航班编号

5

flight_type

varchar

64

0

Y

N

航班类型

6

departure_city

varchar

64

0

Y

N

出发城市

7

arriving_in_the_city

varchar

64

0

Y

N

到达城市

8

flight_prices

varchar

64

0

Y

N

航班价格

9

flight_images

varchar

255

0

Y

N

航班图片

10

ticket_type

varchar

64

0

Y

N

机票类型

11

remaining_votes

int

10

0

Y

N

0

剩余票数

12

departure_date

date

10

0

Y

N

出发日期

13

return_date

date

10

0

Y

N

返回日期

14

departure_airport

varchar

64

0

Y

N

出发机场

15

arriving_at_the_airport

varchar

64

0

Y

N

到达机场

16

takeoff_time

datetime

19

0

Y

N

起飞时间

17

arrival_time

datetime

19

0

Y

N

到达时间

18

class_type

varchar

64

0

Y

N

舱位类型

19

passenger_type

varchar

64

0

Y

N

乘客类型

20

flight_information

text

65535

0

Y

N

航班信息

21

matters_needing_attention

text

65535

0

Y

N

注意事项

22

hits

int

10

0

N

N

0

点击数

23

praise_len

int

10

0

N

N

0

点赞数

24

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

25

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表flight_type (航班类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

flight_type_id

int

10

0

N

Y

航班类型ID

2

flight_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

更新时间

表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

更新时间:

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

表refund_information (退票信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

refund_information_id

int

10

0

N

Y

退票信息ID

2

booking_number

varchar

64

0

Y

N

预定单号

3

airlines

int

10

0

Y

N

0

航空公司

4

company_name

varchar

64

0

Y

N

公司名称

5

flight_type

varchar

64

0

Y

N

航班类型

6

departure_city

varchar

64

0

Y

N

出发城市

7

arriving_in_the_city

varchar

64

0

Y

N

到达城市

8

flight_prices

varchar

64

0

Y

N

航班价格

9

ticket_type

varchar

64

0

Y

N

机票类型

10

departure_date

date

10

0

Y

N

出发日期

11

return_date

date

10

0

Y

N

返回日期

12

booking_customers

int

10

0

Y

N

0

预定顾客

13

customer_name

varchar

64

0

Y

N

顾客姓名

14

customers_mobile_phone

varchar

64

0

Y

N

顾客手机

15

pre_order_quantity

varchar

64

0

Y

N

预定数量

16

number_of_refunds

varchar

64

0

Y

N

退票数量

17

reason_for_refund

text

65535

0

Y

N

退票原因

18

examine_state

varchar

16

0

N

N

未审核

审核状态

19

examine_reply

varchar

16

0

Y

N

审核回复

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

更新时间:

表ticket_booking (机票预定)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

ticket_booking_id

int

10

0

N

Y

机票预定ID

2

booking_number

varchar

64

0

Y

N

预定单号

3

airlines

int

10

0

Y

N

0

航空公司

4

company_name

varchar

64

0

Y

N

公司名称

5

flight_number

varchar

64

0

Y

N

航班编号

6

flight_type

varchar

64

0

Y

N

航班类型

7

departure_city

varchar

64

0

Y

N

出发城市

8

arriving_in_the_city

varchar

64

0

Y

N

到达城市

9

flight_prices

varchar

64

0

Y

N

航班价格

10

ticket_type

varchar

64

0

Y

N

机票类型

11

departure_date

date

10

0

Y

N

出发日期

12

return_date

date

10

0

Y

N

返回日期

13

booking_customers

int

10

0

Y

N

0

预定顾客

14

customer_name

varchar

64

0

Y

N

顾客姓名

15

customers_mobile_phone

varchar

16

0

Y

N

顾客手机

16

pre_order_quantity

varchar

64

0

Y

N

预定数量

17

total_airfare_price

varchar

64

0

Y

N

机票总价

18

booking_remarks

text

65535

0

Y

N

预定备注

19

seat_number

varchar

64

0

Y

N

座位号码

20

pay_state

varchar

16

0

N

N

未支付

支付状态

21

pay_type

varchar

16

0

Y

N

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

22

seat

varchar

64

0

N

N

座位号

23

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

24

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表ticket_rescheduling (机票改签)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

ticket_rescheduling_id

int

10

0

N

Y

机票改签ID

2

booking_number

varchar

64

0

Y

N

预定单号

3

airlines

int

10

0

Y

N

0

航空公司

4

company_name

varchar

64

0

Y

N

公司名称

5

flight_type

varchar

64

0

Y

N

航班类型

6

departure_city

varchar

64

0

Y

N

出发城市

7

arriving_in_the_city

varchar

64

0

Y

N

到达城市

8

flight_prices

varchar

64

0

Y

N

航班价格

9

ticket_type

varchar

64

0

Y

N

机票类型

10

departure_date

date

10

0

Y

N

出发日期

11

return_date

date

10

0

Y

N

返回日期

12

booking_customers

int

10

0

Y

N

0

预定顾客

13

customer_name

varchar

64

0

Y

N

顾客姓名

14

customers_mobile_phone

varchar

64

0

Y

N

顾客手机

15

change_date

date

10

0

Y

N

改签日期

16

change_of_signature_instructions

text

65535

0

Y

N

改签说明

17

examine_state

varchar

16

0

N

N

未审核

审核状态

18

examine_reply

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

更新时间

表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 基于微信小程序的机票预订平台实现

基于微信小程序的机票预订平台划分了微信小程序顾客用户端和航空公司、web后台管理员端,微信端实现登录注册、首页、网站公告、航班信息、航班资讯、我的(基本信息、收藏、机票预定、退票信息、机票改签)等功能,web端是为后台管理员提供后台首页、系统用户、航班类型管理、城市信息管理、航班信息管理、机票预定管理、退票信息管理、机票改签管理、系统管理(轮播图管理)、公告信息管理、资源管理(航班资讯、资讯分类)的平台。

4.1 前台微信端

4.1.1 用户注册界面

不是基于微信小程序的机票预订平台的用户可以通过微信小程序在线进行注册,填写上自己的账号、密码、重复密码、昵称、邮箱登信息后点击“提交”按钮后将会验证是否有非空数据,再验证密码和重复密码是否一样,最后验证是否账号重复,都验证没问题后即可注册成功。注册实现了用户注册和发布者注册两部分,其用户注册界面展示如下图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.2 后台航空公司用户端

4.2.1 航班信息界面

航空公司点击我的“航班信息”这一菜单, 可以发布和管理航班信息,包括出发城市、到达城市、价格等。界面如下图4-9所示。

图4-9航班信息发布界面图

4.2.2 退票信息界面

航空公司点击我的“退票信息”这一菜单,可以处理用户的退票申请,包括审核和处理退款等操作。界面如下图4-10所示。

图4-10退票信息审核界面图

4.2.3 机票改签界面

航空公司点击我的“机票改签”菜单后,可以处理用户的机票改签请求,包括确认改签和调整航班等操作。界面如下图4-11所示。

图4-11机票改签提交界面图

4.3后台管理员端

4.3.1 系统用户界面

管理员点击“系统用户”这一菜单会显示管理员、顾客用户、航空公司用户这三个子菜单,管理员可以对这三个角色的信息进行增删改查操作。界面如下图4-12所示。

图4-12用户管理界面图

4.3.2航班信息管理界面

管理员点击后台左边的“航班信息管理”菜单后将可以管理航班的发布、编辑和删除等操作。航班信息管理界面如下图4-13所示。

图4-13航班信息列表界面图

4.3.3系统管理界面

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

图4-14系统管理界面图

4.3.4网站公告管理界面

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

图4-15网站公告界面图

4.3.5资源管理界面

管理员点击“资源管理”这一菜单会显示航班资讯、资讯分类这两个子菜单,管理员可以对这两部分涉及到的功能进行更新维护,更好的服务于前台用户。界面如下图所示。

图4-16资源管理界面图


5 基于微信小程序的机票预订平台测试

基于微信小程序的机票预订平台测试是为了检验软件是否达到设计要求,是否存在错误,通过测试的方法来检查基于微信小程序的机票预订平台,以便发现基于微信小程序的机票预订平台中的错误。测试工作是保证基于微信小程序的机票预订平台质量的关键。

5.1系统测试

微信端上用户机票预定功能测试:

表5-1微信端上用户机票预定功能测试用例表

测试名称

测试功能

操作

操作过程

预期结果

测试结果

机票预定功能模块测试

航班信息详情信息正常的显示

浏览航班信息详情信息

在小程序端上选择一个航班信息将会进入该航班信息的详情界面,同时可以申请、评论、收藏。

进入该航班信息的详情信息界面

正确

机票预定功能模块测试

航班信息详情信息正常的显示

浏览航班信息详情信息

点击“机票预定”填写预定信息,点击“提交”按钮。

生成自己的机票预定信息。

正确

微信端上评论功能测试:

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

测试名称

测试功能

操作

操作过程

预期结果

测试结果

评论功能模块测试

航班资讯正常的显示

浏览航班资讯详情信息

点击“航班资讯”进入航班资讯详情页面,点击“评论”输入自己的评论内容。

评论成功

正确

web后台端上航空公司发布航班信息功能测试:

表5-3web后台端上航空公司发布航班信息功能测试用例表

测试名称

测试功能

操作

操作过程

预期结果

测试结果

航空公司发布航班信息功能测试

添加航班信息的情况

输入新航班信息的基本信息

后台选择“航班信息管理”菜单后,填写新航班信息基本信息后点击“提交”按钮

新航班信息发布成功

正确

5.2测试结果

通过编写了基于微信小程序的机票预订平台的测试用例,已经检测完毕了5.1章节中的3大模块,它为基于微信小程序的机票预订平台系统的后期推广运营提供了强力的技术支撑。

总结与展望

本次基于微信小程序的机票预订平台的设计与实现,功能方面,通过功能模块图区分该程序的用户端与管理端各自的功能权限;数据库方面,数据库使用口碑较好的mysql进行数据的存储,开源的mysql等技术的使用,相对来说体积较小,服务稳定,减少系统开发成本费用,通过数据库表的E-R实体关系图建立了表单与表单之间的连接,区分不同的表单之间的关系,更好的完善数据库的内容;测试方面,通过测试用例检查基于微信小程序的机票预订平台的设计缺陷和程序存在的错误,在系统测试阶段的过程中,出现了一些问题,例如,注册信息,没有规范用户在注册页面填写信息时输入两次密码,而导致后期登录错误,最后通过多次修改程序和测试解决了问题。最终经过不断的检测、修改,实现项目的稳定,达到了预期的设计效果。

系统整体的功能到达预期的效果,但页面的美化方面还是存在一些不足,例如:小程序中的图标过于简洁;wxss页面的渲染布局方面不够完善,人们在使用软件过程中,对某些功能不易找寻,针对此次项目产生的问题,日后将不断改进,使该项目更加完善。


参考文献

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

[2]杨吉欢,李娟,陈洋鑫,等.“红色旅游”微信小程序的设计与实现[J].办公自动化,2024,29(04):78-80+35.

[3]孙梦菲,周天源,王天澍.基于微信小程序的校园社团管理系统设计与实现[J].现代信息科技,2024,8(03):40-44.DOI:10.19850/j.cnki.2096-4706.2024.03.009.

[4]贾文琦,滕建,贾萨尔·阿依肯.基于微信小程序的课程表系统[J].电脑编程技巧与维护,2024,(01):61-64+88.DOI:10.16184/j.cnki.comprg.2024.01.028.

[5]Xiao J ,Zhou H ,Lei Q , et al.Attention-Mechanism-Based Face Feature Extraction Model for WeChat Applet on Mobile Devices[J].Electronics,2024,13(1):

[6]张扬,钟方,余捷.微信小程序在高校图书馆志愿者管理中的应用[J].石家庄职业技术学院学报,2023,35(06):38-41.

[7]龙芳,吴勇灵.微信小程序购物系统的设计与实现[J].现代信息科技,2023,7(23):25-30.DOI:10.19850/j.cnki.2096-4706.2023.23.006.

[8]黄凯,罗陈.一种基于微服务的统一票务管理系统[J].信息记录材料,2023,24(09):96-99.DOI:10.16009/j.cnki.cn13-1295/tq.2023.09.034.

[9]Yong R ,Feng P .Design and Realization of University Personnel Office Service Platform Based on WeChat Applet[J].Advances in Computer, Signals and Systems,2023,7(6):

[10]陈莹,付保明,张宁,等.城市轨道交通票务管理系统设计与实现[J].铁路通信信号工程技术,2023,20(05):71-75.

[11]陈云,王硕,廖洪运.轨道交通综合票务管理平台系统设计方案[J].自动化与仪表,2023,38(05):105-109.DOI:10.19557/j.cnki.1001-9944.2023.05.023.

[12]Jia C ,Yongjie W ,Xuehu Y , et al.Visual secret sharing scheme with (n,n) threshold based on WeChat Mini Program codes[J].Journal of Visual Communication and Image Representation,2022,(prepublish):103409-.

[13]张晓新.基于Dubbo的在线票务系统设计与实现[D].华中科技大学,2022.DOI:10.27157/d.cnki.ghzku.2022.004229.

[14]刘明.微信版客运联网售票系统设计与实现[D].西安电子科技大学,2021.DOI:10.27389/d.cnki.gxadu.2021.003004.

[15]闫威.轨道交通综合票务管理平台系统的研发[C]//天津市电子学会,天津市仪器仪表学会.第三十五届中国(天津)2021’IT、网络、信息技术、电子、仪器仪表创新学术会议论文集.中国机房设施工程有限公司;,2021:3.DOI:10.26914/c.cnkihy.2021.013708.

[16]张营.票务管理系统在地铁运营管理中的研究与分析[C]//天津市电子学会,天津市仪器仪表学会.第三十五届中国(天津)2021’IT、网络、信息技术、电子、仪器仪表创新学术会议论文集.中国机房设施工程有限公司;,2021:3.DOI:10.26914/c.cnkihy.2021.013749.

[17]符毓晟.烟台航运票务管理系统设计初探[J].电脑知识与技术,2020,16(32):237-239.DOI:10.14004/j.cnki.ckt.2020.3551.

[18]邵相弟,祝倩,周丽娟.基于Android和VR技术的酒店预订系统平台的设计[J].科技创新导报,2020,17(15):149-150.DOI:10.16660/j.cnki.1674-098X.2020.15.149.

[19]李娟.基于VueJS的景区管理系统设计与开发[D].浙江工业大学,2020.DOI:10.27463/d.cnki.gzgyu.2020.000033.

[20]徐晓红,李莉,李昱洁,等.青岛地铁票务管理系统设计与实现[J].隧道与轨道交通,2019,(S2):181-184.DOI:10.13547/j.cnki.dxgcysd.2019.s2.040.

致谢

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

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值