peixue-dev/Archive/[一次性]游客模式测试指南-2026-02-01.md

5.4 KiB
Raw Permalink Blame History

游客模式测试指南 - 2026-02-01

修复完成状态

后端服务: 已重新编译并启动 (端口: 8089) 前端小程序: 已清除缓存并重新编译完成

测试准备

1. 确保服务正常运行

后端服务检查:

前端小程序:

  • 在微信开发者工具中打开: peidu/uniapp/dist/dev/mp-weixin
  • 点击"清缓存" → "清除全部缓存"
  • 点击"编译" → "清除缓存并重新编译"

2. 进入游客模式

方法1: 退出登录

  • 进入"我的"页面
  • 点击"退出登录"

方法2: 清除本地存储

  • 在微信开发者工具的控制台执行:
uni.removeStorageSync('token')
uni.removeStorageSync('userInfo')

验证游客模式:

  • 控制台执行: uni.getStorageSync('token')
  • 应该返回空字符串或undefined

测试场景

场景1: 选择陪伴员页面

路径: 首页 → 选择陪伴员

测试步骤:

  1. 点击首页的"选择陪伴员"按钮
  2. 进入教师列表页面

预期结果:

  • 页面正常显示教师列表
  • 可以看到教师的头像、姓名、标签、简介、评分、价格等信息
  • 可以使用筛选功能(科目、区域、年级、排序)
  • 控制台没有401错误
  • 没有"登录已过期"弹窗

点击"立即预约":

  • 应该提示需要登录
  • 跳转到登录页面

场景2: 兴趣培养页面

路径: 首页 → 兴趣培养

测试步骤:

  1. 点击首页的"兴趣培养"按钮
  2. 进入兴趣课程列表页面

预期结果:

  • 页面正常显示课程列表
  • 可以看到课程的图片、标题、价格等信息
  • 可以浏览课程详情
  • 控制台没有401错误
  • 没有"登录已过期"弹窗

点击"立即购买":

  • 应该提示需要登录
  • 跳转到登录页面

场景3: 专项突破页面

路径: 首页 → 专项突破

测试步骤:

  1. 点击首页的"专项突破"按钮
  2. 进入专项课程列表页面

预期结果:

  • 页面正常显示课程列表
  • 可以看到课程的图片、标题、价格等信息
  • 可以浏览课程详情
  • 控制台没有401错误
  • 没有"登录已过期"弹窗

点击"立即购买":

  • 应该提示需要登录
  • 跳转到登录页面

场景4: 服务列表页面

路径: 首页 → 服务列表

测试步骤:

  1. 点击首页的"服务列表"按钮
  2. 进入服务列表页面

预期结果:

  • 页面正常显示服务列表
  • 可以看到服务的图片、标题、价格等信息
  • 可以浏览服务详情
  • 控制台没有401错误
  • 没有"登录已过期"弹窗

点击"立即预约":

  • 应该提示需要登录
  • 跳转到登录页面

控制台检查

正常的日志

前端:

[Request] 当前环境: 生产环境
[Request] BASE_URL: https://px.ddn-ai.cloud
[Request] 游客模式白名单接口返回401静默失败不影响页面显示: /api/teacher/list

后端:

=== JWT拦截器执行 ===
请求路径: /api/teacher/list
Authorization Header: null
token为空放行请求
=== JWT拦截器执行完成 ===

不应该出现的错误

前端控制台:

  • "登录已过期"
  • "token已过期"
  • 401错误弹窗

后端日志:

  • "token验证失败"
  • "不存在"异常

登录后测试

测试登录功能

步骤:

  1. 在游客模式下点击"立即预约"或"立即购买"
  2. 跳转到登录页面
  3. 输入账号密码登录

预期结果:

  • 登录成功后跳转到首页
  • 可以正常使用所有功能
  • 可以提交订单和支付

验证已登录用户功能

测试:

  1. 浏览教师列表 - 应该正常显示
  2. 点击"立即预约" - 应该进入预约页面(不提示登录)
  3. 提交订单 - 应该正常提交
  4. 查看订单列表 - 应该显示自己的订单

问题排查

如果页面仍然显示401错误

检查1: 后端服务是否重启

# 检查Java进程
tasklist | findstr java

检查2: 前端缓存是否清除

  • 在微信开发者工具中点击"清缓存" → "清除全部缓存"
  • 重新编译

检查3: 查看后端日志

  • 检查JWT拦截器是否输出"token为空放行请求"

检查4: 查看前端请求

  • 打开控制台Network标签
  • 查看请求是否发送token
  • 游客模式下不应该发送token

如果页面空白

检查1: 后端是否返回数据

检查2: 前端是否正确解析数据

  • 查看控制台是否有JavaScript错误
  • 查看Network标签中的响应数据

测试完成标准

所有以下条件都满足才算测试通过:

  • 游客模式下选择陪伴员页面正常显示数据
  • 游客模式下兴趣培养页面正常显示数据
  • 游客模式下专项突破页面正常显示数据
  • 游客模式下服务列表页面正常显示数据
  • 控制台没有401错误
  • 没有"登录已过期"弹窗
  • 点击预约/购买时提示登录
  • 登录后所有功能正常
  • 已登录用户不受影响

总结

这次修复的核心是:

  1. 后端: JWT拦截器在没有token时直接放行,不抛出异常
  2. 前端: 游客模式访问白名单接口时401错误静默处理
  3. 效果: 游客可以浏览所有数据,但不能下单和支付

这样的设计符合现代Web应用的最佳实践,提供了良好的用户体验。