基于微信小程序的旅游系统
需要完整论文以及配套系统可在个人简介处添加微信联系本人,可远程搭建环境部署。
摘要
南昌周边游小程序是一款专为热爱探索本地及周边美景的旅行者设计的一站式旅游服务平台。该程序集成了丰富的旅游资源,涵盖了景点信息、店铺信息、旅游攻略、美食分类、美食信息、酒店分类、景区酒店、景点预约等多维度信息,旨在为用户提供便捷、个性化的旅行规划体验。通过该小程序,用户可以轻松查询南昌周边的景点信息、美食信息等,获取详细的景点介绍、开放时间、门票价格及交通指南。同时,智能推荐系统根据用户的兴趣和偏好,量身定制周边游线路,让每一次出行都充满惊喜。
小程序还提供了丰富的旅游攻略、用户评价及实时天气信息,帮助用户更好地准备行程。美食板块则汇聚了当地特色小吃与餐厅推荐,让味蕾也能享受一场旅行。无论是自驾游还是短途休闲,南昌周边游小程序都是您探索江西魅力的理想伙伴,让您的旅途更加丰富多彩,轻松实现说走就走的旅行梦想。
关键词:南昌周边游小程序;MySQL 数据库;Spring Boot框架
目录
1.1研究背景 1
1.2研究目的和意义 1
1.3国内外研究现状 1
1.4本文的主要内容 2
2.2 MYSQL 数据库 3
2.3 小程序目录结构以及框架介绍 4
2.5 vue介绍 4
2.6 uni-app简介 4
3.1系统的总体需求分析 5
3.2系统的性能分析 5
3.3系统的可行性分析 6
3.3.1经济可行性 6
3.3.2技术可行性 6
3.3.3管理可行性 6
3.4系统的功能分析 7
3.5系统的数据流图分析 7
3.5.1登录流程图 7
3.5.2修改密码流程图 8
3.5.3添加流程图 9
3.5.4删除流程图 10
4.1系统结构设计 13
4.2系统开发流程设计 13
4.3系统功能模块设计 14
4.4系统数据库设计 14
4.4.1数据库实体设计 14
4.4.2数据库表 16
6.1.1系统测试的目的 26
6.1.2系统测试的原则 26
6.2系统测试用例 27
第 4 章 系统设计
4.1 系统结构设计
本系统的系统技术框架可以分为前端技术、后端技术和数据库技术三个部分。前端是指建立在浏览器端的用户界面,是指与用户直接交互的部分。后端是指
建立在服务器端用于处理前端发送的请求并返回数据。数据库技术主要是用于存储系统前端和后端的数据。
以上是本次论文的框架,但是要注意一个好的系统设计需要考虑不仅仅是技术方面,还要考虑业务需求、用户体验、系统性能、可维护性等因素,需要综合考虑后做出决策。
4.2 系统开发流程设计
南昌周边游小程序就是一个电脑程序,需要考虑很多东西才能设计和实现: 首先要确定系统的需求和功能,比如农产品信息等。接着,要设计整个系统的大体结构和各个部分,看看数据和控制流如何在不同部分之间流动。然后就是动手编码了,根据详细设计写程序,实现系统各个部分。最后要测试系统,确保各部分都能正常运行,并且符合需求。然后把系统部署到实际运行环境里。
在该系统的开发中,需要注意以下几点:首先需要先进行科学调研,确保本系统开发出来的功能符合当前实际需求。其次要注意系统可靠性,保护用户信息, 避免遭到攻击。最后根据自身情况选择合适的语言和开发工具。
4.3 系统功能模块设计

图 4.1 系统结构功能模块图
4.4 系统数据库设计
本系统采用的是 MYSQL 数据库,首先创建需要的数据表,并且加入了相应的数据资料、字段以及各个数据之间的关系。下面中各个实体关系的E-R图:
用户信息E-R如图4.2所示:

图4.2 用户信息E-R图
商家信息E-R如图4.3所示:
图4.3 商家信息E-R图
景点信息E-R如图4.4所示:

图4.4 景点信息E-R图
店铺信息E-R如图4.5所示:

