Seetong · Report

🎯 Seetong 问题雷达 09:00 第233期

时间窗口:2026-10-14 17:00:00 ~ 2026-10-15 09:00:00(Asia/Shanghai)

📌TL;DR 核心要点

  • 🔴 iOS / Android 8.4.1.6「报警回放看不了」跨端聚集:5 条独立反馈覆盖 4 个机型、4 个地区,全部带可读 Logan,且均集中在本窗口凌晨 02:00~05:15 的 3 小时内(严重度 66 / 100,置信度 中)——反馈 257345 / 257346 为同一 iPhone 17.1.1 用户在 33 秒内连提 2 次;257341(刚果金金沙萨)、257344(江苏宿迁)同版本同日,跨端跨地域分布排除单机偶发;但 Logan 覆盖时段与反馈时刻不重合,暂不能确证失败点
  • 🟠 iOS 8.4.1.6 重置密码失败并回显原始错误码 30000126(登录 by 三方 SDK 的 token 已过期)(严重度 60 / 100,置信度 中)——反馈 257356 原话即带 重置密码失败(30000126),代码链两端均把该错误码当作用户文案直接展示:iOS TPS_CommonUtil.m:281 映射为「通过code获取的token失效」,最终落进 %@(%zd) 模板;Android AccountCodeUtils.kt:488 同样映射后拼 ($code)。神策 ForgetPassword 事件近 7 天 error_code=30000126 达 996 次 / 192 用户,说明这不是单点
  • 现象描述:用户从报警消息进入回放,界面打不开或看不到画面;部分用户同时描述进入消息页后界面卡住、无法操作。所有反馈都强调「升级后」出现,未升级前正常。

🔥最近一个月 Top 问题

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

