fix: 清除 platform-flutter 残留代码,重构文档与开发者体验

P0 代码修复:删除 imSdkAppId、清除内网 IP 与原项目域名、修正 USE_MOCK 默认值
P1 CLAUDE.md 重组:零容忍规则前置,新增 dart-defines 字段对照表
P2 文档优化:先跑再配的 setup 流程,新增 architecture.md 架构图
This commit is contained in:
SkyJourney
2026-05-14 13:21:06 +08:00
parent a266323905
commit b8b63282ee
17 changed files with 605 additions and 417 deletions
+19 -26
View File
@@ -1,43 +1,36 @@
import 'package:sunny_mochi/core/config/env.dart';
/// API 网络配置 — **baseUrl 决策的单一权威**
/// API 网络配置 — baseUrl 的单一决策权威。
///
/// **对应 iOS BasicModule/Configuration/NetworkConfig.swift2026-05 同步)**
/// **新项目必填**:在下方 switch 中填入三套环境的实际 baseUrl,
/// 或者在 dart-defines/*.json 中设置 API_BASE_URL 做临时覆盖。
///
/// | 环境 | iOS apiBaseURL | Flutter ApiConfig.baseUrl |
/// |------|---------------|--------------------------|
/// | dev | http://192.168.1.201:24801 | 同 |
/// | test | https://dev.yixiong-tech.com:8081 | 同 |
/// | release | https://bac.new.hamkke.top | 同 |
/// 优先级:
/// 1. dart-define `API_BASE_URL` 不为空时优先(CI/CD / 临时调试)
/// 2. 否则按 `Env.name`dev / test / release)返回对应 URL
///
/// **优先级**
/// 1. CI/CD / 临时调试通过 `--dart-define=API_BASE_URL=...` 注入 → 优先
/// 2. 否则按 `Env.name`dev/test/release)返回 iOS 同源 URL
///
/// **不再引入 h5BaseURL** — H5 评估报告已全部 Flutter 原生化(详见
/// docs/h5-to-native-decision-2026-05-10.md),不再需要 in-app WebView。
///
/// **响应码请用 [ResponseCode]**lib/core/network/response_code.dart)。
/// **API 路径请用 [ApiPaths]**lib/core/config/api_paths.dart)—
/// 不允许 datasource 散落字面量。
/// **API 路径**:见 lib/core/config/api_paths.dart(禁止 datasource 散落字面量)
/// **响应码**:见 lib/core/network/response_code.dart
abstract class ApiConfig {
/// API 网关 baseUrl — 与 iOS NetworkConfig.swift 同源
/// API 网关 baseUrl
///
/// TODO: 将下方三个 URL 替换为项目实际后端地址。
static String get baseUrl {
// 1. dart-define 覆盖优先(CI/CD / 临时切换私有环境)
// 1. dart-define 覆盖优先(临时切换私有环境 / CI 注入
if (Env.apiBaseUrlOverride.isNotEmpty) {
return Env.apiBaseUrlOverride;
}
// 2. 按 Env.name 返回 iOS 同源 URL
// 2. 按环境返回固定 URL — TODO: 填入实际地址
return switch (Env.name) {
'dev' => 'http://192.168.1.201:24801',
'test' => 'https://dev.yixiong-tech.com:8081',
'release' => 'https://bac.new.hamkke.top',
_ => 'http://192.168.1.201:24801', // 默认 dev(与 iOS Debug 包一致)
'dev' => 'http://localhost:8080', // TODO: dev 服务器地址
'test' => 'https://staging.your-domain.com', // TODO: staging 服务器地址
'release' => 'https://api.your-domain.com', // TODO: 生产服务器地址
_ => 'http://localhost:8080',
};
}
// 网络超时 — 对应共性需求说明 §移动端 7.网络异常处理(10s 超时建议)
// 网络超时配置
static const Duration connectTimeout = Duration(seconds: 15);
static const Duration receiveTimeout = Duration(seconds: 30);
static const Duration sendTimeout = Duration(seconds: 30);
static const Duration sendTimeout = Duration(seconds: 30);
}