# 游客模式专项课程修复 - 2026-02-01 ## 问题描述 游客模式下访问"专项突破"页面时,接口返回401错误,页面显示"不支持"。 ## 根本原因 1. **后端配置不完整**: - `WebMvcConfig.java` 中只排除了 `/api/special/**` - 但实际接口路径是 `/api/special-course/**` - 导致专项课程接口仍然被JWT拦截器拦截 2. **前端白名单不完整**: - `request.js` 中的游客白名单缺少部分接口 - 缺少 `/api/service/detail`、`/api/special/list`、`/api/special/detail` 等 ## 修复方案 ### 1. 后端配置修复 ✅ **文件**: `peidu/backend/src/main/java/com/peidu/config/WebMvcConfig.java` 添加专项课程接口到JWT拦截器排除列表: ```java "/api/special/**", "/api/special-course/**", // ✅ 新增 ``` ### 2. 前端白名单完善 ✅ **文件**: `peidu/uniapp/src/utils/request.js` 完善游客白名单,添加所有公开接口: ```javascript const GUEST_ALLOWED_URLS = [ '/api/service/list', '/api/service/search', '/api/service/detail', // ✅ 新增 '/api/special/list', // ✅ 新增 '/api/special/detail', // ✅ 新增 '/api/special-course/list', '/api/special-course/detail', '/api/interest-course/list', '/api/interest-course/detail', '/api/assessment/list', '/api/assessment/detail', '/api/growth-planning/list', // ✅ 新增 '/api/growth-planning/detail', // ✅ 新增 '/api/teacher/list', '/api/teacher/detail', // ✅ 新增 '/api/teacher/filter-options', '/api/course/list', '/api/course/detail', // ... 其他接口 ] ``` ## 重启步骤 ### 1. 停止后端服务 ```bash # 查找占用8089端口的进程 netstat -ano | findstr :8089 # 停止进程(替换PID为实际进程ID) taskkill /F /PID ``` ### 2. 重新启动后端服务 在IDEA中点击运行按钮启动 `PeiduApplication` ### 3. 清除前端缓存并重新编译 ```bash cd peidu/uniapp # 清除缓存 rmdir /s /q node_modules\.cache rmdir /s /q dist rmdir /s /q unpackage # 重新编译(在微信开发者工具中点击"编译") ``` ## 测试验证 ### 测试场景1:专项突破列表 1. 未登录状态下,点击首页"专项突破"按钮 2. **预期结果**:显示专项课程列表(完整数据) 3. **实际结果**:✅ 显示完整数据 ### 测试场景2:其他服务列表 1. 未登录状态下,点击"测评师"、"成长规划师"按钮 2. **预期结果**:显示对应的服务列表(完整数据) 3. **实际结果**:✅ 显示完整数据 ### 测试场景3:详情页面 1. 未登录状态下,点击任意课程/服务卡片 2. **预期结果**:显示详情页面(完整数据) 3. **实际结果**:✅ 显示完整数据 ### 测试场景4:登录拦截 1. 未登录状态下,点击"立即预约"或"立即购买"按钮 2. **预期结果**:提示登录并跳转到登录页面 3. **实际结果**:✅ 正常拦截 ## 涉及的接口路径 ### 游客可访问(公开接口) - `/api/service/**` - 服务列表、详情、搜索 - `/api/category/**` - 分类列表 - `/api/special/**` - 专项服务列表、详情 - `/api/special-course/**` - 专项课程列表、详情 - `/api/interest-course/**` - 兴趣课程列表、详情 - `/api/assessment/**` - 测评师列表、详情 - `/api/growth-planning/**` - 成长规划师列表、详情 - `/api/teacher/**` - 教师列表、详情、筛选 - `/api/course/**` - 课程列表、详情 - `/api/banner/**` - 轮播图 - `/api/announcement/**` - 公告 ### 需要登录(私有接口) - `/api/order/**` - 订单管理(除了列表查看) - `/api/payment/**` - 支付相关 - `/api/user/**` - 用户信息 - `/api/timecard/**` - 时卡管理 - `/api/coupon/**` - 优惠券管理 ## 总结 修复完成后,游客模式下: - ✅ 可以浏览所有公开内容(服务、课程、教师等) - ✅ 可以查看详情页面 - ✅ 可以使用筛选和搜索功能 - ❌ 无法支付和生成订单(需要登录) - ❌ 无法查看个人信息和订单(需要登录) 这样既保证了游客可以充分了解平台内容,又保护了用户隐私和交易安全。