#问题(严重度降序)严重度平台版本负责人问题原因
1升级后回放体验整体退化
4 期 · 18 条反馈
85Android · iOS8.4.1.6 / 8.3.14.2唐胜、许源、欧阳荣、谭伟8.4.1.6 对回放链路做了多处改动(时间条 UI、通道切换进度对齐、报警-录像联动),导致回放体验多点退化;Logan 显示取流层无崩溃,问题在"UI/状态对齐 + 报警录像关联"而非连接失败。
2KMP 回放页未申请屏幕常亮,回放中手机自动息屏
10 期 · 25 条反馈
84Android · HarmonyOS8.4.1.6 / 8.4.1 / 8.4.2陈宝旺、唐胜、谭伟、张威KMP 回放页的屏幕常亮能力已在代码中完整实现(KMP 公共层 → 桥接层 → Android 宿主层齐备),但承载该实现的提交只落在 feature_v8.4.2 一条分支上,feature_v8.4.4、master、hotfix_v1.1.1 全部不含,因此所有已发布版本(Android 8.4.1.6 / HarmonyOS 1.1.1.11)在运行时都走不到 FLAG_KEEP_SCREEN_ON,回放过程中发生系统级息屏。
3HarmonyOS 1.1.1.11 回放 / 监控链路不可用连续第 6 期聚集
13 期 · 127 条反馈
72HarmonyOS1.1.1.11 / 1.1.1 / 1.1.1.6陈宝旺、冉博麟、唐胜、李国涛待定——HarmonyOS 1.1.1.11 的回放 / 监控链路存在跨机型跨地区的选择性失败,但由于 HarmonyOS 端 Logan 上报链路自 2026-09 起持续缺失(连续 6 期 0 条可下载),根因无法从客户端日志侧确认,当前只能确认「影响面真实存在且在扩大机型覆盖面」。
4KMP 卡回放取「当天录像」时走云回放分支,失败后无超时兜底并反复重试
1 期 · 4 条反馈
71Android8.3.11.3 / 8.4.1.6陈宝旺、谭伟KMP 回放页在选择 Tab 时只信设备记忆、不信设备能力,把 supportCloud=false 的设备硬切到云回放 Tab 并以「前一天」初始化;云链路从未 prepared(currentVideoUrl 空、cloudPrepared=false),失败事件 result=0 又恰好落入 result<0 的无退避重试分支,同时 SD 异常态在非 WiFi IPC 上被 return NONE 吞掉——三者叠加,用户既看不到当天录像也收不到失败提示,且失败状态被 saveLastPlaybackTab(tabIndex=1) 固化到下一次。
5iOS 灯光配置「提示失败 / 实际成功」——`NetworkIndicatorEnable="-1"` 非法值导致 1521 返回 -1
1 期 · 3 条反馈
68iOS8.4.1.4 / 8.4.1.6欧阳荣、谭伟iOS 端把 1301 + 1108 + 1521 三条独立协议的结果汇聚到同一个回调 block(UserClient.mm:1504 / 5091 / 5099),任一条失败即判定整次保存失败;当 1521 携带设备并不支持的 NetworkIndicatorEnable="-1" 字段时返回 Result="-1",UI 因此报「配置失败」,而 1301 / 1108 已生效 → 用户看到「提示失败、实际成功」。
6Android 8.4.1.6 进入监控长期「一直加载」——`add_watch_result=-1` 连续失败 40 次、首帧迟至 105 秒
3 期 · 10 条反馈
66Android · iOS8.4.1.6唐胜、张威、谭伟、欧阳荣进入监控页时 P2P 通道尚未建立,客户端在 105 秒窗口内以约 10 秒为周期反复 addWatch(返回 -1)→ stopWatch 空转,且无首帧超时兜底,用户侧表现为「一直加载」。
7iOS 回放「当前同时播放人数已达上限」误触发——NVR 主设备与通道共享 `cloudId` 导致额度自占
1 期 · 1 条反馈
64iOS8.3.14.3 / 8.4.1.6欧阳荣、谭伟、位冬iOS 端 cloudId 被定义为「NVR 主设备与全部通道的公共分组键」(Camera.h:500 / STDeviceListModel.m:657),回放页又固定以 cameraArray.firstObject 作为回放上下文(STPlaybackVC.m:6046-6048),使单用户单设备场景下也可能同时占用「主设备会话」与「通道会话」两份 NVR 并发额度;一旦 NVR 返回 -7 / -14,STPlaybackVC.m:1422 立即把它翻译成「当前同时播放人数已达上限」并强制停止回放、隐藏功能栏,用户表现为「回放看不了」。
8Android 8.4.1.6「不存录像了」——设备侧存储能力位缺失
2 期 · 6 条反馈
63Android · HarmonyOS · iOS8.4.1.6 / 1.1.1.11唐胜、张威待补证——该 HONOR BRC-AN00 用户的设备在能力协商中未声明本地存储能力,客户端据此既不提示也无法确认存储可用,表现为「不存录像」;需设备端确认存储介质状态与固件行为。
9Android 8.4.1.6 卡回放开启 2 倍速后画面丢帧、时间轴跳 10 余秒
2 期 · 2 条反馈
62Android8.4.1.6陈宝旺、唐胜卡回放链路对时间轴滚动中间值未做节流(onTimeChanged 直通),且帧回调的去重粒度为固定 1 秒,在 2 倍速下单帧时间跨度已超过去重窗口,两者叠加使刻度尺与文案出现十秒级跳变;画面丢帧则需由播放器侧 controlNvrReplay(..., NVR_ACTION_FAST, speed, "") 的取流策略确认。
10云录像漏录人(AI 人形录像缺失)
1 期 · 2 条反馈
62Android8.3.14.2 / 8.4.1.6陈宝旺、唐胜云录像片段的结束判定与人员活动尾段不匹配,导致"人走后最后一段"容易被提前截断;该链路缺少线上埋点,无法量化发生面。

🔴 问题 1:iOS / Android 8.4.1.6「报警回放看不了」跨端聚集(4 机型 / 4 地区 / 凌晨 3 小时窗口) | 负责人:唐胜、欧阳荣、位冬、陈宝旺

1. 现象与覆盖范围

  • 现象描述:用户从报警消息进入回放,界面打不开或看不到画面;部分用户同时描述进入消息页后界面卡住、无法操作。所有反馈都强调「升级后」出现,未升级前正常。
  • 涉及反馈:257345、257346(iOS 8.4.1.6 / iPhone 17.1.1 / 山东聊城冠县,同一用户 05:13:44 与 05:14:17 连提 2 次)、257341(Android 8.4.1.6 / vivo V2561A / 刚果金金沙萨)、257344(Android 8.4.1.6 / vivo V2548A / 江苏宿迁泗阳)、257343(iOS 8.4.1.6 / iPhone 27.0 / 江苏徐州贾汪,原话「看消息…动都动不了」)
  • 覆盖维度:2 平台(iOS + Android)× 4 机型 × 4 地区(山东 / 江苏 / 安徽 / 刚果金)× 1 版本(8.4.1.6)= 4 个维度
  • 时间聚集性:5 条全部落在 2026-10-15 02:01 ~ 05:14 的 3 小时 13 分内
  • 对比参照:同窗口 Android 8.4.1.6 另有 257274(安徽亳州,iOS,19:35)、257252(陕西西安,Android,18:05,仅报「加减时间段反应慢」)
  • Logan 可用性:5 / 5 全部提供 Logan(本窗口 HarmonyOS 反馈则 16 / 16 无 Logan,形成鲜明对比)
  • 严重度评分:66 / 100(反馈量 20 / 共性 30 / 关键度 30)
  • 反馈量 20:窗口内 5 条同义反馈(3~5 条档)
  • 共性 30:涉及 2 平台 × 4 机型 × 4 地区(≥3 维,满分)
  • 关键度 30:录像回放类,取 30(低于设备掉线/远程查看的 40)

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

  • 事件可用性核验:Login 事件近 8 天有稳定触发(10-08 ~ 10-14 日均为 76.6 万 ~ 86.2 万次 / 53.8 万 ~ 60.8 万用户),说明神策取数链路正常,下面的缺口是埋点覆盖问题而非查询问题
