From 63e20c2968eb4b8af5e9b505eb8802cb53344ffa Mon Sep 17 00:00:00 2001 From: Zhou Weidong <502333560@qq.com> Date: Tue, 20 Oct 2026 16:06:24 +0800 Subject: [PATCH] =?UTF-8?q?docs(plans):=20=E7=95=99=E7=97=95=20K40=20?= =?UTF-8?q?=E6=92=AD=E6=94=BE=E5=8D=A0=E4=BD=8D=E4=B8=8E=E8=AF=84=E8=AE=BA?= =?UTF-8?q?=E7=99=BB=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/plans/INBOX.md | 36 ++++++++----------------- docs/plans/PROGRESS.md | 60 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+), 25 deletions(-) diff --git a/docs/plans/INBOX.md b/docs/plans/INBOX.md index 2f16581..6c5b4e5 100644 --- a/docs/plans/INBOX.md +++ b/docs/plans/INBOX.md @@ -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(`-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 留痕;真机验收由用户执行。 diff --git a/docs/plans/PROGRESS.md b/docs/plans/PROGRESS.md index 1daaa6e..f3fce9b 100644 --- a/docs/plans/PROGRESS.md +++ b/docs/plans/PROGRESS.md @@ -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` 变更未纳入本批提交。真机验收由用户执行。