Files
FruitServer/docs/plans/INBOX.md
T

74 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# INBOX
## [已处理] K75-A 首页进详情 / 进播放页改为无感淡入
### 需求
首页 feed:
1. 点短剧标题 → 详情页
2. 点「观看完整剧集」→ 全屏播放页
现在都是默认的平台转场(iOS 从右往左滑入、Android 缩放),观感突兀。
改成**无感淡入**:不加左右位移,只做短促的淡入 / 淡出。
### 现状
- `lib/pages/player/player_logic.dart` `openDetail()`:`MaterialPageRoute` → `DramaDetailPage`
- `lib/pages/player/open_player.dart` `playDramaFromCatalog()`:`MaterialPageRoute` → `PlayerPage`
(首页「观看完整剧集」走这里,筛选页 / 榜单等卡片也复用)
- `lib/pages/player/player_logic.dart` `openSeriesAt()`:`MaterialPageRoute` → `PlayerPage`
### 实现
1. 新增 `lib/core/navigation/fade_page_route.dart`:
```dart
// Author: fruit.com.cn
import 'package:flutter/widgets.dart';
/// 无位移的淡入转场:用于首页 feed 进详情 / 播放页,避免平台左右滑入。
class FadePageRoute<T> extends PageRouteBuilder<T> {
FadePageRoute({required WidgetBuilder builder, super.settings})
: super(
transitionDuration: const Duration(milliseconds: 220),
reverseTransitionDuration: const Duration(milliseconds: 180),
pageBuilder: (context, _, __) => builder(context),
transitionsBuilder: (context, animation, _, child) => FadeTransition(
opacity: CurvedAnimation(parent: animation, curve: Curves.easeOut),
child: child,
),
);
}
```
2. 把上述三处 `MaterialPageRoute` 换成 `FadePageRoute`:
- `PlayerLogic.openDetail()`
- `playDramaFromCatalog()`
- `PlayerLogic.openSeriesAt()`
3. 其它入口(登录页、我的、收藏、观看记录、发现页等)**保持原样**,本批不动。
### 测试
- 新增 `test/navigation/fade_page_route_test.dart`:
- push 后 `transitionDuration == 220ms`、`reverseTransitionDuration == 180ms`
- 转场过程中存在 `FadeTransition`,且 `opaque == true`
- 现有 player / home 相关测试必须继续通过(若有用例断言 `MaterialPageRoute` 类型,改为断言页面内容而不是路由类型)
### 验收
- 门禁:`dart analyze lib test` 零告警、`flutter test` 全过、`flutter build apk --debug` 成功。
- 真机自查:首页点标题进详情、点观看完整剧集进播放页,均为淡入无左右滑动;返回同样淡出。
### Git
- 从 `develop` 拉 `feat/fade-route-home-feed`。
- 提交:`feat(player): 首页进详情与播放页改为淡入转场`,作者 `Zhou Weidong <502333560@qq.com>`。
- `--no-ff` 合回 `develop` 并 push;`FruitServer/docs/plans/PROGRESS.md` 追加 K75-A 留痕。
### 约束
- 全程中文;禁止 `git add -A`;只改上述范围;完成后停住等待验收。