日期触发用户触发次数
2026-10-08583,627837,606
2026-10-09582,134829,463
2026-10-10580,546824,932
2026-10-11589,382838,530
2026-10-12607,998862,472
2026-10-13567,026802,039
2026-10-14538,460765,789
  • 关键缺口:报警回放链路未找到可用的服务端失败分流事件。本期尝试以 Login 的 login_fail_type 做维度校验时,神策直接报 ImpalaSQLException: Could not resolve column/field reference: 'login_fail_type' —— 该字段在服务端不存在。因此问题 1 无法给出 error_code 分布与漏斗断点,这是本期最重要的证据边界,已在「待补证」写明补法。
  • 趋势判断:无法下趋势结论(缺少对应事件),不得用 Login 的量级代替回放链路。

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

  • 反馈 257346(iOS,1106607 bytes / 30680 行):日志起始 2026-10-11 10:07:45,命中内容集中在 10-11 与 10-16 之外的预置窗口,可见 AlarmMessagePage / MessageCenterPage 的 kuikly 性能行(Memory in use: 38.673MB)、TPS_MSG_RSP_ADDWATCH 握手回执(error:0)、InitDecodePortLog 一次解码端口异常:

> [L608] InitDecodePortLog: uid:31513316 init decode video param error! Video Params - width: 0, height: 0, framerate: 0, nMediaType: 0x0000
—— 该行说明存在一路取流拿到了全零的视频参数,但发生在预览链路且在本次日志早段,不能直接归因到报警回放入口。

  • 反馈 257344(Android,108169 bytes / 3901 行):日志起始 2026-10-15 01:10:35,是本次唯一覆盖凌晨时段的样本,可见 AlarmMessagePage 首屏加载全链路成功:

> [L556] AlarmMessagePageVM:alarm list updated, date=2026-10-15, ..., hasMore=false, count=100
> [L560] AlarmMessagePage:loadInitialData network-first success elapsedMs=144 rowCount=2
—— 消息页本身加载正常(144 ms),queryAlarmMessages 一次拉回 1 条(itemCount=1);日志未见任何 onReplayError / play failed 或回放启动失败记录,说明该用户在本段日志内没有进入回放页(或回放页无日志上报)。

  • 反馈 257343(iOS,1019001 bytes / 558880 行):可见 AlarmMessagePage 的 kuikly 页面创建([KLog][AlarmMessagePage]:startObserveOnlineAlarmMessages source=created)、queryAlarmMessages success ... itemCount=100 与 MessageThrottle reloadTableView,未见卡死堆栈或主线程阻塞证据。
  • Logan 结论:3 份样本都没有捕获到报警回放的失败调用,失败链路发生在日志覆盖时段之外。因此本问题的根因不能从 Logan 直接读出,置信度只能给「中」。

4. 代码定位(详细)

  • 涉及模块:KMP 回放页(Android 宿主)/ iOS 消息模块
  • 关键类与锚点:
  • Android 报警回放入口:AlarmBridgeApiImpl.kt:241-264(openPlaybackPage)→ PlaybackPageRouter.kt:44-80(openPlaybackPage)→ :58 的跨端开关 shouldOpenCrossPlatformPlayback() → openKmpPlaybackPage
  • 跨端开关判定:PlaybackPageRouter.kt:88-96
val config = Global.getUserConfig() ?: return false
val configText = config.crossPlatformConfig?.takeIf { it.isNotBlank() } ?: return false
return JSONObject(configText).optBoolean("and", false)
  • 关键缺陷锚点:openKmpPlaybackPage(:101-141)构造页面参数时,isCloudReplay 一行被注释掉:
