Seetong · Report
🎯 Seetong 问题雷达 17:00 第 56 期
时间窗口:2026-07-20 09:00 ~ 17:00
TL;DR 核心要点
- 🔴 Android NVR 回放/预览偶发不出图,断开重连后恢复(严重度 60/100,置信度 中)
- 本窗其余反馈仍以 -102/-101 普遍网络问题为主,按规则排除。
- 友盟在 Harmony 崩溃场景下不可用:免费版接口 403,不支持趋势查询,已降级,不影响主结论。
最近一个月 Top 问题
按严重度与复发期数排序,已把跨期同类反馈归集;负责人由问题代码锚点对应的 Git 提交历史(blame / 近期主要提交者)反查;数据窗口:最近 30 天(截至 2026-07-20)。
| # | 问题(严重度降序) | 严重度 | 平台 | 版本 | 负责人 | 问题原因 |
|---|---|---|---|---|---|---|
| 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 | Android NVR 回放/预览偶发不出图,断开重连后恢复 1 期 | 60 | Android | — | 唐胜、张威 | NVR 回放/预览链路在首次 addWatch + 查询录像时间片 阶段存在瞬时失败,UI 侧又把多类失败统一收敛为空/超时,导致用户感知为“不出图,重连才恢复”。 |
| 7 | 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 成功,根因在第三方短信通道商下发链路(运营商拦截 / 短信网关失败 / 用户手机短信拦截),非客户端代码问题。 |
| 8 | 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 数据未显示掉线激增,非全量问题。 |
| 9 | 一键重置密码失败 `30000126` 1 期 | 60 | Android · iOS | 8.3.13.4 | 位冬、唐胜 | 一键重置密码链路拿到 checkCode 后,客户端在有效期外仍继续提交新密码,服务端返回 30000126 授权 token 已过期,客户端没有前置拦截或自动重取。 |
| 10 | 客户端升级后设备频繁掉线(海外 + 前后台切换) 1 期 | 60 | — | 8.3.12.5 / 8.3.13.3 / 8.3.13.4 | 唐胜、张威 | 海外用户(哈萨克斯坦)跨境访问中国 netty 服务器,前后台切换触发 WS 断线,客户端重连机制虽生效但耗时 3-14 秒 + 异常类型未分类上报,用户主观体验"频繁掉线",不是 8.3.13.3 升级回归,而是弱网场景下的退避策略 + 监控盲区叠加 |
🔴 问题 1:Android NVR 回放/预览偶发不出图,断开重连后恢复 | 负责人:唐胜、张威
1. 现象与覆盖范围
- 代表反馈:
FB-236884「70%不出图,断开重连才可以」;同窗另有FB-236892「摄像头总是断线和自己下线」作为旁证。 - 涉及反馈:2 条 / Android / 中国区 / NVR 与多路设备预览回放场景。
- 严重度评分:60/100(反馈量 10 / 共性 10 / 关键度 40)
2. 神策证据(核心数据源)
SiotDevConnectResult日基线正常:7/19 UV 1019996,7/20 截至当前 UV 797643,未见系统级塌陷。query_segmentation_report已执行,但error_code分组结果为空,仅返回总量,说明这批问题更像链路内局部波动,不是单一错误码暴涨。- 结论:神策只能证明“没有全局连接崩盘”,不能单独解释 NVR 不出图,因此置信度维持中等。
3. Logan 关键日志(核心数据源)
- 反馈 ID:
236884 - 关键栈与现象:
LibImpl-addWatch,devId=39146588,add_watch_result=-1,portId=0,playing=false,play=true- 随后
SIOT: CMD_NVR_REC_QUERY_TIMES error msgFlag=0 - 同会话又出现
PreviewPlayerView-onRecvFirstFrame: 39146588 - 埋点阶段抛出
PreviewMonitorData sensorsTrackPlot error,cause by:-java.io.EOFException - 上下文:同一会话里 SDK 先发起
addWatch,NVR 回放时间片查询多次报错,再通过重连拿到首帧,符合“首次链路不稳定,重连恢复”的用户描述。
6. 代码定位(详细)
- 涉及模块:
~/Seetong-App-Android/Seetong5.0ForSeetong/Seetong5.0/app/src/main/java/com/seetong/app/seetong/ui/NvrRecord.java~/Seetong-App-Android/Seetong5.0ForSeetong/Seetong5.0/app/src/main/java/com/seetong/app/seetong/sdk/impl/LibImpl.java~/Seetong-App-Android/Seetong5.0ForSeetong/Seetong5.0/lib_base/src/main/java/com/seetong/lib_base/utils/sensors/PreviewMonitorData.java- 调用链:
MainActivity2进入NvrRecord→NvrRecord:2697 searchNvrRecByTime()→LibImpl.searchNvrRecByTime()→NvrRecord:5426 onGetNvrRecord()/5307 onGetNvrRecordByPieces()→5675 onGetNvrRecordReturn()。 - 关键分支:
NvrRecord:5426把flag != 0、result < 0、szInfo 为空都收敛到EXCEPTION_TIMEOUT/EMPTY,容易把设备侧瞬时异常与真正“无录像”混成同类空态。PreviewMonitorData:228+在解析stream_state时直接gson.fromJson(...),日志已出现EOFException,说明埋点 JSON 可能被截断或字段不完整。- 修复方向锚点:
NvrRecord.java:5426-5452:细分CMD_NVR_REC_QUERY_TIMES失败原因,避免统一空态误导用户。PreviewMonitorData.java:252-308:对stream_state增加 JSON 完整性校验,避免异常吞掉关键链路信息。
7. 根因结论
- 置信度:🟡 中
- 一句话根因:NVR 回放/预览链路在首次
addWatch + 查询录像时间片阶段存在瞬时失败,UI 侧又把多类失败统一收敛为空/超时,导致用户感知为“不出图,重连才恢复”。 - 关键证据链:Logan 中
add_watch_result=-1+CMD_NVR_REC_QUERY_TIMES error+ 随后重连后onRecvFirstFrame成功,相互印证“链路抖动后恢复”,不是设备永久离线。
8. 建议下一步
- 分配给:Android 回放/预览链路 owner
- 优先处理项:
- 拆分
NvrRecord空态与超时态提示 - 补
PreviewMonitorData的stream_state容错 - 验证方法:NVR 多通道设备连续进入回放 20 次,统计首次不出图率与重连恢复率
本期扫描全量(全部沉淀到知识库)
| # | 关键词 | 反馈数 | 分类 | 处置 |
|---|---|---|---|---|
| 2 | NVR 不出图 / 断开重连恢复 | 2 | 🔴 进雷达 | 详细分析见上 |
| 3 | Harmony 回放闪退和卡 | 1 | 🟡 单点问题 | 样本不足,未进雷达 |
| 5 | 收费/取消套餐建议 | 8 | 🟤 心愿单建议 | 已排除 |
| 6 | 无效文本 / 求助式输入 | 10 | 🟢 用户操作 | 已排除 |
已折叠 2 条普遍性网络问题(含-102/-101/-1002与中/英/俄/法/西/葡/土/阿/日多语言网络提示模板,如Проверьте телефонную сеть、Please check your mobile network);全量明细见同名 Markdown 知识库。
待补证
- Harmony 崩溃需等可用友盟或更多 Logan。
- 神策缺少 error_code 维度明细,暂未拿到坏码分布。
- 若 24h 内再增 2 条同类,升级为高优先级。
下一期 = 第 57 期 = 2026-07-21-H09(明天早上 9:00)
本消息由 Seetong小助手 自动生成,欧阳荣 监督发布。