Files
FruitServer/docs/plans/INBOX.md
T

2.2 KiB
Raw Blame History

[已处理] 2026-10-20 | K53-A 详情页首帧直出内容,去掉「先空白背景再出内容」(仅 App 端)

用户指令(2026-10-20,原文):

「现在从首页的短剧标题点进去仍然会闪屏 先显示详情页背景色 然后才显示内容 还是没有修改好」

根因(已定位) drama_detail_view.dart 的 _page() 第一行是 if (logic.loading) return _loading(l10n);:即便是从首页卡片进入(标题、封面、简介、数据都已具备),详情接口未返回前整页被替换成「ink 背景 + AppBar + 转圈」的空白页;接口返回后才渲染真正内容 → 表现为「先闪一下底色,再出内容」。

口径(只改 Flutter,不动后端、不改接口)

  1. 首帧直出:_page() 不再因 logic.loading 整页 loading;直接用 logic.drama(初始即传入的卡片数据)渲染 Header / 数据卡 / 简介 / 标签。
  2. 选集区按需加载:
    • drama.episodes.isEmpty && logic.loading → 选集区显示 6 个骨架格(1:1 圆角块 + 轻微呼吸),Key detail-episodes-loading;
    • 详情失败 → 选集区显示「加载失败 + 重试」,Key detail-episodes-retry,页面其它内容不受影响;
    • 详情成功 → 正常渲染选集网格。
  3. 仅当传入卡片本身没有可用内容(标题与封面都为空)时,才允许整页 loading/失败页;现有 detail-error 等 Key 保留给该场景。
  4. 底部 CTA 在选集未加载时禁用(灰态)并显示 startWatching,详情到达后恢复可点。
  5. 不改 openDetail 的跳转方式(K51-A 已改)。

测试/门禁

  • 新增:进入详情页首帧即可看到 detail-title、detail-poster、detail-stats,且不存在整页 CircularProgressIndicator;
  • 详情加载中选集区显示 detail-episodes-loading;失败显示 detail-episodes-retry 且标题仍在;
  • dart analyze lib test 零告警 + flutter test 全过 + flutter build apk --debug。

流程:从 develop 拉 fix/flutter-k53-detail-first-frame;作者 Zhou Weidong <502333560@qq.com>;--no-ff 合回 develop 并 push;PROGRESS 留痕;真机验收由用户执行。