Seetong · Report

🎯 Seetong 问题雷达 17:07 第75期

时间窗口:2026-07-27 09:00 ~ 17:07(过去 8h)

📌TL;DR 核心要点

  • 🔴 Harmony 1.1.1.6 摄像头离线/连接不上集群(严重度 100/100,置信度 🟡 中)
  • 🟠 Harmony 1.1.1.6 看不到回放集群(严重度 80/100,置信度 🟡 中)
  • 反馈量 30:8 条记录 8h 内,5 条满分档

🔥最近一个月 Top 问题

按严重度与复发期数排序,已把跨期同类反馈归集;负责人由问题代码锚点对应的 Git 提交历史(blame / 近期主要提交者)反查;数据窗口:最近 30 天(截至 2026-07-27)。

#问题(严重度降序)严重度平台版本负责人问题原因
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 期
70Android1.1.0.9 / 8.3.12.5 / 8.1.2.4唐胜、张威回放入口与录像状态 UI 主要依赖 sdRecordStu/权限,但未同步校验 NO_LOCAL_STOARGE 与 SDCardState=0,导致无存储能力设备仍可能暴露回放预期或状态显示异常。
3在线看不到
1 期
70Android8.3.13.3张威、唐胜NVR 通道预览链路在握手后立即被底层判为 PeerOffLine,APP 按现有逻辑只做快速重试,没有把通道离线与临时连接抖动区分开,最终表现为“在线看不到”。
4设备离线/掉线后无法预览
1 期
70Android · iOS1.1.1.6 / 8.2.2.1 / 8.3.13.3唐胜、张威设备预览链路在收到 TPS_MSG_P2P_OFFLINE 后直接走离线兜底分支,UI 进入“该设备不在线”,而自动恢复逻辑又被离线判断短路,导致用户感知为“掉线后无法再连上”。
5录像回放缺失 — 无 SD 卡的设备被直接引导云存购买(产品设计问题)
1 期
65Android · iOS8.3.12.5 / 8.3.13.3 / 8.3.13.4张威、唐胜、陈宝旺无 SD 卡 + 未开通云存的设备,在 NVR 回放协议响应无效时直接跳转云存购买页,没有任何"为什么没录像"的说明,用户感知是"以前能看现在不能"
6设备二维码模糊/找不到(3 条 8h)
1 期
65—8.3.12.5待定(本期未收敛到单一根因)
7Android NVR 回放/预览偶发不出图,断开重连后恢复
1 期
60Android—唐胜、张威NVR 回放/预览链路在首次 addWatch + 查询录像时间片 阶段存在瞬时失败,UI 侧又把多类失败统一收敛为空/超时,导致用户感知为“不出图,重连才恢复”。
8Android 监控预览 addWatch 失败 + 10 秒循环重试
1 期
60Android8.3.13.3唐胜Android 端 LibImpl.startPlay 把 addWatch 返回的 P2P 断连错误码(-1)通过 if (ret == SDK_CONSTANT.ERR_P2P_DISCONNECTED) ret = 0; 强制归零,导致上层误以为流启动成功,进入 10 秒循环重试;用户看到的"长时间缓冲"实质是 10 秒 × N 次的循环重试视觉感受
9iOS 8.3.12.6 灰度放量新症状 4 期累计扩散
1 期
60iOS8.3.12.5 / 8.3.12.6欧阳荣、谭伟iOS 8.3.12.6 客户端第三方微信登录→绑定手机号→触发滑动验证→重发短信验证码的全链路(BindNewPhoneOrEmailViewController.m:317-378)均正常工作,服务端短信下发接口返回 200 成功,根因在第三方短信通道商下发链路(运营商拦截 / 短信网关失败 / 用户手机短信拦截),非客户端代码问题。
10iOS 8.3.4.3 老版本"网络正常情况下掉线 + 语音提示循环"
1 期
60iOS8.3.12.5 / 8.3.4.3 / 8.3.7待定iOS 8.3.4.3 老版本在网络瞬断时,"网络连接正等待"语音提示无频率限制,导致循环播放;神策 7-1 数据未显示掉线激增,非全量问题。

🔴 问题 1:Harmony 1.1.1.6 摄像头离线/连接不上聚集(详细分析) | 负责人:冉博麟、李国涛

1. 现象与覆盖范围

