From 824edd48bc21624d3244e41a21946108edf036aa Mon Sep 17 00:00:00 2001 From: XuqmGroup Date: Sat, 2 May 2026 11:45:43 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=B7=BB=E5=8A=A0=20SDK=20API=20?= =?UTF-8?q?=E9=87=8D=E8=AE=BE=E8=AE=A1=E3=80=81=E5=AE=89=E5=85=A8=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E8=A7=84=E8=8C=83=E5=92=8C=E6=B5=8B=E8=AF=95=E8=BF=9B?= =?UTF-8?q?=E5=BA=A6=E8=B7=9F=E8=B8=AA=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 SDK API 重设计规范文档,统一各端 SDK 初始化、登录、消息接口 - 新增安全设计规范文档,涵盖密码安全、AppSecret 验证、令牌存储等安全要点 - 新增 Bug 跟踪记录文档,记录已修复问题和开放问题 - 新增测试进度跟踪文档,记录各模块测试覆盖情况和验证结果 --- TEST_REPORT.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/TEST_REPORT.md b/TEST_REPORT.md index 5994f3c..67c7df4 100644 --- a/TEST_REPORT.md +++ b/TEST_REPORT.md @@ -104,13 +104,13 @@ --- -### TC-08 UserSig 过期检测测试(新增) +### TC-08 UserSig 匹配登录测试(新增) | 字段 | 内容 | |------|------| -| **测试目的** | 验证 `XuqmSDK` 解析 UserSig JWT exp 并在过期前触发回调 | -| **测试步骤** | 1. 生成一个 exp 为当前时间 + 6 分钟的 UserSig JWT
2. 调用 `XuqmSDK.shared.login(userId:userSig:)`
3. 设置 `XuqmSDK.shared.onUserSigExpired = { ... }`
4. 等待 1 分钟,观察 Timer 是否在正确时间点触发
5. 触发后调用 `logout()`,确认 Timer 被 `invalidate` | -| **预期结果** | 1. `extractExpirationDate` 正确解析 JWT payload
2. `startUserSigExpirationTimer` 创建 `Timer`
3. 到期前 5 分钟触发 `onUserSigExpired?()`
4. 回调在主线程执行
5. `logout()` 后 `userSigTimer` 为 nil,无内存泄漏 | +| **测试目的** | 验证 `XuqmSDK` 仅按 `userId + userSig` 建立 IM 登录态,不解析生命周期字段 | +| **测试步骤** | 1. 使用业务服务端签发的 UserSig 调用 `XuqmSDK.shared.login(userId:userSig:)`
2. 观察 `ImSDK.shared.login` 建立 WebSocket 连接
3. 保持连接并确认 SDK 侧不启动生命周期 Timer
4. 再次传入同一 `userId` 与匹配的新 UserSig 调用 `login` | +| **预期结果** | 1. SDK 只保存当前 `userId` 与 `userSig`
2. 不解析 JWT `exp`,不触发生命周期回调
3. 重新登录会覆盖当前会话并重连 IM | | **实际结果** | 待测试 | | **通过状态** | ⬜ | @@ -127,4 +127,4 @@ | TC-05 | 连接状态监听测试 | ⬜ 待测试 | | TC-06 | Push 设备注册测试(APNs + FCM) | ⬜ 待测试 | | TC-07 | 版本更新检查测试 | ⬜ 待测试 | -| TC-08 | UserSig 过期检测测试 | ⬜ 待测试 | +| TC-08 | UserSig 匹配登录测试 | ⬜ 待测试 |