系统概述
随着智慧旅游的兴起,传统旅游信息服务模式面临信息分散、更新滞后等挑战。针对桂林丰富的旅游资源,我们设计了一套集景点展示、路线规划、用户评价于一体的导游平台。该系统旨在通过技术手段整合资源,为游客提供一站式服务,提升体验的便捷性与个性化。
技术架构
系统采用前后端分离架构。后端基于 SpringBoot 2.7.x 搭建,结合 MyBatis-Plus 实现高效的数据操作,数据库选用 MySQL 8.0 以支持高并发访问。前端使用 Vue 3 框架开发,利用其响应式特性优化交互体验。接口遵循 RESTful 规范,确保前后端高效协作。安全方面,引入 JWT 令牌认证机制,保障用户数据安全。
核心模块设计
业务功能
系统主要涵盖以下核心模块:
- 景点管理:负责景点信息的录入、更新及状态维护。
- 评论互动:支持用户对景点进行评分和留言,增强社区氛围。
- 路线推荐:根据用户需求生成个性化行程方案。
- 订单管理:处理门票预订及相关交易流程。
权限控制
基于 RBAC 模型设计权限管理系统,敏感数据加密存储,并记录关键操作日志以便审计。防止 CSRF 攻击的 Token 验证也是安全体系中的重要一环。
数据库设计
景点信息表
用于存储桂林旅游景点的详细信息,包括名称、描述、地理位置等属性。创建时间由函数自动获取,景点 ID 作为主键唯一标识每条记录。
| 字段名 | 数据类型 | 描述 |
|---|---|---|
| scenic_id | BIGINT | 景点 ID,主键 |
| scenic_name | VARCHAR(50) | 景点名称 |
| scenic_desc | TEXT | 景点详细描述 |
| location | VARCHAR(100) | 地理位置坐标 |
| open_time | VARCHAR(20) | 开放时间 |
| ticket_price | DECIMAL(10,2) | 门票价格 |
| create_time | DATETIME | 创建时间 |
| update_time | DATETIME | 更新时间 |
用户评论表
存储游客对景点的评价内容,包括评分、评论内容等。评论 ID 为主键,用户 ID 和景点 ID 作为外键关联。
| 字段名 | 数据类型 | 描述 |
|---|---|---|
| comment_id | BIGINT | 评论 ID,主键 |
| user_id | BIGINT | 用户 ID,外键 |
| scenic_id | BIGINT | 景点 ID,外键 |
| comment_content | TEXT | 评论内容 |
| rating | TINYINT | 评分(1-5 星) |


