Seetong · Report
🎯 Seetong 问题雷达 09:00 第 49 期
时间窗口:2026-07-17 01:00 ~ 09:00
TL;DR 核心要点
- 🔴 一键重置密码失败 30000126(严重度 60 / 100,置信度 中)
- 本期其余反馈仍以 -102 普遍网络问题为主,按规则排除
- 详细版已落盘:knowledge/seetong-radar/2026-07-17-H09.md
最近一个月 Top 问题
按严重度与复发期数排序,已把跨期同类反馈归集;负责人由问题代码锚点对应的 Git 提交历史(blame / 近期主要提交者)反查;数据窗口:最近 30 天(截至 2026-07-17)。
| # | 问题(严重度降序) | 严重度 | 平台 | 版本 | 负责人 | 问题原因 |
|---|---|---|---|---|---|---|
| 1 | Seetong 自建 API 集群大规模不可用(详细分析) 1 期 | 92 | Android | 8.1.2.4 / 8.3.12.5 | “maolin.zhang”、张威、唐胜 | Seetong 自建 API 服务集群(app-auth.seetong.com / app-api-cn.seetong.com 主+备 4 个 IP)在 2026-06-25 凌晨到 09:00+ 出现大规模不可用(TCP 443 握手超时 / SSL 失败),导致 Android 端 8.3.12.5 用户所有业务请求失败,App 弹出"请检查手机网络(-102)" |
| 2 | 设备离线/P2P 通道失败(5 条 8h) 1 期 | 90 | — | 8.2.1.3 / 8.3.10.2 / 8.3.12.5 | 唐胜、许源、张威 | 用户设备 lastHeartTime 自 2026-07-03 02:25 起完全停止(用户尝试断电重启无效),客户端 TPS_MSG_P2P_OFFLINE 反复触发导致离线提示循环,但设备侧的物理掉线才是真实根因 |
| 3 | 回放入口/状态映射异常:无存储能力设备仍露出回放入口 2 期 | 70 | Android | 1.1.0.9 / 8.3.12.5 / 8.1.2.4 | 唐胜、张威 | 回放入口与录像状态 UI 主要依赖 sdRecordStu/权限,但未同步校验 NO_LOCAL_STOARGE 与 SDCardState=0,导致无存储能力设备仍可能暴露回放预期或状态显示异常。 |
| 4 | 录像回放缺失 — 无 SD 卡的设备被直接引导云存购买(产品设计问题) 1 期 | 65 | Android · iOS | 8.3.12.5 / 8.3.13.3 / 8.3.13.4 | 张威、唐胜、陈宝旺 | 无 SD 卡 + 未开通云存的设备,在 NVR 回放协议响应无效时直接跳转云存购买页,没有任何"为什么没录像"的说明,用户感知是"以前能看现在不能" |
| 5 | 设备二维码模糊/找不到(3 条 8h) 1 期 | 65 | — | 8.3.12.5 | 待定 | (本期未收敛到单一根因) |
| 6 | iOS 8.3.12.6 灰度放量新症状 4 期累计扩散 1 期 | 60 | iOS | 8.3.12.5 / 8.3.12.6 | 欧阳荣、谭伟 | iOS 8.3.12.6 客户端第三方微信登录→绑定手机号→触发滑动验证→重发短信验证码的全链路(BindNewPhoneOrEmailViewController.m:317-378)均正常工作,服务端短信下发接口返回 200 成功,根因在第三方短信通道商下发链路(运营商拦截 / 短信网关失败 / 用户手机短信拦截),非客户端代码问题。 |
| 7 | iOS 8.3.4.3 老版本"网络正常情况下掉线 + 语音提示循环" 1 期 | 60 | iOS | 8.3.12.5 / 8.3.4.3 / 8.3.7 | 待定 | iOS 8.3.4.3 老版本在网络瞬断时,"网络连接正等待"语音提示无频率限制,导致循环播放;神策 7-1 数据未显示掉线激增,非全量问题。 |
| 8 | 一键重置密码失败 `30000126` 1 期 | 60 | Android · iOS | 8.3.13.4 | 位冬、唐胜 | 一键重置密码链路拿到 checkCode 后,客户端在有效期外仍继续提交新密码,服务端返回 30000126 授权 token 已过期,客户端没有前置拦截或自动重取。 |
| 9 | 客户端升级后设备频繁掉线(海外 + 前后台切换) 1 期 | 60 | — | 8.3.12.5 / 8.3.13.3 / 8.3.13.4 | 唐胜、张威 | 海外用户(哈萨克斯坦)跨境访问中国 netty 服务器,前后台切换触发 WS 断线,客户端重连机制虽生效但耗时 3-14 秒 + 异常类型未分类上报,用户主观体验"频繁掉线",不是 8.3.13.3 升级回归,而是弱网场景下的退避策略 + 监控盲区叠加 |
| 10 | Android 设备 P2P + 4G 双通道持续 OFFLINE 1 期 | — | Android | 8.3.12.5 / 8.3.12.6 | 张威、许源、谭伟 | Android SDK 在收到设备 TPS_MSG_P2P_OFFLINE dev4gOnline=-1 回调后,只标记离线状态 + 弹提示,未触发主动 P2P 通道重连;当设备 P2P 通道持续不通时(devId=12897196 13 分钟 15+ 次),用户侧表现为"监控永远离线",但服务端和 WS 长连接均正常。 |
🔴 问题 1:一键重置密码失败 30000126 | 负责人:位冬、唐胜
1. 现象与覆盖范围
- 现象描述:用户反馈“重置密码失败(30000126)”,发生在 iOS
8.3.13.4的本机号码一键重置链路。 - 涉及反馈:1 条 / 平台 iOS / 版本
8.3.13.4/ 地区 内蒙古呼和浩特。 - 严重度评分:60 / 100(反馈量 10 / 共性 10 / 关键度 40)。
2. 神策证据(核心数据源)
query_segmentation_report查询Login失败码分布失败,服务端报字段不存在:event.$Anything.login_fail_type。- 按降级规则改查
Login事件总量:7/10 ~ 7/16 日 UV 维持63 万 ~ 68 万,7/17 截至当前14.6 万,登录主链路流量基线正常。 - 本期未拿到 30000126 的 error_code 分布,神策证据降级为弱。
3. Logan 关键日志(核心数据源)
- 反馈 ID:
236044 - 关键栈:
/seetong-client/password-reset/local-number/check成功 →/seetong-client/password-reset/local-number失败。 - 错误码:
30000126 - 上下文:
06:47:42,password-reset/local-number/check返回200,下发checkCode=b3378df30c75330b937137a2ae7336de06:54:49,提交新密码时返回{"code":30000126,"msg":"授权token已过期"}06:54:57,用户再次重试,仍返回相同30000126- 引文:
path=/seetong-client/password-reset/local-number/check,ret=200path=/seetong-client/password-reset/local-number,ret=30000126msg":"授权token已过期"
6. 代码定位
- 涉及模块:
~/Seetong-App-iOS/Seetong5.0_ios/Seetong_tps/Classes/Login/Controller/STForgetPwdViewController.mm~/Seetong-App-Android/Seetong5.0ForSeetong/Seetong5.0/app/src/main/java/com/seetong/app/seetong/ui/ForgetPasswordActivity.java~/Seetong-App-Android/Seetong5.0ForSeetong/Seetong5.0/login/src/main/java/com/seetong/login/utils/AccountCodeUtils.kt- 关键类:
STForgetPwdViewController:checkLocalNumberRequestWithToken:成功后把checkCode传给重置页;resetPwdRequest只提交account/password/codeForgetPasswordActivity:getLocalPhoneCheckLiveData成功后把checkCode传到RegisterPasswordActivityAccountCodeUtils.ERROR_ONE_KEY_TOKEN_EXPIRE = 30000126- 调用链:
本机号码校验→password-reset/local-number/check→ 下发checkCode→password-reset/local-number→ 服务端校验 token 过期。 - 关键分支:
check接口成功后到真正提交新密码之间存在约 7 分钟间隔,客户端没有刷新 token 或重新拉取checkCode,复用旧授权直接触发过期分支。 - 修复方向锚点:
- iOS
STForgetPwdViewController.mm中checkLocalNumberRequestWithToken:与resetPwdRequest之间补“checkCode / token 时效校验”或超时重拉。 - Android
ForgetPasswordActivity/RegisterPasswordActivity链路同样需要在提交前校验 token 新鲜度。
7. 根因结论
- 置信度:🟡 中
- 一句话根因:一键重置密码链路拿到
checkCode后,客户端在有效期外仍继续提交新密码,服务端返回30000126 授权 token 已过期,客户端没有前置拦截或自动重取。 - 关键证据链:Logan 明确显示
check成功、reset连续两次失败且错误码一致;代码中checkCode只透传,不见到提交前的时效刷新逻辑;神策因字段失效未能补强分布证据。
8. 建议下一步
- 分配给:登录 / 账号链路负责人。
- 优先处理项:补提交前 token 过期判断;过期后自动回到本机校验并重取
checkCode。 - 验证方法:构造“获取
checkCode后等待超时再提交”的回归用例,确认客户端提示与自动恢复链路。
本期扫描全量(全部沉淀到知识库)
| # | 关键词 | 反馈数 | 分类 | 处置 |
|---|---|---|---|---|
| 2 | 重置密码 30000126 | 1 | 🔴 进雷达 | 详细分析见上 |
| 3 | 回放卡顿 / SD 卡满无法回放 | 2 | 🟡 配置问题 | 样本不足,暂观察 |
| 4 | 绑定不了手机 | 1 | 🟡 配置问题 | 单点反馈,未进雷达 |
| 5 | 报警信息 / 录像信息 / 人形标记缺失 | 1 | 🟡 配置问题 | Harmony 单点,缺 Logan,未进雷达 |
| 6 | 再买一套设备 | 1 | 🟤 心愿单建议 | 已排除 |
| 7 | 其余无效短句 | 4 | 🟢 用户操作 | 已排除 |
已折叠 1 条普遍性网络问题(含-102/-101/-1002与中/英/俄/法/西/葡/土/阿/日多语言网络提示模板,如Проверьте телефонную сеть、Please check your mobile network);全量明细见同名 Markdown 知识库。
待补证
- 神策
Login失败码字段需重新核对事件属性。 - Harmony 单点问题需补可下载日志再定性。
- 回放类今晚若再聚集,明晚优先复查。
下一期 = 第 50 期 = 2026-07-17-H17(今天下午 17:00)
本消息由 Seetong小助手 自动生成,欧阳荣 监督发布。