put("fromAlarmReplay", fromAlarmReplay)
put("alarmReplayTime", alarmReplayTime)
//put("isCloudReplay", isCloudReplay)   // ← 被注释

而 KMPBridgeModule.kt:626 读取该字段并留了默认值 true:

isCloudReplay = userData?.optBoolean("isCloudReplay", false) ?: false,

→ 参数在 KMP 路径上被静默丢弃,回放类型退化为默认值,与原生 legacy 路径(PlaybackPageRouter.kt:156-163 明确 putExtra(Constant.EXTRA_IS_CLOUD_REPLAY, isCloudReplay))行为不一致。

  • 回放启动:RecordPlayerView.kt:245(recordPlayCallback?.onStartReplay(device))与 :249-258(IO 线程 startNvrReplay + 重试 + onReplayError)
  • 底层调用:LibImpl.java:803-840(startNvrReplay → P2PNvrReplayByTime / LocNVRReplayByTime)
  • 调用链:AlarmFragment2.java:1839 / MainActivity2.java:1411 → PlaybackPageRouter.openPlaybackPage → openKmpPlaybackPage → Kuikly PlayBackPage → KMPPlayBackVideoView.playVideoByTime(:223-229)→ RecordPlayerView.startReplay → startNvrReplay
  • 关键分支:recordType == 0 时被改写为 Integer.MAX_VALUE(LibImpl.java:826-828);枪球设备 audioEnable 走 isGunDevice 分支 —— 这两条路径都可能让"报警录像"这类特定录像类型的检索范围与预期不一致
  • 修复方向锚点:
  1. 优先:恢复 PlaybackPageRouter.kt:120 的 isCloudReplay 透传(或明确 KMP 侧不再需要该参数并删除消费点,二者必须一致)
  2. KMPBridgeModule.kt:626 的默认值需与原生路径一致,避免"字段缺失 = 默认 true"这种隐式语义
  3. 报警回放入口需补失败可观测性:openAlarmPlaybackPage 目前失败只写 Log.e(KMPBridgeModule.kt:633),未接埋点

5. 根因结论

  • 置信度:🟡 中
  • 一句话根因:报警回放在 Android 上已切到 KMP 路径,但 KMP 路径丢掉了 isCloudReplay 参数(PlaybackPageRouter.kt:120 被注释),与原生路径行为分叉;叠加该链路没有任何服务端失败埋点,导致用户看到"看不了"却无从定位。
  • 关键证据链:反馈跨端跨地域聚集(5 条 / 4 机型 / 4 地区 / 1 版本)+ 代码层面参数透传缺失(已定位到行)+ 神策字段缺失导致失败分布不可查 —— 三者互相印证的是「可观测性缺口」,而不是某一处崩溃。
  • 明确不成立的推断:不得据此认定「8.4.1.6 回放必然失败」;257344 的 Logan 显示消息页加载正常(144 ms),说明不是全链路不可用。

6. 建议下一步

  • 分配给:唐胜(KMP 回放页 owner,RecordPlayerView.kt / KMPPlayBackVideoView.kt 近期提交者;PlaybackPageRouter.kt 亦由其 2026-07-31 feat:优化回放页面跳转数据内容 引入)
  • 优先处理项:
  1. 复核 PlaybackPageRouter.kt 的 isCloudReplay 为何被注释,确认是临时调试残留还是有意为之;给出恢复或显式废弃的结论
  2. 为报警回放入口补失败埋点(openAlarmPlaybackPage 失败分支目前只在 Log.e)
  • 验证方法:回归用例覆盖「报警消息 → 卡回放」在云回放与本地录像回放两种类型下的跳转参数一致性;回访 257345/257346(同一用户,留存意愿强)

🟠 问题 2:iOS 8.4.1.6 重置密码失败并回显原始错误码 30000126 | 负责人:位冬、谭伟、许源、唐胜

1. 现象与覆盖范围

  • 现象描述:用户一键重置密码失败,界面直接弹出「重置密码失败(30000126)」——括号里是服务端原始错误码,未翻译成用户可理解的文案。
  • 涉及反馈:257356(iOS 8.4.1.6 / iphone 26.3.1 / 山东潍坊 / 06:07:26,带 Logan 与文件日志)
  • 严重度评分:60 / 100(反馈量 10 / 共性 20 / 关键度 30)
  • 反馈量 10:窗口内 1 条直接反馈
  • 共性 20:涉及 1 机型 × 1 版本 × 1 地区,但神策侧显示跨版本高频(见下),故不取最低档
  • 关键度 30:账号可恢复性属于中高关键路径(用户无法自行找回密码 = 账号直接不可用)

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

  • 事件:ForgetPassword(忘记密码全流程埋点,STResetPasswordSensor.m:150 上报)
  • 近 7 天(2026-10-08 ~ 10-14)整体量:
