From 0b2709339eae22e544e3f9a554345f3efd4f66a6 Mon Sep 17 00:00:00 2001 From: Zhou Weidong <502333560@qq.com> Date: Tue, 20 Oct 2026 22:16:19 +0800 Subject: [PATCH] =?UTF-8?q?docs(plans):=20=E7=95=99=E7=97=95=20K71=20?= =?UTF-8?q?=E9=A6=96=E9=A1=B5=E5=AF=BC=E8=88=AA=E5=AE=89=E5=85=A8=E5=8C=BA?= =?UTF-8?q?=E5=BA=95=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/plans/INBOX.md | 68 +++++++++++++++++++++++++++++------------- docs/plans/PROGRESS.md | 30 +++++++++++++++++++ 2 files changed, 77 insertions(+), 21 deletions(-) diff --git a/docs/plans/INBOX.md b/docs/plans/INBOX.md index 71632cf..4cbe717 100644 --- a/docs/plans/INBOX.md +++ b/docs/plans/INBOX.md @@ -1,40 +1,66 @@ # INBOX -## [已处理] K70-A 开发默认地址改为公网 39.162.50.99 +## [已处理] K71-A 首页深色底部导航补齐安全区底色 -### 需求 +### 现象 -开发调试阶段默认连公网服务:`http://39.162.50.99:8081`(不带结尾斜杠,避免与请求路径拼接出双斜杠)。 +首页 feed(深色)下,底部导航**下方**的系统安全区(iOS Home Indicator 条 / Android 手势条区域) +颜色与首页背景不一致:会透出窗口底色或模糊内容,看上去有一条浅色/发灰的边。 -### 现状 +### 根因 -`lib/core/config/app_config.dart`: +`lib/core/widgets/app_bottom_nav.dart`: -- `devHostBaseUrl = 'http://192.168.31.187:8081'`(真机默认地址) -- `lanBaseUrl = 'http://127.0.0.1:8081'`(`adb reverse` 环回) -- `publicBaseUrl = 'http://39.162.50.99:8081'` -- `_probeCandidates = [lanBaseUrl, devHostBaseUrl, publicBaseUrl]` +```dart +ClipRect( + child: BackdropFilter( + filter: ImageFilter.blur(...), + child: SafeArea( + top: false, + child: Container(height: navHeight, color: 0xE6000000, ...), + ), + ), +) +``` -### 改动 +`SafeArea` 的底部内边距在 `Container` 之外,没有任何填充色;深色模式下导航条本身也是 +`0xE6000000` 半透明叠在窗口底色上,所以「导航条 + 下方安全区」都跟首页的纯黑背景不一致。 -1. `devHostBaseUrl` 改为 `'http://39.162.50.99:8081'`,同步更新上方文档注释 - (说明当前默认指向公网,换网络时改这一行)。 -2. `_probeCandidates` 去重(保留 `lanBaseUrl` 在前、其次 `devHostBaseUrl`、再 `publicBaseUrl`), - 避免改完后重复探测同一地址;不改变探测顺序语义与超时。 -3. 测试 `test/config/server_endpoint_test.dart` 第 66 行的字面量断言同步改为 - `'http://39.162.50.99:8081'`;其余使用常量的断言无需改动。 +### 目标 + +- 首页 feed(`dark: true`):底部导航条与下方安全区整体为纯黑 `Colors.black`, + 与首页背景一致,不再透出模糊/白底。 +- 浅色模式(剧场/创作/我的、其它页面):保持现有玻璃模糊 + 0.95 透明观感不变。 + +### 实现 + +`lib/core/widgets/app_bottom_nav.dart` 的 `build`: + +- 深色分支: + - `ColoredBox(color: Colors.black)` 包住 `SafeArea(top: false, child: 导航条 Container)` + - 导航条 `Container` 的底色改为 `Colors.black`(不再 `0xE6000000`),保留顶部 `Colors.white12` 分隔线 + - 不再使用 `BackdropFilter`(背后是窗口底色,模糊没有意义) +- 浅色分支:原样保留 `ClipRect + BackdropFilter + SafeArea + backgroundColor.withValues(alpha: 0.95)` +- `barKey` 仍挂在 `navHeight` 的导航条 `Container` 上,总高度在无安全区时为 `AppDimens.navHeight` + +### 测试 + +- 现有 `test/home/app_bottom_nav_test.dart` 的高度断言(无安全区 = navHeight)必须继续通过 +- 新增用例:`dark: true` 且 `MediaQuery` 底部安全区为 34 时, + 1. `AppBottomNav` 总高度 = `navHeight + 34` + 2. 最外层 `ColoredBox`(或等价背景)颜色为 `Colors.black` ### 验收 -- `adb reverse` 存在时仍优先走 `127.0.0.1`;不存在时走公网。 - 门禁:`dart analyze lib test` 零告警、`flutter test` 全过、`flutter build apk --debug` 成功。 +- 真机自查:首页底部导航与其下方手势条区域为同一种纯黑,无浅色边。 ### Git -- 从 `develop` 拉 `chore/dev-default-public-host`。 -- 提交:`chore(config): 开发默认地址改为公网 39.162.50.99`,作者 `Zhou Weidong <502333560@qq.com>`。 -- `--no-ff` 合回 `develop` 并 push;`FruitServer/docs/plans/PROGRESS.md` 追加 K70-A 留痕。 +- 从 `develop` 拉 `fix/home-nav-safe-area-color`。 +- 提交:`fix(home): 首页深色底部导航补齐安全区底色`,作者 `Zhou Weidong <502333560@qq.com>`。 +- `--no-ff` 合回 `develop` 并 push;`FruitServer/docs/plans/PROGRESS.md` 追加 K71-A 留痕。 ### 约束 -- 全程中文;禁止 `git add -A`;不改 `API_BASE_URL` 覆盖逻辑与运行时地址优先级;完成后停住等待验收。 +- 全程中文;禁止 `git add -A`;不改浅色模式观感与其它页面;完成后停住等待验收。 diff --git a/docs/plans/PROGRESS.md b/docs/plans/PROGRESS.md index 07ffc4e..95fcf06 100644 --- a/docs/plans/PROGRESS.md +++ b/docs/plans/PROGRESS.md @@ -22509,3 +22509,33 @@ Running Gradle task 'assembleDebug'... ``` 解读:静态检查零告警,481 条测试全部通过,debug APK 构建成功。真机验收由用户执行。 + +## 2026-10-20 ReelShort:K71-A 首页深色底部导航补齐安全区底色 + +- 前置状态:K70-A 已完成并合并,develop 合并提交 `ac1202c`。 +- 分支:`fix/home-nav-safe-area-color` +- 功能提交:`66e9062 fix(home): 首页深色底部导航补齐安全区底色` +- develop 合并提交:`1dbc3ac merge: 合并 K71-A 首页导航安全区底色`,已推送。 +- 深色分支改为 `ColoredBox(Colors.black) + SafeArea(top: false) + 纯黑导航条 Container`,底部安全区与导航条统一为纯黑,移除无效的 `BackdropFilter`。 +- `barKey` 仍挂在 `AppDimens.navHeight` 的导航条 Container 上;浅色分支继续保留 `ClipRect + BackdropFilter + SafeArea + 0.95` 背景,观感未改。 +- 顶部 `Colors.white12` 分隔线保留;无安全区时总高度仍为 64。 + +测试:新增深色模式底部安全区 34 时总高 98、导航条自身 64、外层背景纯黑三条断言;既有浅色高度和首页深色导航断言同步保持通过。 + +门禁原始输出: + +```text +$ dart analyze lib test +Analyzing lib, test... +No issues found! + +$ flutter test +00:55 +482: All tests passed! + +$ flutter build apk --debug +Running Gradle task 'assembleDebug'... + 8.7s +✓ Built build/app/outputs/flutter-apk/app-debug.apk +``` + +解读:静态检查零告警,482 条测试全部通过,debug APK 构建成功。真机验收由用户执行。