# 游客模式测试步骤 **时间:** 2026-02-01 **目的:** 验证游客模式下不弹出"登录已过期"提示 --- ## 测试前准备 ### 1. 清除缓存并重新编译 执行以下命令: ```bash cd peidu/uniapp rmdir /s /q node_modules\.cache rmdir /s /q unpackage npm run dev:mp-weixin ``` 或者直接运行: ```bash Archive\[一次性]清除缓存重新编译-游客模式修复-2026-02-01.bat ``` ### 2. 在微信开发者工具中清除缓存 1. 点击菜单栏 "工具" → "清除缓存" 2. 勾选所有选项 3. 点击"清除" 4. 重新点击"编译" --- ## 测试步骤 ### 步骤1:清除登录状态 1. 打开微信开发者工具的调试器 2. 切换到 "Storage" 标签 3. 找到并删除以下项: - `token` - `userInfo` - `currentRole` 4. 刷新小程序 ### 步骤2:访问订单列表页面 1. 在小程序底部导航栏点击"服务日历" 2. 或者直接访问 `/pages/order/list` ### 步骤3:观察结果 **预期结果:** - ✅ 页面正常显示日历界面 - ✅ 显示筛选栏(全部、待服务、服务中、已完成) - ✅ 显示"需要登录"的空状态 - ✅ 显示"立即登录"按钮 - ❌ **不弹出**"登录已过期"提示框 - ❌ **不弹出**任何错误提示 **控制台输出:** ``` [服务日历] 用户角色: parent [服务日历] 登录状态: false [服务日历] 游客模式,不加载订单 ``` 或者如果接口被调用: ``` [Request] 游客模式,业务码401,无token,静默失败 ``` ### 步骤4:点击"立即登录" 1. 点击页面上的"立即登录"按钮 2. 验证跳转到登录页面 `/pages/login/index` ### 步骤5:登录后验证 1. 完成登录流程 2. 返回订单列表页面 3. 验证能正常显示订单数据 --- ## 问题排查 ### 如果仍然弹出"登录已过期" #### 检查1:确认使用的是正确的 request.js 在控制台查看: ```javascript // 应该看到这些日志 [Request] 当前环境: 生产环境 [Request] BASE_URL: https://px.ddn-ai.cloud ``` #### 检查2:确认 token 已清除 在控制台执行: ```javascript uni.getStorageSync('token') // 应该返回空字符串或 undefined ``` #### 检查3:查看控制台错误信息 查找包含以下关键词的日志: - `[Request] 游客模式` - `业务码401` - `静默失败` #### 检查4:确认代码已更新 查看 `peidu/uniapp/src/utils/request.js` 文件: - 第 237 行应该有:`if (isGuestMode() && isGuestAllowedUrl(options.url))` - 第 244 行应该有:`if (!latestToken)` --- ## 修复要点总结 ### 修复了两处 401 处理 1. **HTTP 状态码 401** (`res.statusCode === 401`) - 增加游客模式判断 - 无token时直接静默失败 2. **业务码 401** (`res.data.code === 401`) - 增加游客模式判断 - 无token时直接静默失败 ### 关键代码 ```javascript // 游客模式判断 if (isGuestMode() && isGuestAllowedUrl(options.url)) { console.log('[Request] 游客模式,业务码401,接口静默失败:', options.url) reject({ code: 401, message: '未登录', data: res.data, silent: true }) return } // 无token判断 if (!latestToken) { console.log('[Request] 游客模式,业务码401,无token,静默失败') reject({ code: 401, message: '未登录', data: res.data, silent: true }) return } ``` --- ## 成功标志 - ✅ 游客访问订单列表页面不弹窗 - ✅ 控制台显示"游客模式,不加载订单" - ✅ 页面显示"需要登录"空状态 - ✅ 点击"立即登录"可以跳转 - ✅ 登录后正常显示订单数据