Seetong · Report
🎯 Seetong 问题雷达 17:00 第 52 期
时间窗口:2026-07-18 09:00 ~ 17:00
TL;DR 核心要点
- 8h 内无新增严重问题。
- 🟣 -102/-1002 仍是绝对主导,8h 内约 73 条,覆盖 Android 多版本与中国、缅甸、乌兹别克斯坦等地区,按普遍网络问题排除。
- 🟡 “更新以后不能播放了 / 怎么不能播放视频了 / 为什么突然打不开监控录像设备”本窗有 3 条,但 Logan 显示预览与回放主链路均成功,未见统一错误码,实际更像设备在线态或录像数据侧问题,不形成新问题簇。
最近一个月 Top 问题
按严重度与复发期数排序,已把跨期同类反馈归集;负责人由问题代码锚点对应的 Git 提交历史(blame / 近期主要提交者)反查;数据窗口:最近 30 天(截至 2026-07-18)。
| # | 问题(严重度降序) | 严重度 | 平台 | 版本 | 负责人 | 问题原因 |
|---|---|---|---|---|---|---|
| 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. 本期无新增 ≥ 60 分问题
按 3 维评分后,未出现值得进入 Stage 2-3 详细深挖的新问题:
-102/-1002:约 73 条,反馈量 30 / 共性 30 / 关键度 25,但按 skill 归为 🟣 普遍网络问题,直接排除。- “不能播放 / 录像打不开”:3 条,反馈量 20 / 共性 20 / 关键度 30,总分 70;但两份 Logan 都显示预览
addWatch、首帧回调、NVR 回放startNvrReplay主链路成功,没有收敛到统一失败分支,因此不升级进雷达。 - “设备离线状态”:1 条,反馈量 10 / 共性 10 / 关键度 40,总分 60;24h 内已在 7/18 H09 分析过同主题,按去重跳过。
- “绑定不上手机 / 内存清不掉 / 怎么看关联人员”:各 1 条,样本不足且更像操作或单点配置问题,不进雷达。
2. 神策证据(核心数据源,降级校验)
- 本期对候选主题执行了
query_segmentation_report(SiotDevConnectResult)。 - 返回结果中
error_code维度为空,7/17 UV 64.4 万,7/18 截至当前 UV 48.9 万;未出现“连接失败码集中抬升”的新增证据。 - 结论:神策侧未支持“不能播放 / 录像打不开”形成独立错误码簇,本窗只能作为基线校验,置信度维持中等。
3. Logan 关键日志(核心数据源)
- 反馈 ID:
236416“更新以后不能播放了” - 关键日志:
PreviewPlayerView-startPlay→LibImpl-addWatch,devId=36833748-CH-4→LibImpl-onMsgRspAddWatch nResult=0→PreviewPlayerView-onRecvFirstFrame - 回放链路:
NvrRecord-SeeTong-Load record data start→LibImpl-searchNvrRecByTime:devId=[36833748-CH-4]→LibImpl-startNvrReplay:2:ret=[0]→LibImpl-onNvrReplayResp ... PlayAgent ret=0 - 异常信号:随后出现两次
LibImpl-onNvrReplayResp TPS_ReplayDevFileRsp is invalid,但紧接着再次addWatch成功并收到首帧,说明不是“完全打不开”,更像回放数据片段异常后触发自动恢复。 - 反馈 ID:
236380“为什么手机突然打不开监控录像设备” - 关键日志:
/seetong-member-device/device/list返回两台设备devIsOnline=0 - 上下文:设备列表拉取成功,但服务端返回的设备在线态就是离线;日志里没有播放器起播失败栈,更多是设备态问题。
4. 代码定位(观察项,不升级)
- 涉及模块:Android 设备列表、预览、NVR 回放链路。
- 关键类:
DeviceServiceImpl.kt:116MainActivity2.java:1847PreviewPlayerView.kt:1595LibImpl.java:1344LibImpl.java:1939LibImpl.java:3136NvrRecord.java:2697NvrRecord.java:4479- 调用链:
MainActivity2刷设备列表 →DeviceServiceImpl拉/seetong-member-device/device/list→ 点击进入PlayerPreviewActivity→PreviewPlayerView.startPlay()→LibImpl.addWatch();录像链路则是NvrRecord.load record data→LibImpl.searchNvrRecByTime()→LibImpl.startNvrReplay()→LibImpl.onNvrReplayResp()。 - 关键分支:
LibImpl.java:3136与PreviewPlayerView.kt:1595负责消费TPS_MSG_P2P_OFFLINE,会把设备态直接转成离线提示。LibImpl.java:1939-2116负责处理 NVR 回放响应;当TPS_ReplayDevFileRsp无效时会记错误,但当前日志显示后续仍能再次建流成功。- 修复锚点:若后续“播放不了 / 录像打不开”继续放量,优先看
LibImpl.onNvrReplayResp()对无效回放响应的容错处理,以及PreviewPlayerView在设备在线态与录像数据异常混合场景下的错误提示是否过于笼统。
5. 根因结论
- 置信度:🟡 中
- 一句话根因:本窗没有形成新的客户端功能性聚类;除长期
-102普遍网络噪声外,“不能播放 / 录像打不开”样本在 Logan 中仍能成功起播和拿到首帧,更像设备在线态或录像数据异常,而不是 App 版本级回归。 - 关键证据链:神策未见独立错误码簇 +
236416预览与回放主链路成功 +236380设备列表直接返回devIsOnline=0。
本期扫描全量(全部沉淀到知识库)
| # | 关键词 | 反馈数 | 分类 | 处置 |
|---|---|---|---|---|
| 2 | 不能播放 / 录像打不开 | 3 | 🟡 单点功能问题 | 证据拆分后未升级 |
| 3 | 设备离线状态 | 1 | 🟡 设备状态异常 | 24h 内已分析过,跳过 |
| 4 | 绑定不上手机 / 内存清不掉 / 关联人员 | 4 | 🟡 单点问题 | 样本不足,观察 |
| 5 | 无意义 / 乱码 / 短句 | 19 | 🟢 用户操作 | 已排除 |
已折叠 1 条普遍性网络问题(含-102/-101/-1002与中/英/俄/法/西/葡/土/阿/日多语言网络提示模板,如Проверьте телефонную сеть、Please check your mobile network);全量明细见同名 Markdown 知识库。
待补证
- 回放打不开类若今晚再增 2 条,明早升级复查。
- 继续观察
TPS_ReplayDevFileRsp is invalid是否放量。 -102仍按服务端长期问题监测。
下一期 = 第 53 期 = 2026-07-19-H09(明天早上 9:00)
本消息由 Seetong小助手 自动生成,欧阳荣 监督发布。