现象描述(已脱敏):5 个不同 Harmony 用户在 8h 内反映摄像头反复离线或断网后无法自动重连,表现为"Wi-Fi 好用但摄像头显示离线""断网后不能重新联网""老是断网""摄像头通电正常但显示离线"。

涉及反馈:8 条 / 5 distinct users / 5 设备型号 / 1 平台版本

#反馈 ID用户设备型号现象时间
123867018611304483CHZ-AL00断网后不能自动连接16:45
223866718611304483CHZ-AL00为什么断网后不能重新联网16:39
323866317669890345SUP-AL90Wi-Fi 好用但摄像头离线16:10
423866217669890345SUP-AL90(同用户刷屏)16:10
5238661W_XYbdLIiRjzPLR-AL00老是断网16:04
623865415805551851SCA-AL00摄像头通电正常显示离线15:39
723860815324586856PSN-AL00还是连接不上12:45
823860715324586856PSN-AL00(同用户刷屏)12:45

设备型号分布:CHZ-AL00 / SUP-AL90 / PLR-AL00 / SCA-AL00 / PSN-AL00(5 款 HUAWEI)
地区分布:陕西西安 / 山东青岛 / 山东德州 / 安徽马鞍山 / 内蒙古通辽(5 城)
Harmony 版本:1.1.1.6(HarmonyOS NEXT)
App 渠道:全部 Harmony 客户端

严重度评分:100/100(反馈量 30 + 共性 30 + 关键度 40)

  • 反馈量 30:8 条记录 8h 内,>5 条满分档
  • 共性 30:4 维(平台 Harmony / 版本 1.1.1.6 / 设备型号 5 款 / 地区 5 省)≥3 维
  • 关键度 40:设备掉线/远程查看 = 最高档

2. 神策证据(核心数据源)

  • 基线 SiotDevConnectResult(SIOT 设备连接结果):7/21~7/26 日均 103~111 万 UV / 354~391 万 PV,趋势平稳无恶化。7/27 半日 86.43 万 UV(折算全天约 170 万,比 7/26 高 53%,但仅反映 Android/iOS 端的 SIOT 设备活跃度)
  • 按 app_version 分组:8.3.13.3(2186804/天)/ 8.3.1304(911129/天)/ 8.3.12.5(164407/天)—— 未发现 1.1.1.6 Harmony 版本(SiotDevConnectResult 不覆盖 Harmony 客户端),数据仅能间接印证 Android/iOS 端连接正常
  • 重要限制:Harmony 1.1.1.6 用户在神策中没有 SiotDevConnectResult 事件流(Harmony 走另一套 SDK 上报链路),无法直接按 OS=Harmony 拆解连接失败率

置信度评估:🟡 中。神策无法直接给出 Harmony 集群信号(基线只能反向印证"Android/iOS 正常,问题在 Harmony 客户端侧"),需依赖反馈文本 + 代码定位

3. Logan 关键日志(核心数据源)

8h 内 Harmony 反馈的 loganFileDownloadUrl 全部为空(238663/238670/238667/238661/238654/238608/238654 均未提供 Logan)。SKILL.md #4 已知 pattern:Harmony 客户端不在 Logan 收集范围

参考 Logan:238620(HUAWEI ALT-AL10 / Android / 8.3.13.3 / "手机无法连接")13:00 ~ 13:10 共 59233 行,关键证据:

  • -102 错误 415 次(HTTP/HTTPS 服务端失败,主导原因)
  • -101 错误 38 次(网络不可达)
  • ssl_connect 失败 167 次(TLS 握手层异常)
  • TPS_MSG_P2P_OFFLINE dev4gOnline=-1 多次触发(devId 36646860/37329959/36646912/35349098 多个设备)
  • WSManager-Get netty server url failed, code:-102; reConnectCount:1,2,3(netty 服务器获取失败)

关键栈(从 238620 提取的 Android 设备侧 P2P 离线路径):

LibImpl-doMsgRspCB devId=35349098 TPS_MSG_P2P_OFFLINE dev4gOnline=-1
  → AutoResumePlay-TPS_MSG_P2P_OFFLINE devId=35349098
  → PreviewPlayerView-showHelpButton: true  devId=35349098

