From c2974957ba788547f9aec3bc663ee4f5262214fc Mon Sep 17 00:00:00 2001 From: Zhou Weidong <502333560@qq.com> Date: Tue, 20 Oct 2026 20:39:38 +0800 Subject: [PATCH] =?UTF-8?q?docs(plans):=20=E7=95=99=E7=97=95=20K69=20?= =?UTF-8?q?=E5=8F=91=E5=B8=83=E5=88=86=E6=94=AF=E5=90=8C=E6=AD=A5=20main?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/plans/INBOX.md | 80 ++++++++++++++---------------------------- docs/plans/PROGRESS.md | 27 ++++++++++++++ 2 files changed, 54 insertions(+), 53 deletions(-) diff --git a/docs/plans/INBOX.md b/docs/plans/INBOX.md index c927f3f..2194bdf 100644 --- a/docs/plans/INBOX.md +++ b/docs/plans/INBOX.md @@ -1,65 +1,39 @@ # INBOX -## [已处理] K68-A 指定 API_BASE_URL 时跳过地址探测 +## [已处理] K69-A 把 develop 合入 release/v1.0.0,再合入 main ### 背景 -正式包通过 `--dart-define=API_BASE_URL=http://39.162.50.99:8081` 指定接口地址, -但 `AppConfig.probeAndApplyBaseUrl()` 不支持构建期地址:它只按 -`127.0.0.1 → 192.168.31.187 → 公网` 探测,探测结果又会覆盖 `apiBaseUrl`。 +当前 `develop` 已包含 K64~K68 全部改动(原生开屏、启动预取、清理、接口地址锁定), +需要发布到 `release/v1.0.0`,随后同步到 `main`。 -后果:正式包启动时仍会去探测局域网;若公网暂时不可达,会回落到开发机地址 -`192.168.31.187`,正式包里所有请求都指向错误服务器。 +### 仓库现状 -### 目标 +- `develop`:最新,含 K68-A(`51c3635`)。 +- `origin/release/v1.0.0`:落后 develop 很多;另有 3 个 release 专属提交 + `3d0e080`、`814b2c0`、`35364c9`。 +- `origin/main`:当前停在 `5c174b0`(PR #1,内容等于旧版 release)。 +- 工作区干净。 -- `API_BASE_URL` 已指定时,**不再探测**,直接使用该地址。 -- 运行时地址(用户在 App 内手动改的服务器)仍保持最高优先级,不被构建期地址覆盖。 -- 未指定 `API_BASE_URL` 时,探测逻辑保持现状。 +### 任务 -### 实现 - -1. `lib/core/config/app_config.dart` 的 `probeAndApplyBaseUrl`: - -```dart -static Future probeAndApplyBaseUrl({ - Future Function(String baseUrl)? probe, - String? fallbackBaseUrl, - String? compiledOverride, // 仅测试注入用 -}) async { - final compiled = compiledOverride ?? compiledBaseUrl; - if (compiled.isNotEmpty) { - // 构建期已指定接口地址:直接使用,避免正式包回落开发机地址 - if (_runtimeBaseUrl.isEmpty) applyRuntimeBaseUrl(compiled); - return; - } - // …原有探测逻辑不变 -} -``` - -2. `lib/main.dart` 不改(已 `AppConfig.ready = AppConfig.probeAndApplyBaseUrl()`)。 -3. 测试 `test/config/` 补充: - - 传 `compiledOverride` 时:`probe` 回调一次都不会被调用,`AppConfig.apiBaseUrl` 等于该地址 - - 已存在运行时地址且传 `compiledOverride` 时:运行时地址不被覆盖 - - 不传 `compiledOverride`(默认空)时:探测逻辑与现有测试保持一致 - - 测试结束复位运行时地址 - -### 验收 - -- 门禁:`dart analyze lib test` 零告警、`flutter test` 全过、`flutter build apk --debug` 成功。 -- 复核用正式包构建命令(Trae 负责重打,不需要 Codex 执行): - -``` -flutter build apk --release --target-platform android-arm,android-arm64 \ - --dart-define=API_BASE_URL=http://39.162.50.99:8081 -``` - -### Git - -- 从 `develop` 拉 `fix/lock-compiled-base-url`。 -- 提交:`fix(config): 指定 API_BASE_URL 时跳过地址探测`,作者 `Zhou Weidong <502333560@qq.com>`。 -- `--no-ff` 合回 `develop` 并 push;`FruitServer/docs/plans/PROGRESS.md` 追加 K68-A 留痕。 +1. `git checkout -B release/v1.0.0 origin/release/v1.0.0` +2. `git merge --no-ff origin/develop` + 预期冲突文件(预览): + - `lib/core/config/app_config.dart` + - `lib/main.dart` + - `test/config/server_endpoint_test.dart` + **冲突处理:以上三个文件一律采用 develop 版本**(`git checkout --theirs ` 后 `git add`), + 因为 K65~K68 已重构启动探测与编译期地址优先级,release 分支旧的默认地址改动不再适用。 + 其它文件如出现冲突,同样优先采用 develop 版本,并在 PROGRESS 里记录。 +3. 合并后门禁:`dart analyze lib test` 零告警、`flutter test` 全过、`flutter build apk --debug` 成功。 +4. push `release/v1.0.0`。 +5. `git checkout main && git merge --no-ff origin/release/v1.0.0`,push `main`。 + 若远端对 `main` 有保护、push 被拒绝,不要强推,停下并在 PROGRESS 记录原因。 +6. `FruitServer/docs/plans/PROGRESS.md` 追加 K69-A 留痕:两个合并提交 hash、冲突解决说明、门禁输出。 ### 约束 -- 全程中文;禁止 `git add -A`;不改探测候选顺序与超时;完成后停住等待验收。 +- 全程中文;禁止 `git add -A`;禁止 `git push --force`;不动 `develop`。 +- 合并提交作者统一 `Zhou Weidong <502333560@qq.com>`。 +- 完成后停住等待验收。 diff --git a/docs/plans/PROGRESS.md b/docs/plans/PROGRESS.md index d018553..e2cac2d 100644 --- a/docs/plans/PROGRESS.md +++ b/docs/plans/PROGRESS.md @@ -22452,3 +22452,30 @@ Running Gradle task 'assembleDebug'... ``` 解读:静态检查零告警,481 条测试全部通过,debug APK 构建成功。正式包由 Trae 按任务书命令重打并验收。 + +## 2026-10-20 ReelShort:K69-A 发布分支同步 main + +- 初始状态:`origin/release/v1.0.0` 为 `35364c9`,`origin/develop` 为 `51c3635`,`origin/main` 为 `5c174b0`。 +- release 合并提交:`0cb57d0 merge: 将 develop 合入 release/v1.0.0`,作者 `Zhou Weidong <502333560@qq.com>`,已推送 `35364c9..0cb57d0`。 +- release 合并冲突仅 3 个文件:`lib/core/config/app_config.dart`、`lib/main.dart`、`test/config/server_endpoint_test.dart`,全部采用 develop 版本;无其它冲突,无冲突标记残留。 +- 门禁产生的 `pubspec.lock` 工作区漂移已恢复为 develop 版本,未改变合并提交内容。 +- main 先以 `--ff-only` 从本地 `61454e3` 快进到 `origin/main` 的 `5c174b0`,再生成合并提交 `8bb365d merge: 将 release/v1.0.0 合入 main`,作者 `Zhou Weidong <502333560@qq.com>`。 +- 正常推送 main 成功:`5c174b0..8bb365d`;未使用 force push,远端未因保护分支拒绝。 + +门禁原始输出: + +```text +$ dart analyze lib test +Analyzing lib, test... +No issues found! + +$ flutter test +01:14 +481: All tests passed! + +$ flutter build apk --debug +Running Gradle task 'assembleDebug'... + 6.5s +✓ Built build/app/outputs/flutter-apk/app-debug.apk +``` + +解读:release 合并结果静态检查零告警、481 条测试全部通过、debug APK 构建成功;release 与 main 均已推送,等待发布验收。