技术栈
- 前端:vue,组件使用了element-ui
- 后端:springboot,mybatis操作数据库
系统介绍(旅游区导游系统)
功能有展示
模块一:旅游景点图
- 展示邻接矩阵和邻接表
- 邻接矩阵里面的✔图标点击可以展示两个景点的游乐设施
- 展示我自己画的景点图(很丑,你也可以自己画)
模块二:景点相邻点
展示选中的景点附近的景点信息
模块三:最短的路径
- 全景:展示从**入口进来到入口(进出口一致)**出去且游玩全部景区的最短距离(里面使用了,floyd算法+状态压缩dp)
- 这个功能的亮点是求出完整的路线的函数(我自己写的,没有参考代码的情况下,可能健壮性有待考究)
- 几点:这个功能是选择你想要参观的景点然后再选择你要从哪个景点开始,然后展示游玩结束你选中的点的最短路径
- 亮点:这也是使用了状态压缩dp+floyd,这是建立在我对状态压缩dp+floyd而写出来的,因为我百度不要要怎么求这种问题
- 两点:这个功能是选择两个景点,然后就会展示两点之间的最短距离还有具体的走法
- 这里面使用了floyd算法,求完整路径是我自己写的递归算法求出来的
- 一点:我使用了dijkstra算法,展示以该点为起点到别的点的最短距离和具体走法
- 路径的求法使用了栈就解决了
模块四:管理员模块
一下的增删改都是对景点里面的游乐设施的操作的,比较简单,我就不细讲了
- 增
- 亮点:我要求所有景点的所有游乐设施名字不同,所以我在下面展示了所有游乐设施名,提醒管理员不要重名
- 删
- 亮点:无
- 改
- 亮点:无
模块五:权限管理
- 普通用户
- 管理员
比较简单,我就不一 一赘述了
- 登录
- 注册
- 修改密码
- 退出系统
好了,到这里,我这个旅游区导游系统的简要展示就结束了
- 缺点:首先,我这个项目的权限管理没有使用到springSecurity,所以权限管理就是通过判断保存在本地的session来判断的。
- 然后我里面的数据都不是写死的,还可以添加一个增删改查景点的功能
最后我来简单介绍一下后端代码
- 后端使用到了mybatis来操作数据库,里面涉及简单的联表查询语句
- 我严格地使用了三层架构的思路来完成这些功能是书写
- utils包里面我写了操作图的算法
- json包是为了封装我要放回给前端数据的一些类
的联表查询语句 - 我严格地使用了三层架构的思路来完成这些功能是书写
- utils包里面我写了操作图的算法
- json包是为了封装我要放回给前端数据的一些类
- config包里面我就写了一个解决跨域问题的类
最后我说一下我创建的数据库
数据库搞得好菜,还请包含
一个点(spot)对应的表:
id | name | connectionId | facilityId |
下面这个表是辅助保存spot附近点的
id | connectionId | value | distance |
用户:[OK]
id | username | password | status |
某点的游乐设施:
id | facilityId | name | price |
status:
0:普通用户(可以注册)
1 :管理员(不可以进行注册)
========================================================