说明:238620 是 Android 客户端,不是 Harmony。但日志表明 -102 / TPS_MSG_P2P_OFFLINE / Netty 服务端失败的完整路径。Harmony 1.1.1.6 的相同 TPS_MSG_P2P_OFFLINE 信号需要走另一套 Harmony SDK,但 Harmony 没有 Logan 上报

4. 友盟证据

⏸️ 跳过(用户反馈未提"崩溃/闪退/卡死/ANR/黑屏",按 SKILL 流程仅崩溃/ANR 类问题查友盟)

5. TAPD 关联

⏸️ 跳过(无已知 BUG 单号 / 反馈未引用 TAPD,按 SKILL 流程功能性根因分析不查 TAPD)

6. 代码定位(详细)

关键代码锚点:Seetong-App-Harmony/feater/playDevice/src/main/ets/view/ViewPage.ets:226-251

// 设备连接/断开状态监听
private devConnectEvent: DevConnectEvent = (devId: string, status: DeviceConnectStatus) => {
  if (!this.isTop) { return }
  let isUpdate = (devId && (this.currentDevId == devId || this.displayDevIdList.includes(devId)) && !DeviceUtils.isSIOTPlatform(devId))
  if (!isUpdate) { return }
  // 非SIOT设备收到TPS_MSG_P2P_CONNECT_OK进行重新求流
  if (status == DeviceConnectStatus.TPS_MSG_P2P_CONNECT_OK || status == DeviceConnectStatus.TPS_MSG_P2P_NVR_CH_ONLINE) {
    this.devService?.stopPlayDevice(devId)
    ViewPageUtil.playDevice(devId, this.articulation, this.isTop)
    this.getCapacity();
    ...
  } else if (status == DeviceConnectStatus.TPS_MSG_P2P_NVR_CH_OFFLINE || status == DeviceConnectStatus.TPS_MSG_P2P_OFFLINE) {
    console.log('cbw', '监听到设备' + devId + '离线')
    if (this.currentDevId == devId) {
      this.devState = DevState.OFFLINE
    }
    emitter.emit(deviceInfoEvent, {
      data: { 'devId': devId }
    });
  }
}

调用链:Harmony SDK TPS_MSG_P2P_OFFLINE → DevConnectEvent.devConnectEvent → 只设置 OFFLINE 状态 + emit 事件

关键分支:当设备 TPS_MSG_P2P_OFFLINE 时:

  1. ✅ 设置 devState = DevState.OFFLINE(UI 显示离线)
  2. ✅ emitter.emit(deviceInfoEvent) 通知其他组件刷新
  3. ❌ 没有主动重连逻辑(无 setTimeout / 无 addWatch 重发 / 无网络可用监听)

对比 Android 同等实现:Seetong-App-Android/Seetong5.0ForSeetong/Seetong5.0/device_list/src/main/java/com/seetong/devicelist/view/VideoPlayerView.kt:105-127 有明确的"唤醒指令 3s 后进行重连"逻辑(pauserPlay() + autoStartPlay()),Harmony 没有此重连机制

修复方向锚点:

  1. 在 devConnectEvent 的 OFFLINE 分支增加 网络可用时自动重连(参考 Android VideoPlayerView.kt 的 awakenLowPowerDevices + pauserPlay + autoStartPlay 流程)
  2. 或在 Harmony SDK 层监听 Netty/网络可用回调,触发 SDK 重连 TPS_MSG_P2P_CONNECT_OK 后再走 ON 分支

7. 根因结论

  • 置信度:🟡 中(Harmony 无 Logan、神策无 Harmony OS 拆分,证据链有 gap)
  • 一句话根因:Harmony 1.1.1.6 客户端 ViewPage.ets:226-251 设备离线分支缺少自动重连机制,设备进入 OFFLINE 态后只更新 UI,不主动调用 SDK 重连;Android 端 VideoPlayerView.kt:105-127 有等价的"3s 后重连"逻辑但 Harmony 未实现
  • 关键证据链:
  1. 5 distinct users 8h 内报"摄像头离线/断网后无法重连"全部为 Harmony 1.1.1.6
  2. Harmony 客户端 ViewPage.ets:226-251 OFFLINE 分支只设置状态,未触发 SDK 重连
  3. Android 同等逻辑 VideoPlayerView.kt:105-127 有"3s 后重连"实现
  4. 神策基线(SiotDevConnectResult)显示 Android/iOS 端连接正常,问题锁定在 Harmony 客户端侧