日期触发用户触发次数
2026-10-0811,01215,931
2026-10-0910,58515,378
2026-10-1010,68315,700
2026-10-1110,95116,143
2026-10-1210,62015,404
2026-10-1310,18114,523
2026-10-149,97414,822
  • error_code=30000126 分布(近 7 天累计):996 次 / 192 个用户
  • 对照其它错误码同窗口量级:30000211 验证码错误 3,580 次 / 1,425 用户;30000212 验证码过期 1,408 次 / 380 用户;30000203 账号未注册 22,157 次 / 11,432 用户
  • 即 30000126 不是尾部偶发,而是稳定占比的错误类型(约占非 200 错误的 2.6%)
  • 重置方式分布(近 7 天):一键重置 47,050 次 / 36,090 用户;手机号重置 59,058 次 / 39,179 用户;邮箱重置 1,690 次 / 602 用户

—— 一键重置占总量约 43%,而 30000126 正是一键重置专属错误码(见下),影响面不可忽略

  • 趋势:7 天内日活稳定(9,974 ~ 11,012 用户),未见爆发,属长期存在的稳定缺陷而非新版本回归

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

  • 反馈 257356(iOS):该用户提供 OBS 文件日志(1498424 bytes),日志起始 2026-02-07 11:32:15
  • 可见的关键上下文(同一账号 18206441777 / user_id 40746506 在多个时段反复冷启动):

> [L233] 2026-02-11 20:41:40.732 Seetong_tps[6470:2309899] -- 登录流程 -- AppDelegate -- configRootVC - didFinishLaunchingWithOptions --
> [L282] 2026-02-11 20:41:40.971 ... 收到刷新token回调 - 数据不包含 NULL 终止符,可能引发错误。

  • 重要边界:日志时段为 2026-02 至 2026-10 的长跨度历史堆积,未直接命中 2026-10-15 06:07 的这次重置密码请求,也没有命中 30000126 的失败响应体。因此本问题的 Logan 只提供了环境上下文,未提供失败瞬间证据。
  • 可用的旁证:[L52] 与 [L282] 两处一致的 数据不包含 NULL 终止符,可能引发错误。 提示 token 回调解析存在已知告警,官方 SDK 注释自身即标注"可能引发错误",与 token 过期类错误同源。

4. 代码定位(详细)

  • 涉及模块:iOS Classes/Login/Controller、Tools/TPS_CommonUtil;Android login/src/main/java/com/seetong/login/utils
  • 关键常量定义:
  • iOS:Tools/NetworkManager/STResponseModel.h:88 STRequestRegisterErrorCodeTokenExpire = 30000126, // token已过期
  • Android:login/src/main/java/com/seetong/login/utils/AccountCodeUtils.kt:95 const val ERROR_ONE_KEY_TOKEN_EXPIRE = 30000126,注释「本机号码-授权token已过期」
  • 调用链(iOS):

STForgetPwdViewController.mm:711(kAPIResetPwdNumberCheck 本机号码校验)→ onFailure → :734-745 拼 forget_reset_password_fail(%zd) → STLogManager handleErrorWithCode: 上报
STLoginViewController.m:277(同接口,登录页入口)→ onFailure → :303-309 同款拼接
STOneKeyResetPwdViewController.m:138(kAPIResetPwdLocalNumber 一键重置提交)→ onFailure → :175-182 同款拼接
TPS_CommonUtil.m:281(getLocalRegisterCodeErrorText)把该码映射为 login_by_thirdsoft_err_invalid_code_token
zh-Hans.lproj/Localizable.strings:1167 → "通过code获取的token失效"

  • 调用链(Android):

AccountCodeUtils.kt:488 ERROR_ONE_KEY_TOKEN_EXPIRE -> tips = context.getString(R.string.login_by_thirdsoft_err_invalid_code_token)
:505 return "$tips($code)" ← 错误码被无条件拼进用户文案

  • 关键分支:iOS 侧 getForgotPwdErrorCodeText:(TPS_CommonUtil.m:388-407)没有覆盖 30000126 分支,落到 else 兜底:
return [NSString stringWithFormat:@"%@(%zd)",STRING(@"network_weak_hint", @""),errorCode];