图4.5 店铺信息E-R图
系统实体总联系图4.6所示:

图 4.6 系统实体总联系图
该系统采用的是 MySQL 数据库,数据表如下所示:
表4.1:用户
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| useraccount | varchar | 200 | 用户账号 | ||
| password | varchar | 200 | 密码 | ||
| username | varchar | 200 | 用户姓名 | ||
| gender | varchar | 200 | 性别 | ||
| headportrait | longtext | 4294967295 | 头像 | ||
| mobile | varchar | 200 | 手机号 | ||
| openid | varchar | 200 | 微信openid | ||
| nickname | varchar | 200 | 微信昵称 | ||
| avatarurl | varchar | 200 | 微信头像 |
表4.2:travelguide评论表
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| refid | bigint | 关联表id | |||
| userid | bigint | 用户id | |||
| avatarurl | longtext | 4294967295 | 头像 | ||
| nickname | varchar | 200 | 用户名 | ||
| content | longtext | 4294967295 | 评论内容 | ||
| reply | longtext | 4294967295 | 回复内容 | ||
| thumbsupnum | int | 赞 | 0 | ||
| crazilynum | int | 踩 | 0 | ||
| istop | int | 置顶(1:置顶,0:非置顶) | 0 | ||
| tuserids | longtext | 4294967295 | 赞用户ids | ||
| cuserids | longtext | 4294967295 | 踩用户ids |
表4.3:旅游攻略
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| guidetitle | varchar | 200 | 攻略标题 | ||
| cover | longtext | 4294967295 | 封面 | ||
| departurelocation | varchar | 200 | 出发地 | ||
| destination | varchar | 200 | 目的地 | ||
| traveldays | varchar | 200 | 行程天数 | ||
| traveldistance | varchar | 200 | 行程距离 | ||
| transportation | varchar | 200 | 交通工具 | ||
| itineraryroute | longtext | 4294967295 | 行程路线 | ||
| guidedetails | longtext | 4294967295 | 攻略详情 | ||
| releasetime | date | 发布时间 | |||
| discussnum | int | 评论数 | 0 | ||
| storeupnum | int | 收藏数 | 0 |
表4.4:storeinformation评论表
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| refid | bigint | 关联表id | |||
| userid | bigint | 用户id | |||
| avatarurl | longtext | 4294967295 | 头像 | ||
| nickname | varchar | 200 | 用户名 | ||
| content | longtext | 4294967295 | 评论内容 | ||
| reply | longtext | 4294967295 | 回复内容 | ||
| thumbsupnum | int | 赞 | 0 | ||
| crazilynum | int | 踩 | 0 | ||
| istop | int | 置顶(1:置顶,0:非置顶) | 0 | ||
| tuserids | longtext | 4294967295 | 赞用户ids | ||
| cuserids | longtext | 4294967295 | 踩用户ids |
表4.5:token表
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| userid | bigint | 用户id | |||
| username | varchar | 100 | 用户名 | ||
| tablename | varchar | 100 | 表名 | ||
| role | varchar | 100 | 角色 | ||
| token | varchar | 200 | 密码 | ||
| addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP | ||
| expiratedtime | timestamp | 过期时间 | CURRENT_TIMESTAMP |
表4.6:scenicspotinformation评论表
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| refid | bigint | 关联表id | |||
| userid | bigint | 用户id | |||
| avatarurl | longtext | 4294967295 | 头像 | ||
| nickname | varchar | 200 | 用户名 | ||
| content | longtext | 4294967295 | 评论内容 | ||
| reply | longtext | 4294967295 | 回复内容 | ||
| thumbsupnum | int | 赞 | 0 | ||
| crazilynum | int | 踩 | 0 | ||
| istop | int | 置顶(1:置顶,0:非置顶) | 0 | ||
| tuserids | longtext | 4294967295 | 赞用户ids | ||
| cuserids | longtext | 4294967295 | 踩用户ids |
表4.7:收藏表
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| userid | bigint | 用户id | |||
| refid | bigint | 商品id | |||
| tablename | varchar | 200 | 表名 | ||
| name | varchar | 200 | 名称 | ||
| picture | longtext | 4294967295 | 图片 | ||
| type | varchar | 200 | 类型 | 1 | |
| inteltype | varchar | 200 | 推荐类型 | ||
| remark | varchar | 200 | 备注 |
表4.8:scenicspothotels评论表
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| refid | bigint | 关联表id | |||
| userid | bigint | 用户id | |||
| avatarurl | longtext | 4294967295 | 头像 | ||
| nickname | varchar | 200 | 用户名 | ||
| content | longtext | 4294967295 | 评论内容 | ||
| reply | longtext | 4294967295 | 回复内容 | ||
| thumbsupnum | int | 赞 | 0 | ||
| crazilynum | int | 踩 | 0 | ||
| istop | int | 置顶(1:置顶,0:非置顶) | 0 | ||
| tuserids | longtext | 4294967295 | 赞用户ids | ||
| cuserids | longtext | 4294967295 | 踩用户ids |
表4.9:店铺信息
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| storename | varchar | 200 | 店铺名称 | ||
| storeimage | longtext | 4294967295 | 店铺图片 | ||
| businesshours | varchar | 200 | 营业时间 | ||
| storeaddress | varchar | 200 | 店铺地址 | ||
| signaturecuisine | varchar | 200 | 招牌美食 | ||
| percapitaconsumption | varchar | 200 | 人均消费 | ||
| merchantaccount | varchar | 200 | 商家账号 | ||
| merchantname | varchar | 200 | 商家名称 | ||
| contactphone | varchar | 200 | 联系电话 | ||
| storedetails | longtext | 4294967295 | 店铺详情 | ||
| clicktime | datetime | 最近点击时间 | |||
| clicknum | int | 点击次数 | 0 | ||
| discussnum | int | 评论数 | 0 | ||
| storeupnum | int | 收藏数 | 0 |
表4.10:景区酒店
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| hotelname | varchar | 200 | 酒店名称 | ||
| hotelclassification | varchar | 200 | 酒店分类 | ||
| hotelimage | longtext | 4294967295 | 酒店图片 | ||
| hoteladdress | varchar | 200 | 酒店地址 | ||
| hotelphone | varchar | 200 | 酒店电话 | ||
| roomtype | varchar | 200 | 房间类型 | ||
| roomprice | double | 房间价格 | |||
| roomstatus | varchar | 200 | 房间状态 | ||
| hotelintroduction | longtext | 4294967295 | 酒店介绍 | ||
| clicktime | datetime | 最近点击时间 | |||
| clicknum | int | 点击次数 | 0 | ||
| discussnum | int | 评论数 | 0 | ||
| storeupnum | int | 收藏数 | 0 |
表4.11:foodinformation评论表
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| refid | bigint | 关联表id | |||
| userid | bigint | 用户id | |||
| avatarurl | longtext | 4294967295 | 头像 | ||
| nickname | varchar | 200 | 用户名 | ||
| content | longtext | 4294967295 | 评论内容 | ||
| reply | longtext | 4294967295 | 回复内容 | ||
| thumbsupnum | int | 赞 | 0 | ||
| crazilynum | int | 踩 | 0 | ||
| istop | int | 置顶(1:置顶,0:非置顶) | 0 | ||
| tuserids | longtext | 4294967295 | 赞用户ids | ||
| cuserids | longtext | 4294967295 | 踩用户ids |
表4.12:短信验证码
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| mobile | varchar | 200 | 手机 | ||
| role | varchar | 200 | 角色 | ||
| code | varchar | 200 | 验证码 |
表4.13:景点分类
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| scenicspotclassification | varchar | 200 | 景点分类 |
表4.14:配置文件
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| name | varchar | 100 | 配置参数名称 | ||
| value | varchar | 100 | 配置参数值 | ||
| url | varchar | 500 | url |
表4.15:个人订单
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| ordernumber | varchar | 200 | 订单编号 | ||
| hotelname | varchar | 200 | 酒店名称 | ||
| hotelclassification | varchar | 200 | 酒店分类 | ||
| hotelimage | longtext | 4294967295 | 酒店图片 | ||
| hoteladdress | varchar | 200 | 酒店地址 | ||
| roomtype | varchar | 200 | 房间类型 | ||
| roomprice | double | 房间价格 | |||
| reservationdays | int | 预约天数 | |||
| totalcost | double | 总费用 | |||
| reservationtime | date | 预约时间 | |||
| useraccount | varchar | 200 | 用户账号 | ||
| username | varchar | 200 | 用户姓名 | ||
| contactphone | varchar | 200 | 联系电话 | ||
| reservationremarks | longtext | 4294967295 | 预约备注 | ||
| ispay | varchar | 200 | 是否支付 | 未支付 |
表4.16:景点预约
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| scenicspotname | varchar | 200 | 景点名称 | ||
| scenicspotclassification | varchar | 200 | 景点分类 | ||
| scenicspotimage | longtext | 4294967295 | 景点图片 | ||
| scenicspotaddress | varchar | 200 | 景点地址 | ||
| reservationtime | date | 预约时间 | |||
| reservationremarks | longtext | 4294967295 | 预约备注 | ||
| useraccount | varchar | 200 | 用户账号 | ||
| username | varchar | 200 | 用户姓名 | ||
| contactphone | varchar | 200 | 联系电话 | ||
| crossuserid | bigint | 跨表用户id | |||
| crossrefid | bigint | 跨表主键id |
表4.17:AI客服
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| userid | bigint | 用户id | |||
| adminid | bigint | 管理员id | |||
| ask | longtext | 4294967295 | 提问 | ||
| reply | longtext | 4294967295 | 回复 | ||
| isreply | int | 是否回复 | |||
| isread | int | 已读/未读(1:已读,0:未读) | 0 | ||
| uname | varchar | 200 | 用户头像 | ||
| uimage | longtext | 4294967295 | 用户名 | ||
| type | int | 内容类型(1:文本,2:图片,3:视频,4:文件,5:表情) | 1 |
表4.18:商家
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| merchantaccount | varchar | 200 | 商家账号 | ||
| password | varchar | 200 | 密码 | ||
| merchantname | varchar | 200 | 商家名称 | ||
| gender | varchar | 200 | 性别 | ||
| headportrait | longtext | 4294967295 | 头像 | ||
| contactphone | varchar | 200 | 联系电话 | ||
| openid | varchar | 200 | 微信openid | ||
| nickname | varchar | 200 | 微信昵称 | ||
| avatarurl | varchar | 200 | 微信头像 |
表4.19:景点信息
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| scenicspotname | varchar | 200 | 景点名称 | ||
| scenicspotclassification | varchar | 200 | 景点分类 | ||
| scenicspotimage | longtext | 4294967295 | 景点图片 | ||
| scenicspotaddress | varchar | 200 | 景点地址 | ||
| scenicspotlevel | varchar | 200 | 景点等级 | ||
| ticketprice | double | 门票价格 | |||
| scenicspotphone | varchar | 200 | 景点电话 | ||
| scenicspotdetails | longtext | 4294967295 | 景点详情 | ||
| businesshours | varchar | 200 | 营业时间 | ||
| releasetime | date | 发布时间 | |||
| clicktime | datetime | 最近点击时间 | |||
| clicknum | int | 点击次数 | 0 | ||
| discussnum | int | 评论数 | 0 | ||
| storeupnum | int | 收藏数 | 0 |
表4.20:酒店分类
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| hotelclassification | varchar | 200 | 酒店分类 |
表4.21:美食信息
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| storename | varchar | 200 | 店铺名称 | ||
| foodname | varchar | 200 | 美食名称 | ||
| foodclassification | varchar | 200 | 美食分类 | ||
| foodimage | longtext | 4294967295 | 美食图片 | ||
| foodprice | double | 美食价格 | |||
| foodflavors | varchar | 200 | 美食口味 | ||
| fooddetails | longtext | 4294967295 | 美食详情 | ||
| merchantaccount | varchar | 200 | 商家账号 | ||
| merchantname | varchar | 200 | 商家名称 | ||
| clicktime | datetime | 最近点击时间 | |||
| clicknum | int | 点击次数 | 0 | ||
| discussnum | int | 评论数 | 0 | ||
| storeupnum | int | 收藏数 | 0 |
表4.22:管理员表
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| username | varchar | 100 | 用户名 | ||
| password | varchar | 100 | 密码 | ||
| image | varchar | 200 | 头像 | ||
| role | varchar | 100 | 角色 | 管理员 | |
| addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4.23:美食分类
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| foodclassification | varchar | 200 | 美食分类 |
第 5 章 系统功能实现
5.1用户微信端功能的实现
该模块主要用于添加用户,用户首次使用南昌周边游小程序时需要先进行注册。用户可以通过填写相关信息完成在南昌周边游小程序中的注册。具体的用户注册界面如图5.1所示;