8. 建议下一步

  • 分配给:Harmony 端研发(建议陈宝旺对接)—— 1.1.1.6 在 V8.4.0.x 提测当天
  • 优先处理项:
  1. 在 ViewPage.ets:248 增加监听网络可用的回调,网络可用时调用 ServiceManager.getInstance().getService<IDeviceListService>(...)?.reconnectDevice(devId) 或主动 ViewPageUtil.playDevice(devId)
  2. 复用 ReplayPage.ets:436 已有的 addDeviceConnectStatesListener(TPS_MSG_P2P_CONNECT_OK) 模式,注册监听后等待 SDK 回调重连
  • 验证方法:1.1.1.6 灰度包针对 HUAWEI CHZ-AL00 / SUP-AL90 等 5 款机型做"断网→复网"场景回归;观察 SiotDevConnectResult(或 Harmony 等价事件)下 TPS_MSG_P2P_CONNECT_OK 触发率

🟠 问题 2:Harmony 1.1.1.6 看不到回放/报警录像集群(详细分析) | 负责人:李国涛、冉博麟

1. 现象与覆盖范围

现象描述:2 个 Harmony 用户在 8h 内反映录像回放页面无法加载录像,包括"看不到回放是什么问题""看不到报警回放"等。

涉及反馈:4 条 / 2 distinct users / 2 设备型号

#反馈 ID用户设备型号现象时间
1238658W_nslyRWvP9r (13985256525)VYG-AL30看不到回放是什么问题15:48
2238657W_nslyRWvP9r (13985256525)VYG-AL30(同用户刷屏)15:48
3238656W_nslyRWvP9r (13985256525)VYG-AL30看不到回放是什么原因15:47
423864313455232639MIA-AL00怎么看不到报警回放14:48

严重度评分:80/100(反馈量 20 + 共性 30 + 关键度 30)

  • 反馈量 20:4 条 / 2 distinct users 落在 3-5 条档
  • 共性 30:3 维(Harmony / 1.1.1.6 / HUAWEI 品牌 + 回放业务)刚好达标
  • 关键度 30:录像回放(中等关键度)

2. 神策证据(核心数据源)

  • NvrDeviceVideoPlayback(NVR录像回放事件):7/21-7/26 日均 1-2 unique / 29-230 total。该事件量级小,无法直接体现 Harmony 集群信号
  • 神策无法给出 Harmony 1.1.1.6 集群信号(与 TOP 1 同因)

3. Logan 关键日志

所有 Harmony 1.1.1.6 反馈的 loganFileDownloadUrl 全空(238643/238656/238657/238658 均未提供 Logan),按 SKILL.md #4 跳过该数据源

4. 代码定位(详细)

关键代码锚点 1:Seetong-App-Harmony/feater/playDevice/src/main/ets/view/replay/ReplayPage.ets:432-446

// 监听 devId 上线
ServiceManager.getInstance()
  .getService<IDeviceListService>(ServiceManager.SERVICE_MANAGER_IDEVICE_LIST)
  ?.addDeviceConnectStatesListener(this.REPLAY_TAG, this.devId,
    DeviceConnectStatus.TPS_MSG_P2P_CONNECT_OK, async () => {
      this.isWakeUp = false
      this.initDate()  // 设备上线后才重新初始化日期/数据
    })

关键发现:

  • ReplayPage 只在低功耗设备唤醒后 才注册 TPS_MSG_P2P_CONNECT_OK 监听(lowPowerDevice 路径)
  • 普通设备未注册上线监听 —— 如果设备在进入回放页面前处于 OFFLINE 态,回放页面会一直停在"无数据"或空态,不会自动重试

关键代码锚点 2:feater/playDevice/src/main/ets/view/replay/component/SdCardRePlayPage.ets:194

// 设备离线 -- 只在SD卡中用到  --- 目前未赋值

注释暴露:设备离线 状态字段在 SD 卡回放场景下未实现赋值,意味着离线态被静默吞掉

修复方向锚点:

  1. ReplayPage.ets 普通设备(非低功耗)路径同样注册 addDeviceConnectStatesListener(TPS_MSG_P2P_CONNECT_OK),触发 this.initDate() 重新加载回放列表
  2. SdCardRePlayPage.ets:194 的"设备离线"状态需补全 OFFLINE → ON 切换逻辑,否则空态会持续