该兜底在语义上把"授权 token 过期"误报为"网络问题",与 STOneKeyResetPwdViewController.m:175-182 走 forget_reset_password_fail(%zd) 的路径文案不一致(同一错误码在不同入口显示不同标题)。

  • 修复方向锚点:
  1. TPS_CommonUtil.m:388-407 增加 30000126 显式分支,给出可操作文案(如「本机号码校验已过期,请重新获取」)并提供重试入口,而非仅提示失败
  2. 底层修复:一键重置依赖第三方闪验 SDK 的授权 token,STLoginViewController.m:249 已存在 innerError 处理与 [[UserClient shareUserClient] init_fc] 重新初始化逻辑,但 token 过期时没有触发重新初始化,只是弹提示 —— 这是让用户「卡死在同一个错误」的直接原因
  3. Android 侧 AccountCodeUtils.kt:488 同上,需统一跨端文案与重试行为

5. 根因结论

  • 置信度:🟡 中
  • 一句话根因:一键重置密码依赖第三方闪验 SDK 的授权 token,token 过期(30000126)时 App 只弹原始错误码、不重置校验链、不给重试入口,用户被永久卡在同一失败态;且 iOS 兜底分支还把该错误误述为"网络问题"。
  • 关键证据链:反馈原文直接携带错误码(用户可见)+ 神策 ForgetPassword.error_code=30000126 近 7 天 996 次 / 192 用户(长期稳定)+ 代码两端均确认 (%code) 拼接展示 —— 三条独立证据互相印证。
  • 保留意见:Logan 未命中失败瞬间,无法排除"该用户另有并发问题";但代码与埋点证据已足以定性。

6. 建议下一步

  • 分配给:位冬(STForgetPwdViewController.mm / STOneKeyResetPwdViewController.m / 忘记密码埋点近期提交者);Android 侧 唐胜(AccountCodeUtils.kt 的 30000126 分支由其 2026-03-12 引入)
  • 优先处理项:
  1. iOS 补 30000126 的显式文案 + 重试入口,消除 network_weak_hint 误述
  2. 一键重置失败时触发闪验 SDK 重新初始化(复用 STLoginViewController.m:249 已有模式),而不是直接终止
  • 验证方法:构造 token 过期场景(等待或篡改本地 token 缓存)走一键重置,确认提示可理解且可重试成功;上线后观察 ForgetPassword.error_code=30000126 的日计数是否下降

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

Markdown 里保留全部反馈(含 -102 等网络问题);HTML 呈现时渲染器会自动折叠 🟣 普遍性网络问题
(含中/英/俄/法/西/葡/土/阿/日多语言网络提示模板),只展示更有价值的条目,无需在本段手工删减。
#关键词反馈数分类处置
2报警回放·报警录像不可看5🔴 进雷达详细分析见问题 1
3重置密码失败(30000126)1🟠 进雷达详细分析见问题 2
5回放/录像其它4🟡 单点待补证已排除(含 257252 加减时间段反应慢、257287 不录像)
6声音报警异常3🟡 单点待补证已排除(HarmonyOS 全部无 Logan)
7卡顿/消息页1🟡 单点待补证并入问题 1 观察(257343)
8通知接收1🟡 单点待补证已排除
9付费/扣费疑问1🟤 咨询建议已排除
10咨询/建议(连接、分享、内存等)4🟤 咨询建议已排除
11无效文本(乱码、纯符号、情绪宣泄)4🟢 无效文本已排除
12其它(版本吐槽、参数串等)6🟢 无效文本已排除
已折叠 2 条普遍性网络问题(含 -102/-101/-1002 与中/英/俄/法/西/葡/土/阿/日多语言网络提示模板,如 Проверьте телефонную сеть、Please check your mobile network);全量明细见同名 Markdown 知识库。

本期重点反馈明细(非网络类,按时间倒序)

