Seetong · Report
🎯 Seetong 问题雷达 17:00 第81期
时间窗口:2026-07-30 09:00~17:00
TL;DR 核心要点
- 🔴 SD卡异常触发设备离线告警(1 条反馈,置信度 🟡 中):Logan 确认设备持续上报 SDCardState=-5,剩余空间 0 GB,属于 SD 卡物理损坏/满载,与反馈"连不上网,离线,老是显示存储卡异常"完全吻合。
- 观察项:另一条"看不到家里情况"(devId=11386876)系设备离线 7+ 天,属用户侧问题,未达雷达门槛。
- 数据源状态:🟡 神策 SiotDevConnectResult 查询 GRPC 异常(字段名不兼容),友盟 502 超时;Logan 完整可用。
最近一个月 Top 问题
按严重度与复发期数排序,已把跨期同类反馈归集;负责人由问题代码锚点对应的 Git 提交历史(blame / 近期主要提交者)反查;数据窗口:最近 30 天(截至 2026-07-30)。
| # | 问题(严重度降序) | 严重度 | 平台 | 版本 | 负责人 | 问题原因 |
|---|---|---|---|---|---|---|
| 1 | 设备离线/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 反复触发导致离线提示循环,但设备侧的物理掉线才是真实根因 |
| 2 | 回放入口/状态映射异常:无存储能力设备仍露出回放入口 2 期 | 70 | Android | 1.1.0.9 / 8.1.2.4 / 8.3.12.5 | 唐胜、张威 | 回放入口与录像状态 UI 主要依赖 sdRecordStu/权限,但未同步校验 NO_LOCAL_STOARGE 与 SDCardState=0,导致无存储能力设备仍可能暴露回放预期或状态显示异常。 |
| 3 | 在线看不到 1 期 | 70 | Android | 8.3.13.3 | 张威、唐胜 | NVR 通道预览链路在握手后立即被底层判为 PeerOffLine,APP 按现有逻辑只做快速重试,没有把通道离线与临时连接抖动区分开,最终表现为“在线看不到”。 |
| 4 | 多端手机端无回放 1 期 | 70 | Android | 1.1.1.6 / 8.3.13.3 | 冉博麟、李国涛 | (本期未收敛到单一根因) |
| 5 | 设备离线/掉线后无法预览 1 期 | 70 | Android · iOS | 1.1.1.6 / 8.2.2.1 / 8.3.13.3 | 唐胜、张威 | 设备预览链路在收到 TPS_MSG_P2P_OFFLINE 后直接走离线兜底分支,UI 进入“该设备不在线”,而自动恢复逻辑又被离线判断短路,导致用户感知为“掉线后无法再连上”。 |
| 6 | 录像回放缺失 — 无 SD 卡的设备被直接引导云存购买(产品设计问题) 1 期 | 65 | Android · iOS | 8.3.12.5 / 8.3.13.3 / 8.3.13.4 | 张威、唐胜、陈宝旺 | 无 SD 卡 + 未开通云存的设备,在 NVR 回放协议响应无效时直接跳转云存购买页,没有任何"为什么没录像"的说明,用户感知是"以前能看现在不能" |
| 7 | 设备二维码模糊/找不到(3 条 8h) 1 期 | 65 | — | 8.3.12.5 | 待定 | (本期未收敛到单一根因) |
| 8 | Android NVR 回放/预览偶发不出图,断开重连后恢复 1 期 | 60 | Android | — | 唐胜、张威 | NVR 回放/预览链路在首次 addWatch + 查询录像时间片 阶段存在瞬时失败,UI 侧又把多类失败统一收敛为空/超时,导致用户感知为“不出图,重连才恢复”。 |
| 9 | Android 监控预览 addWatch 失败 + 10 秒循环重试 1 期 | 60 | Android | 8.3.13.3 | 唐胜 | Android 端 LibImpl.startPlay 把 addWatch 返回的 P2P 断连错误码(-1)通过 if (ret == SDK_CONSTANT.ERR_P2P_DISCONNECTED) ret = 0; 强制归零,导致上层误以为流启动成功,进入 10 秒循环重试;用户看到的"长时间缓冲"实质是 10 秒 × N 次的循环重试视觉感受 |
| 10 | 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 成功,根因在第三方短信通道商下发链路(运营商拦截 / 短信网关失败 / 用户手机短信拦截),非客户端代码问题。 |
🔴 问题 1:SD卡损坏触发设备离线告警 | 负责人:唐胜、张威
1. 现象与覆盖范围
- 现象:用户反馈"连不上网,离线,老是显示存储卡异常"(Android vivo V2217A,App 8.3.14.2,客户端 99f9c373)
- Logan 脱敏:设备 devId=40487559(苏楼仓库),用户 IP 山东省菏泽市,4G 网络
- 严重度评分:60/100(反馈量 10 / 共性 10 / 关键度 40)
2. 神策证据(⚠️ 降级)
- 状态:
query_segmentation_report+query_sql均失败(GRPC 异常,Impala 无法解析result/error_code字段) - 替代数据:
MonitorWatchStep日均观看次数约 32-36 万次,近 7 天无明显异常波动(7/23~7/30) - 置信度影响:🟡 神策失效,Logan 证据独立支撑
3. Logan 关键日志(核心数据源)
- 反馈 ID:FB-239351
- 关键栈:
LibImpl.java(SDK Native层) →PreviewPlayerView.kt→VideoRecordActivity.java - SD卡状态演化:
- 09:53:22 →
SDCardState=-2,SDCardRemainSpace=12288(初始化检测) - 09:53:23 →
SDCardState=-5,SDCardRemainSpace=0,SDCardRecordState=-1(异常持续) - 09:53:27 →
SDCardState=-5,SDCardRemainSpace=0(持续未恢复) - 设备离线链路:
TPS_MSG_P2P_OFFLINE(dev4gOnline=1但 P2P 通道断开)→ 用户感知为"离线" - 上下文:设备为低功耗设备(
is_low_power: true,devNetType=1),4G 网络,使用中继连接(connect_type=RELAY) - SD卡状态 -5 含义:对照
PreviewPlayerView.kt:sdRecordStu和SettingUI_Record.java中SDCardState枚举,-5 = 存储卡满或损坏
6. 代码定位
- 涉及模块:
app/src/main/java/com/seetong/app/seetong/sdk/impl/LibImpl.java(Native SDK 回调) - 关键类:
PreviewPlayerView.kt:sdRecordStu(行 ~L776) - 调用链:
LibImpl.java:MSG_DEV_SD_STATUS_INFO回调 →PreviewPlayerView.onSDStatusChange()→PlayerDeviceManager.updateSDState()→ UI 层显示"存储卡异常" - SDCardState -5 分支:
SettingUI_Record.java中 switch-case 处理-5状态 → 触发 toastHint + 离线告警 - 修复方向锚点:
PreviewPlayerView.ktL776:sdRecordStu=1→abnormal=-5时,应展示更明确的 SD 卡损坏提示而非泛化"离线"LibImpl.java中MSG_DEV_SD_STATUS_INFO回调,应区分"SD卡未格式化"/"SD卡满"/"SD卡损坏"三种 -5 细分状态PlayerPreviewActivity.java中对-5的处理可以增加"引导用户更换SD卡"的主动提示
7. 根因结论
- 置信度:🟡 中(Logan 证据完整,神策未拿到数据)
- 一句话根因:SD 卡物理损坏(状态 -5,剩余空间 0 GB)导致设备持续上报异常,同时触发设备离线告警
- 关键证据链:
SDCardState=-5+SDCardRemainSpace=0+TPS_MSG_P2P_OFFLINE三者共同印证
8. 建议下一步
- 分配给:Android 团队
- 优先处理项:
- SDK 层区分
-5的三种子状态(未格式化/满/损坏),提供差异化提示 - App 层对 SD 卡异常的引导文案优化,减少"离线"混淆
- 验证方法:复现路径——插入一张损坏/满载 SD 卡,观察设备状态上报 + 用户感知反馈
本期扫描全量
| # | 关键词 | 反馈数 | 分类 | 处置 |
|---|---|---|---|---|
| 1 | SDCardState=-5 存储卡异常+离线 | 1 | 🔴 进雷达 | 详细分析见上 |
| 4 | iPhone 夜晚模式建议 | 1 | 🟤 心愿单 | 已排除 |
| 5 | 录像回放不同步(Harmony 双目) | 1 | 🟢 用户操作/配置 | 已排除 |
| 6 | 回放黑屏(8.4.0.1) | 1 | 🟢 设备端 | 已排除(单用户单设备) |
| 7 | 分享后不认识 | 1 | 🟢 用户操作 | 已排除 |
| 8 | 售后服务差/发票未开 | 2 | 🟢 非功能问题 | 已排除 |
| 9 | 网络优化卡住/信号强度看不清 | 1 | 🟢 UI 体验 | 已排除 |
| 10 | 其他噪音(emoji、乱码、单字) | ~20 | 🟢 无效反馈 | 已排除 |
已折叠 2 条普遍性网络问题(含-102/-101/-1002与中/英/俄/法/西/葡/土/阿/日多语言网络提示模板,如Проверьте телефонную сеть、Please check your mobile network);全量明细见同名 Markdown 知识库。
待补证
- 神策
SiotDevConnectResult查询 GRPC 字段名需矫正(result→ 实际字段名),下次 run 优先验证字段定义 - 友盟崩溃数据 502,需确认是否系统级故障
下一期 = 第82期 = 2026-07-31-H09(明天早上 9:00)