5. 根因结论

  • 置信度:🟡 中(无 Logan、无 Harmony 神策拆分,但代码定位证据明确)
  • 一句话根因:Harmony 回放页面缺少对设备上线的监听和重试机制,进入回放页时设备若处于 OFFLINE 态则一直空态;且 SD 卡回放页面"设备离线"状态字段未实现赋值
  • 关键证据链:
  1. 2 distinct Harmony 1.1.1.6 用户报"看不到回放"—— VYG-AL30 + MIA-AL00,HUAWEI 原生 HarmonyOS
  2. ReplayPage.ets:432-446 只在 lowPowerDevice 唤醒场景注册上线监听
  3. SdCardRePlayPage.ets:194 注释"目前未赋值"—— 离线状态被静默吞掉

6. 建议下一步

  • 分配给:Harmony 端研发(陈宝旺 / 鸿蒙组)
  • 优先处理项:
  1. 把 ReplayPage.ets:432-446 的 addDeviceConnectStatesListener 从低功耗分支移到普通设备 else 分支共用
  2. SdCardRePlayPage.ets:194 补全设备离线状态赋值(参考 ViewPage.ets:248 的 devState = DevState.OFFLINE 写法)
  • 验证方法:用 HUAWEI VYG-AL00 / MIA-AL00 在断网后进入回放页面,复网后观察是否自动重试加载录像

数据源状态

数据源状态详情
神策✅ 部分可用SiotDevConnectResult 基线正常;但 Harmony OS 未拆分,无法直接拉 Harmony 1.1.1.6 集群信号
Logan❌ 降级全部 7 条 Harmony 1.1.1.6 反馈的 loganFileDownloadUrl 为空(已知 pattern);用 Android 238620 作为参考路径
友盟⏸️ 跳过用户未提崩溃/ANR,按 SKILL 不查
TAPD⏸️ 跳过无 BUG 单号 / 反馈未引用,按 SKILL 功能根因不查
代码定位✅ 完成ViewPage.ets:226-251 + ReplayPage.ets:432-446 + SdCardRePlayPage.ets:194 全部定位

本期扫描全量(全部沉淀到知识库)

#关键词反馈数分类处置
1Harmony 1.1.1.6 摄像头离线/连接异常8🔴 进雷达 TOP 1100 分 → 详细分析见上
2Harmony 1.1.1.6 看不到回放4🟠 进雷达 TOP 280 分 → 详细分析见上
6vivo V2130A "于皓宇" (238669)1🟢 主观/操作误输入排除
7Harmony 帧率设置 bug (238601)1🟡 单设备设备侧 bug,已知模式
8Harmony 还是连接不上 HUAWEI PSN-AL00 (238607+238608)2进 TOP 1已在 TOP 1 内分析
9Android vivo 加载卡60 (238642)1🟡 单设备监测
10Android vivo 对讲无声 (238600)1🟡 单设备监测
11Android HUAWEI 手机无法连接 (238620)1🟡 单设备Logan 提示 -102 服务端
12Android vivo 晚上不清楚 (238648)1🟡 单设备监测
13iOS 8.3.13.4 老是离线 (238576)1🟡 单设备iOS 灰度持续监测
14Harmony 怎么联系人工客服 (238616)1🟢 操作排除
153497 💕 心愿单14🟤 心愿单已收录 14 条心愿单建议
16单字符/无语义反馈5🟢 主观排除
已折叠 3 条普遍性网络问题(含 -102/-101/-1002 与中/英/俄/法/西/葡/土/阿/日多语言网络提示模板,如 Проверьте телефонную сеть、Please check your mobile network);全量明细见同名 Markdown 知识库。

待补证

  • Harmony 1.1.1.6 神策事件流:与神策侧沟通 Harmony 客户端是否单独上报到事件流,便于后续按 OS=Harmony 拆分分析
  • Logan Harmony 接入:建议后续跟 Logan 团队确认 Harmony 客户端是否纳入收集范围
  • 离线重连验证:建议灰度包修复后用 HUAWEI CHZ-AL00 / SUP-AL00 等机型做"断网→复网"场景回归

下一期 = 第76期 = 2026-07-28-H09(明天早上 9:00) 锚点已写入报告末尾


本消息由 Seetong小助手 自动生成,欧阳荣 监督发布。

🗂️历史期次

查看全部历史期次(近 90 天)→