docs(plans): 留痕 K34-C 榜单新剧预约页
This commit is contained in:
1 parent
f73efc8653
commit
e14d266dfd
2 files changed
+79
No files matched your search
@@ -1,3 +1,50 @@
|
||||
## [已处理] 2026-10-20 | K34-C 搜索框改白底 + 新建榜单/新剧/预约三个页面(仅 App 端)
|
||||
|
||||
**用户指令(2026-10-20,原文)**:
|
||||
> 「1 搜索框怎么是灰色的 2然后接着写榜单页面 top 几top 几这样子 你设计一个ui 跳转新的页面 新剧和预约也一样」
|
||||
|
||||
**口径(只改 Flutter,不动后端、不改接口)**
|
||||
|
||||
### 一、搜索框(`lib/pages/discover/widgets/discover_search_field.dart`)
|
||||
1. 常态底色改回**白色**(`AppColors.card`),保持高 44、圆角 22、无描边、无阴影。
|
||||
2. 聚焦态:1px `AppColors.blue` 描边(160ms 过渡);失焦回白底无边框。
|
||||
3. 图标 18、hint/输入 14 不变;Key 不变。
|
||||
|
||||
### 二、三个新页面(剧场工具行跳转,替换现有「即将上线」SnackBar)
|
||||
统一结构:`Scaffold(backgroundColor: AppColors.ink)` + 顶部返回栏(`Icons.chevron_left_rounded`,Key `<page>-back`)+ 标题 + 可选副标题;页面内可滚动;不显示底部导航。
|
||||
|
||||
1. 榜单页 `lib/pages/ranking/ranking_page.dart`(Key `ranking-page`)
|
||||
- 标题「排行榜」(`l10n.topCharts`),副标题用 `l10n.rankingSubtitle`;
|
||||
- 数据:`context.read<CatalogController>().dramas` 按 `viewCount` 降序取前 50;
|
||||
- 列表行(Key `ranking-row-<index>`):左侧 `TOP 1/2/3...` 名次(第 1 名主色 w900 22 号、第 2/3 名 `#B8860B`/`#8C837B`、其余 `AppColors.subtle` 18 号,Key `ranking-top-<n>`);中间封面 72×96 圆角 10;右侧两行标题(15 w700,最多 2 行)、题材标签(复用灰底 11 号小标签)、底部火焰 + `formatInteractionCount(viewCount)` + 热度;
|
||||
- 行间距 12,左右内边距 14,白卡圆角 14、轻阴影;点击进详情页。
|
||||
2. 新剧页 `lib/pages/new_releases/new_releases_page.dart`(Key `new-releases-page`)
|
||||
- 标题「新剧」(`l10n.rankingNew`),副标题「最新上架短剧」(新增 l10n `newReleasesSubtitle`);
|
||||
- 数据:`CatalogController.dramas` 按 `id` 倒序(后端雪花 id,越大越新);
|
||||
- 直接复用现有 `DramaGrid` 双列卡片(与剧场一致)。
|
||||
3. 预约页 `lib/pages/reserve/reserve_page.dart`(Key `reserve-page`)
|
||||
- 标题「预约」(`l10n.reserve`),副标题「上线前预约,开播即通知」(新增 l10n `reserveSubtitle`);
|
||||
- 当前无预约数据源:显示 `EmptyState`(Key `reserve-empty`),文案「暂无预约剧集」(`reserveEmptyTitle`)/「新剧上线后可在这里预约」(`reserveEmptyHint`),底部一个禁用态说明按钮「预约功能即将上线」(`comingSoon`),不伪造列表。
|
||||
4. 跳转:`discover_view.dart` 的工具行改为 `Navigator.push` 到上述三页;「筛选」保持弹分类面板。
|
||||
|
||||
### 三、l10n 新增(三份 arb + `flutter gen-l10n`)
|
||||
- `newReleasesSubtitle`:zh「最新上架短剧」/ en「Newest arrivals」/ id「Rilis terbaru」
|
||||
- `reserveSubtitle`:zh「上线前预约,开播即通知」/ en「Reserve before launch」/ id「Reservasi sebelum rilis」
|
||||
- `reserveEmptyTitle`:zh「暂无预约剧集」/ en「No reservations yet」/ id「Belum ada reservasi」
|
||||
- `reserveEmptyHint`:zh「新剧上线后可在这里预约」/ en「Reserve new dramas here once announced」/ id「Reservasi drama baru di sini」
|
||||
- `topLabel(n)`:zh/en/id 均「TOP {n}」
|
||||
|
||||
**测试/门禁**
|
||||
- 搜索框:常态白底、无边框;聚焦主题色描边;
|
||||
- 榜单页:前 3 名展示 TOP 1/2/3、按播放量降序、点击进详情;
|
||||
- 新剧页:出现双列卡片且按 id 倒序;预约页:空态与 Key 正确;
|
||||
- 工具行三个按钮分别跳转对应页面;
|
||||
- `dart analyze lib test` 零告警 + `flutter test` 全过 + `flutter build apk --debug`。
|
||||
|
||||
**流程**:从 `develop` 拉 `feature/flutter-k34-ranking-pages`;作者 `Zhou Weidong <502333560@qq.com>`;`--no-ff` 合回 develop 并 push;PROGRESS 留痕;真机验收由用户执行。
|
||||
|
||||
---
|
||||
|
||||
## [已处理] 2026-10-20 | K34-B 剧场搜索框改为参考图样式(浅灰胶囊、无描边无阴影)(仅 App 端)
|
||||
|
||||
**用户指令(2026-10-20,原文)**:
|
||||
|
||||
Reference in new issue
Block a user