ID时间平台版本机型地区反馈摘要Logan处置
25736610-15 07:39Harmony1.1.1.11HUAWEI HED-AL00宁夏银川拍查了所有问题都好着呢,还是离线✗🟡 待补证
25736410-15 07:36Android8.4.1.6HUAWEI ADA-AL00湖北荆州不在线无法工作✓🟡 待补证
25736110-15 07:08Harmony1.1.1.11HUAWEI CHZ-AL00黑龙江摄像机失去操作功能✗🟡 待补证
25735610-15 06:07iOS8.4.1.6iphone 26.3.1山东潍坊重置密码失败(30000126)✓🟠 问题 2
25735510-15 06:05Harmony1.1.1.11HUAWEI MIA-AL00河北邯郸声音报警设置一次却连响五次✗🟡 待补证
25735410-15 05:53Harmony1.1.1.11HUAWEI MIA-AL00河北石家庄声音报警设置一次却喊五次✗🟡 待补证
25734610-15 05:14iOS8.4.1.6iPhone 17.1.1山东聊城报警回放不能看✓🔴 问题 1
25734510-15 05:13iOS8.4.1.6iPhone 17.1.1山东聊城报警看不了✓🔴 问题 1
25734410-15 05:10Android8.4.1.6vivo V2548A江苏宿迁升级后报警里看不了视频,看视频会熄屏✓🔴 问题 1
25734310-15 04:09iOS8.4.1.6iPhone 27.0江苏徐州看消息看不了,动都动不了✓🔴 问题 1(观察)
25734110-15 02:01Android8.4.1.6vivo V2561A刚果金金沙萨升级后看不了报警录像✓🔴 问题 1
25732610-15 00:30Harmony1.1.1.11HUAWEI HOP-AL10—关闭所有声音还经常叫,严重扰民✗🟡 待补证
25732510-15 00:28iOS8.4.1.6iPhone 15.8.3山东青岛e30 电脑客户端及 NVR 需付费观看✓🟤 商业化策略
25732310-15 00:14Harmony1.1.1.11HUAWEI HED-AL00河北廊坊总是莫名离线✗🟡 待补证
25732110-14 23:51Android8.4.1.6OPPO PKD110安徽宿州用网线联结不上✓🟡 待补证
25730010-14 21:22Harmony1.1.1.11HUAWEI ALN-AL00—无法接收通知✗🟡 待补证
25729810-14 21:08Android8.0.0.7HONOR PCT-AL10陕西榆林无线外网连接成功却显示设备离线✗🟡 待补证
25728710-14 20:17Android8.4.1.6HONOR ANY-AN00河北石家庄不录像了✓🟡 待补证
25728610-14 20:14Harmony1.1.1.11HUAWEI CHZ-AL00—鸿蒙系统摄像头老闪烁✗🟡 待补证
25727910-14 19:56Android8.4.1.6OPPO PMK110浙江温州这个版本有问题✓🟢 无效文本
25727410-14 19:35iOS8.4.1.6iPhone 16.0.1安徽亳州App 卡,报警回放很卡,想改回以前✓🔴 问题 1(关联)
25725210-14 18:05Android8.4.1.6OnePlus PGKM10陕西西安回放加减时间段反应慢✓🟡 待补证
25724910-14 17:40Harmony1.1.1.11HUAWEI SLG-W10—华为平板切换摄像头存在 bug✗🟤 建议
25724210-14 17:02Android8.3.14.2vivo V2354A—关闭第三方广告✗🟤 建议

HarmonyOS Logan 覆盖情况(第 12 期连续零覆盖)
本窗口 HarmonyOS 反馈 16 条,Logan 提供数 0 条(0 / 16)。这已是连续第 12 期 0 覆盖,T-20261008-142800-9c1e 建议由 P1 提级为团队级阻塞项——HarmonyOS 侧任何问题都只能靠文案聚类,无法做根因分析。


任务账本联动

任务 ID标题状态处置
T-20261015-090316-0dda核查 iOS 8.4.1.6 一键重置密码在授权 token 过期时无重试与恢复(30000126)P1 / captured本期新建(问题 2),归属 位冬 / 唐胜
T-20260926-170258-2226排查 HarmonyOS 1.1.1.11 实时预览与回放大范围不可用P1 / captured不涉及,本窗口 Harmony 无回放类反馈(仅 257371「视频正常,回放没有」1 条且无 Logan)
T-20260926-170258-576a核查 Android 8.4.1.6 KMP 回放页缺少屏幕常亮导致回放熄屏P1 / captured本期新增证据:257344(vivo V2548A / 江苏宿迁)同时反馈「看视频会熄屏」,为该问题第 3 期;仍属未修复状态
T-20261014-090647-bbbe核查 Android 8.4.1.6 KMP 卡回放误报播放失败:startReplay 与失败事件竞态P1 / captured不涉及,本期 Logan 未见 onReplayError / play failed
T-20261014-090651-44e1核查 iOS 8.4.1.6 报警消息列表卡顿P1 / captured本期追加证据:257343(iPhone 27.0)「看消息…动都动不了」、257274(iPhone 16.0.1)「App 卡…很卡」,为该问题第 2 期
T-20261014-090651-0bee核查 HarmonyOS 1.1.1.11 设备频繁离线且断电不恢复P1 / captured延续观察,本期 257366 / 257323 同族但无 Logan
T-20261008-142800-9c1e核查 HarmonyOS Logan 上报链路缺失P1 / captured沿用,本期为第 12 期 0 覆盖;建议提级为团队级阻塞项
T-20261013-090000-a1b2核查 Android 8.4.1.6 进入监控首帧迟至 105 秒、add_watch_result=-1 空转P1 / captured不涉及,本期窗口无首帧迟滞反馈
说明一:问题 1 未新建任务,因其作为「KMP 回放页参数透传不一致 + 回放链路缺埋点」的新形态,与 T-20261014-090647-bbbe(失败事件竞态)根因不同但同属 KMP 回放链路,本期按独立观察项记录,下期若再现即独立建单。
说明二:问题 1 与 T-20260926-170258-576a(回放熄屏)虽同窗口出现于 257344 同一条反馈,但一个是"看不了"、一个是"熄屏",按 skill 规则分开归属,未合并。

