docs(plans): 留痕 K69 发布分支同步 main

This commit is contained in:
Zhou Weidong committed 2026-10-20 20:39:38 +08:00
1 parent bce8d37d88
commit c2974957ba
2 files changed
+54 -53

No files matched your search

+27 -53
View File
@@ -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<void> probeAndApplyBaseUrl({
Future<bool> 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 <file>` 后 `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>`。
- 完成后停住等待验收。
+27
View File
@@ -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 均已推送,等待发布验收。