图5.1用户注册界面图
该模块可以阻止非注册用户进入并使用系统。用户可以通过输入正确的账号和密码、角色来登录微信端,以便于访问南昌周边游小程序提供的各项服务和功能。详细的用户登录界面如图5.2所示;

图5.2用户登录界图
当用户通过注册、登录成功进入微信端后,首先看到的就是首页界面,在这里,用户能够看到南昌周边游小程序的低端导航条显示首页、景点信息、美食信息、地图、我的等。微信端首页界面如图5.3所示:

图5.3 微信端首页界面
用户登录成功后,可以查看景点信息,用户可以在登录后的页面查询框中,输入景点名称进行查询,来查看相应的景点地址、景点等级、门票价格、景点电话,也可以点击收藏或评论按钮等操作,如图5.4所示:

图5.4景点名称界面图
在用户成功登录南昌周边游小程序后,通过我的页面,用户可以方便地修改自己的密码,用户也可以点击页面显示的景点预约、我的收藏、酒店预约、AI客服、修改密码等进行操作。我的界面如图5.5所示:

图5.5我的界面图
5.2 管理员服务端功能的实现
首先在登录页面有用户名和密码,正确输入用户名和密码及选择对应的角色后,点击登录按钮。如图 5.6所示。

图 5.6管理员登录界面
管理员进入系统主页面后,主要功能包括用户管理、商家管理、店铺分类管理、店铺信息管理、景点分类管理、景点信息管理、路线分类管理、旅游线路管理、旅游攻略管理、美食分类管理、美食信息管理等进行操作,管理员主页面如图 5.7所示:

图 5.7 管理员功能界面
管理员点击用户,在用户页面输入相关的用户账号,可以查询,添加、修改或删除用户信息,并根据需要对用户详细信息进行相对应的操作。如图 5.8 所示:

图 5.8 用户管理界面
管理员点击商家管理,在商家管理页面输入相关的商家账号,可以查询,添加、修改或删除商家,并根据需要对商家详细信息进行相对应的操作。如图 5.9 所示:

图 5.9 商家管理界面
管理员点击店铺信息管理,在店铺信息管理页面输入相关的店铺名称、店铺图片、营业时间、店铺地址、招牌美食,可以查询,修改、查看评论或删除店铺信息,并根据需要对店铺信息详细信息进行相对应的操作。如图 5.10 所示:

图 5.10 店铺信息管理界面
管理员点击景点信息管理,在景点信息管理页面输入相关的景点名称 、景点分类、景点图片、景点地址、景点等级、门票价格、景点电话、营业时间、发布时间,可以查询,添加、修改或删除景点信息,并根据需要对景点信息详细信息进行相对应的操作。如图 5.11所示:

图 5.11景点信息管理界面
管理员点击旅游线路管理,在旅游线路管理页面输入相关的路线名称、路线分类、路线图片、出发地,可以查询,添加、修改或删除旅游线路,并根据需要对旅游线路详细信息进行相对应的操作。如图 5.12 所示:

图 5.12 旅游线路管理界面
5.3 商家服务端功能的实现
首先在登录页面正确输入账号和密码及选择角色对详细信息后,点击登录按钮。如图 5.13所示。

图 5.13商家注册登录界面
商家进入系统主页面后,主要功能包括系统首页、个人中心、店铺信息管理、美食信息管理等进行操作,商家主页面如图 5.14所示:

图 5.14商家功能界面
更多推荐
所有评论(0)