数据源状态汇总

数据源状态说明
反馈平台✅ 正常total=134 / fetched=134 / complete=true,覆盖完整 16h 窗口
心愿单✅ 正常total=5318 / fetched=300 / complete=false(安全上限 300),仅用于排除产品建议型反馈,不影响本期结论
神策 Login✅ 正常7 天稳定,用于链路健康度核验
神策 ForgetPassword✅ 正常支持 error_code / reset_way / date 分组,问题 2 的核心证据
神策 login_fail_type❌ 字段不存在报 Could not resolve column/field reference;该字段在服务端未定义,已在报告中显式标注,未据此下任何结论
Logan(iOS / Android)⚠️ 部分有效5 份相关样本均可下载,但均未覆盖失败瞬间;仅提供环境上下文
Logan(HarmonyOS)❌ 零覆盖16 条反馈 0 份日志,连续第 12 期
代码定位✅ 正常iOS / Android / KMP 三个仓库均在标准路径可读
友盟⏭️ 未调用本期无崩溃 / ANR / 闪退类反馈,按 skill 规则不查

心愿单亮点

心愿单 ID平台 / 版本诉求价值判断
5318Android / 8.4.1.6有车牌识别功能吗⭐⭐ 需求存在但属设备能力范畴,非 App 侧
5314HarmonyOS / 1.1.1.11项目管理里直接推送售后/托管消息给客户确认⭐⭐⭐ 降低客户操作门槛,可提升托管转化
5313Android / 8.4.1.6保存天数多一些,想看以前的录像⭐⭐ 与云存储付费项强相关
5309iOS / 8.4.1.6电脑端及 NVR 录像机需付费观看,希望取消⭐⭐ 商业化策略反馈,与本期 257325 同源
5302Android / 8.3.14.2报警设置过于繁琐,双目需调 12 个地方⭐⭐ 设置链路简化,降低误配率

待补证

  1. 报警回放链路缺埋点(问题 1 最大盲区):需在 openAlarmPlaybackPage 失败分支(KMPBridgeModule.kt:633)与 startNvrReplay 返回值(RecordPlayerView.kt:249-258)接入服务端可查的埋点,否则下期仍无法给出失败分布与漏斗断点。
  2. Logan 时段与反馈时刻不重合:257346 / 257343 / 257356 三份日志均未覆盖失败瞬间。下次 run 应优先对反馈时间后 30 分钟内再次上传日志的用户抽样,或推动 Logan 上报策略改为"反馈提交时强制追加最近 10 分钟缓冲"。
  3. isCloudReplay 参数注释的意图未确认:PlaybackPageRouter.kt:120 被注释是临时调试还是有意废弃,需 owner 确认后才能定修复方案。
  4. login_fail_type 字段不存在:已确认服务端无此字段,后续不要再以该字段做维度拆分;如需登录失败分流,应先确认真实字段名(可参考 AccountCodeUtils.kt 中的错误码常量表)。
  5. HarmonyOS Logan 零覆盖连续 12 期:需服务端 / 客户端共同定位上报链路断点,已建议提级。
  6. 问题 2 的失败瞬间证据:建议回访 257356 用户(山东潍坊 / iOS 8.4.1.6),在其复现一键重置时即时上传日志。

下一期 = 第234期 = 2026-10-15-H17(今天下午 17:00;窗口 今日 09:00 ~ 17:00)

🗂️历史期次

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