docs(plans): 留痕 K40 播放占位与评论登录
This commit is contained in:
1 parent
70949b8f4b
commit
63e20c2968
2 files changed
+71
-25
No files matched your search
+11
-25
@@ -1,33 +1,19 @@
|
||||
## [已处理] 2026-10-20 | K39-A 二级页面统一返回按钮与标题规格 + 新剧页改回暖色风格(仅 App 端)
|
||||
## [已处理] 2026-10-20 | K40-B 评论需登录:未登录点输入框即引导登录(仅 App 端)
|
||||
|
||||
**用户指令(2026-10-20,原文)**:
|
||||
> 「1现在改所有的二级页面 返回按钮及标题大小都不一样2 新剧页面与其他页面的风格不一致」
|
||||
> 「还有评论也需要登录后才能评论」
|
||||
|
||||
### 一、统一二级页头
|
||||
1. 新建公共组件 `lib/core/widgets/subpage_header.dart`:
|
||||
- `AppSubpageHeader`:高 52(有副标题时 64),左右内边距 14,背景透明;
|
||||
- 返回按钮统一 36×36 圆形:浅色页 `AppColors.card` 底 + `Icons.chevron_left_rounded` 20 `AppColors.onSurface`;深色/图片上使用 `dark: true`(透明底 + 白色图标);
|
||||
- 标题统一 **18 号 w800** `AppColors.onSurface`(深色场景白色),与返回按钮间距 12,左对齐,最多 1 行省略;
|
||||
- 可选 `subtitle`(12 号 `AppColors.muted`)、`actions`(右侧操作)、`onBack`(默认 `Navigator.maybePop`)。
|
||||
2. 应用到全部二级页面,替换各页自定义返回按钮与标题:
|
||||
- `filter_page.dart`、`ranking_page.dart`、`reserve_page.dart`、`new_releases_page.dart`、`notices_page.dart`、`settings_page.dart`、`watch_records_page.dart`、`favorites_page.dart`、`downloads_page.dart`、`wallet_page.dart`、`store_page.dart`、`discover/category_dramas_page.dart`、`account/account_profile_page.dart`、`account/account_export_page.dart`、`account/account_devices_page.dart`、`account/account_deactivate_page.dart`、`create_view.dart` 的占位页;
|
||||
- `drama_detail` 使用 `AppSubpageHeader` 的返回按钮尺寸/图标(`dark: true`,叠在封面/渐变上),标题由封面区自绘;
|
||||
- 原先使用 `AppBar` 的页面统一去掉默认 AppBar,改为该组件(保留原有 actions 逻辑)。
|
||||
3. 删除各页私有返回按钮实现,避免尺寸/图标再次分叉;页面 Key(`<page>-back`)保持不变。
|
||||
**现状**:`DramaCommentsSheet._post()` 已有 `ensureSignedIn`,但输入框可直接聚焦输入,用户输完点发送才被拦,体验上像「能评论」。
|
||||
|
||||
### 二、新剧页改回暖色风格(与其他页面一致)
|
||||
1. 背景改回 `AppColors.ink` + 顶部 `AppColors.surfaceTop` 渐变;状态栏深色图标;返回/标题使用统一二级页头(`new-releases-back`)。
|
||||
2. 保留创意结构但换配色:
|
||||
- 「今日首映」16:9 大卡不变,封面仍可使用暗色底部渐变遮罩保证文字可读;
|
||||
- `NEW` 角标改主色 `AppColors.blue` 底白字;
|
||||
- 胶片分隔条改浅色版:`AppColors.border` 线 + `AppColors.raised` 底 + 孔洞 `AppColors.border`;
|
||||
- 「更多新剧」横滑卡片:白卡圆角 12 + 轻阴影,剧名 13 w700 `AppColors.onSurface`,日期 12 `AppColors.subtle`;`NEW` 角标同上;
|
||||
- 「本周上新 N 部」胶囊改 `AppColors.badgeBeige` 底 + `AppColors.blue` 字。
|
||||
3. 预约页、筛选页、榜单页配色不动(已是暖色),仅替换页头。
|
||||
**口径(只改 Flutter,不动后端、不改接口)**
|
||||
1. 未登录时点击评论输入框:不聚焦、不弹键盘,直接走 `ensureSignedIn` 登录闸;登录成功返回后自动聚焦输入框,取消则保持失焦。
|
||||
2. 未登录时点发送:直接走登录闸,不放行空内容提示;已登录行为不变(空内容不提交)。
|
||||
3. 未登录时输入框 hint 显示「登录后参与评论」(新增 l10n `commentLoginHint`:zh 登录后参与评论 / en Sign in to comment / id Masuk untuk berkomentar),已登录仍用 `writeComment`。
|
||||
4. 回复、点赞、删除、举报等既有登录闸保持不变;评论列表匿名可读不变。
|
||||
|
||||
**测试/门禁**
|
||||
- 抽查 filter / ranking / reserve / new_releases / settings / notices:返回按钮 36×36、标题 fontSize 18 w800、标题与返回间距一致;
|
||||
- 新剧页背景为 ink、`NEW` 角标为主色、页头与其它二级页一致;
|
||||
- 新增:未登录点输入框出现登录闸且焦点未获取;登录后点输入框可正常聚焦;未登录点发送不产生评论;
|
||||
- 既有评论用例保持通过;
|
||||
- `dart analyze lib test` 零告警 + `flutter test` 全过 + `flutter build apk --debug`。
|
||||
|
||||
**流程**:从 `develop` 拉 `feature/flutter-k39-subpage-header`;作者 `Zhou Weidong <502333560@qq.com>`;`--no-ff` 合回 develop 并 push;PROGRESS 留痕;真机验收由用户执行。
|
||||
**流程**:从 `develop` 拉 `fix/flutter-k40-comment-auth`;作者 `Zhou Weidong <502333560@qq.com>`;`--no-ff` 合回 develop 并 push;PROGRESS 留痕;真机验收由用户执行。
|
||||
@@ -21324,3 +21324,63 @@ Running Gradle task 'assembleDebug'...
|
||||
```
|
||||
|
||||
解读:静态检查零告警,440 条测试全部通过,debug APK 构建成功。工作区原有 `pubspec.lock` 变更未纳入本批提交。真机验收由用户执行。
|
||||
|
||||
## 2026-10-20 ReelShort:K40-A 播放 loading 主题色与封面占位
|
||||
|
||||
- 前置状态:K39-A 已合并,功能提交 `1c6c921`,合并提交 `9864c8e`。
|
||||
- 分支:`fix/flutter-k40-player-loading`
|
||||
- 功能提交:`fa5fd12 fix(flutter): 优化播放加载占位与主题色`
|
||||
- develop 合并提交:`1eea9fa merge: 合并 K40-A 播放加载修复`,已推送。
|
||||
- 播放未就绪时 `player-fallback-background` 改为剧集封面 `RemoteImage` + `0x66000000` 遮罩;封面为空时仍回落纯黑。
|
||||
- 票据 loading 与播放会话 loading 的颜色统一改为 `AppColors.blue`,并增加稳定测试 Key。
|
||||
|
||||
测试:更新播放器 fallback 覆盖断言,新增空封面回落黑色用例;播放器专项 27 条全部通过。
|
||||
|
||||
门禁原始输出:
|
||||
|
||||
```text
|
||||
$ dart analyze lib test
|
||||
Analyzing lib, test...
|
||||
No issues found!
|
||||
|
||||
$ flutter test
|
||||
00:44 +441: All tests passed!
|
||||
|
||||
$ flutter build apk --debug
|
||||
Running Gradle task 'assembleDebug'...
|
||||
7.4s
|
||||
✓ Built build/app/outputs/flutter-apk/app-debug.apk
|
||||
```
|
||||
|
||||
解读:静态检查零告警,441 条测试全部通过,debug APK 构建成功。工作区原有 `pubspec.lock` 变更未纳入本批提交。真机验收由用户执行。
|
||||
|
||||
## 2026-10-20 ReelShort:K40-B 评论输入登录闸
|
||||
|
||||
- 前置状态:K40-A 已合并,功能提交 `fa5fd12`,合并提交 `1eea9fa`。
|
||||
- 分支:`fix/flutter-k40-comment-auth`
|
||||
- 功能提交:`d0c1a5f fix(flutter): 评论输入增加登录闸`
|
||||
- develop 合并提交:`457d2fa merge: 合并 K40-B 评论登录闸`,已推送。
|
||||
- 未登录时评论输入框 `readOnly + canRequestFocus=false`,点击只触发 `ensureSignedIn`,不会先聚焦或弹键盘;取消保持失焦,登录成功返回后自动聚焦。
|
||||
- 未登录点击发送时先走登录闸,再判断空内容;不再先走空内容短路。已登录空内容与提交行为保持原样。
|
||||
- 未登录 hint 使用新增 `commentLoginHint`(登录后参与评论 / Sign in to comment / Masuk untuk berkomentar),已登录仍使用 `writeComment`。
|
||||
- 评论列表匿名可读,回复、点赞、删除、举报既有登录闸不变。
|
||||
|
||||
测试:新增未登录点击输入框不聚焦、取消后保持失焦、登录成功返回后聚焦、未登录发送不产生评论;评论面板专项 16 条全部通过,既有评论用例保持通过。
|
||||
|
||||
门禁原始输出:
|
||||
|
||||
```text
|
||||
$ dart analyze lib test
|
||||
Analyzing lib, test...
|
||||
No issues found!
|
||||
|
||||
$ flutter test
|
||||
00:43 +444: All tests passed!
|
||||
|
||||
$ flutter build apk --debug
|
||||
Running Gradle task 'assembleDebug'...
|
||||
7.8s
|
||||
✓ Built build/app/outputs/flutter-apk/app-debug.apk
|
||||
```
|
||||
|
||||
解读:静态检查零告警,444 条测试全部通过,debug APK 构建成功。工作区原有 `pubspec.lock` 变更未纳入本批提交。真机验收由用户执行。
|
||||
Reference in new issue
Block a user