docs(plans): 记录 K7 轮播与通知实施回执
This commit is contained in:
1 parent
f36fea083b
commit
c43604d725
3 files changed
+278
-1
No files matched your search
+114
-1
@@ -20,7 +20,7 @@
|
||||
|
||||
---
|
||||
|
||||
## [待处理] 2026-10-17 | K7 首页轮播图 + 站内信通知
|
||||
## [已处理·待用户验收] 2026-10-17 | K7 首页轮播图 + 站内信通知
|
||||
|
||||
**用户指令(2026-10-17)**:「现在做首页轮播图及站内信通知」。
|
||||
|
||||
@@ -105,6 +105,119 @@
|
||||
- 每步「叙述 + 命令 + 原始输出 + 解读」追加到 `docs/plans/PROGRESS.md`;完成后停住写回执。
|
||||
- 提交作者与提交者统一 `Zhou Weidong <502333560@qq.com>`。
|
||||
|
||||
### 七、K7 完成回执(2026-10-17)
|
||||
|
||||
**结论**:K7-A 轮播增强、K7-B 站内通知、K7-C 测试验收均完成并停止。
|
||||
未新增接口,未改后端/Web/specs。
|
||||
|
||||
#### 7.1 首页轮播
|
||||
|
||||
- 保持 `feed.banners` 数据源和 `CoverCarousel` 3D 翻转风格。
|
||||
- 4.5s 自动轮播;单张不启动 Timer。
|
||||
- 触摸/拖拽期间暂停,松手恢复。
|
||||
- `active=false` 或 `TickerMode` 不可见时暂停;dispose 取消 Timer。
|
||||
- 底部圆点指示器使用 `onPrimary` / `muted` K5 token,带三语语义标签。
|
||||
- 图片失败复用 `RemoteImage` 并显示图标占位。
|
||||
- 点击继续调用原有 `onOpen`。
|
||||
|
||||
#### 7.2 站内通知
|
||||
|
||||
- 新增 `notice.dart`、`notice_api.dart`、`notice_repository.dart`、
|
||||
`notices_controller.dart` 和 `NoticesPage`。
|
||||
- `GET /app/notices?pageIndex&pageSize=20`,匿名访问。
|
||||
- ID 按字符串解析,`total` 按数字解析。
|
||||
- 首屏、加载更多、空态、失败重试、下拉刷新均已接入;
|
||||
已加载数量 `< total` 时才展示加载更多。
|
||||
- 列表展示标题、原始 `type`、locale 时间、两行摘要。
|
||||
- 详情弹窗展示完整 `content`,保留换行并支持长内容滚动。
|
||||
- 我的页新增“通知”入口;匿名可进入,无登录闸。
|
||||
- `noticeEnabled` 属 `/app/config`,本批未接,登记后续。
|
||||
|
||||
真实 8081 匿名接口验证:
|
||||
|
||||
```
|
||||
$ curl -sS 'http://127.0.0.1:8081/app/notices?pageIndex=1&pageSize=20'
|
||||
{"code":0,"message":"ok","data":{"total":0,"list":[]}}
|
||||
```
|
||||
|
||||
#### 7.3 门禁原始结果
|
||||
|
||||
```
|
||||
$ dart analyze lib test
|
||||
Analyzing lib, test...
|
||||
No issues found!
|
||||
|
||||
$ flutter test test/discover/cover_carousel_test.dart test/notice
|
||||
All tests passed!
|
||||
|
||||
$ flutter test
|
||||
00:14 +284 ~1: All tests passed!
|
||||
|
||||
$ flutter build apk --debug
|
||||
Running Gradle task 'assembleDebug'... 6.9s
|
||||
✓ Built build/app/outputs/flutter-apk/app-debug.apk
|
||||
```
|
||||
|
||||
`~1` 是既有 live watch 用例在 8081 未启动时按机制跳过。
|
||||
|
||||
新增覆盖:
|
||||
|
||||
- 自动轮播、单张无 Timer、交互暂停、active/TickerMode、圆点、图片占位、onOpen。
|
||||
- 通知 API 字符串 ID、controller 分页/空/失败/刷新。
|
||||
- NoticesPage 首屏、加载更多、加载/空/失败三态、详情换行、印尼时间。
|
||||
- 320×568 长标题/长内容不溢出;我的页匿名通知入口。
|
||||
|
||||
#### 7.4 Git
|
||||
|
||||
- 功能提交:`b870956665f5268070c691533cc2a334f2aa7f59`
|
||||
`feat(flutter): 增加轮播自动播放与站内通知`
|
||||
- `--no-ff` 合并:`3e8703b`,已推送
|
||||
`b7b1c50..3e8703b develop -> develop`
|
||||
- author/committer 均为 `Zhou Weidong <502333560@qq.com>`;未操作 `main`。
|
||||
|
||||
#### 7.5 用户真机验证步骤与预期
|
||||
|
||||
1. 打开发现页顶部轮播,等待 4.5 秒。
|
||||
|
||||
预期:自动翻到下一张,圆点同步变化;单张 banner 不会自动循环。
|
||||
|
||||
2. 按住/拖动轮播超过 4.5 秒后松手。
|
||||
|
||||
预期:按住期间不自动翻页;松手后恢复自动轮播;拖拽仍保持 3D 翻转。
|
||||
|
||||
3. 暂时断开图片源或使用失败封面。
|
||||
|
||||
预期:显示深色占位和图片失败图标,不白屏。
|
||||
|
||||
4. 点击当前 banner。
|
||||
|
||||
预期:按原有 DRAMA 跳转逻辑进入详情。
|
||||
|
||||
5. 进入“我的 → 通知”,未登录也可访问。
|
||||
|
||||
预期:显示通知列表;空数据时显示“暂无通知”;断网时显示失败及重试。
|
||||
|
||||
6. 有超过 20 条通知时点击“加载更多”。
|
||||
|
||||
预期:下一页追加到列表,无重复;已加载数量达到 total 后按钮消失。
|
||||
|
||||
7. 下拉刷新,再点击一条长通知。
|
||||
|
||||
预期:刷新后列表回到第一页;详情显示标题、发布时间和完整正文;
|
||||
正文换行保留且长内容可滚动。
|
||||
|
||||
8. 切换 Bahasa Indonesia 查看通知时间。
|
||||
|
||||
预期:时间按印尼 Material 格式显示。
|
||||
|
||||
设备侧截图与真机结果由用户执行。
|
||||
|
||||
#### 7.6 已知边界
|
||||
|
||||
- 无已读/未读、红点、FCM、通知设置。
|
||||
- 不接 `/app/config noticeEnabled`,通知入口当前常驻。
|
||||
- 无独立 banner 接口,未新增首页铃铛。
|
||||
|
||||
---
|
||||
|
||||
## [已处理·待用户验收] 2026-10-17 | K6 客户端 UI:登录页 + 底部导航优化
|
||||
|
||||
Reference in new issue
Block a user