Files
flutter-template/lib/core/config/api_config.dart
T
SkyJourney b8b63282ee fix: 清除 platform-flutter 残留代码,重构文档与开发者体验
P0 代码修复:删除 imSdkAppId、清除内网 IP 与原项目域名、修正 USE_MOCK 默认值
P1 CLAUDE.md 重组:零容忍规则前置,新增 dart-defines 字段对照表
P2 文档优化:先跑再配的 setup 流程,新增 architecture.md 架构图
2026-05-14 13:21:06 +08:00

37 lines
1.5 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import 'package:sunny_mochi/core/config/env.dart';
/// API 网络配置 — baseUrl 的单一决策权威。
///
/// **新项目必填**:在下方 switch 中填入三套环境的实际 baseUrl,
/// 或者在 dart-defines/*.json 中设置 API_BASE_URL 做临时覆盖。
///
/// 优先级:
/// 1. dart-define `API_BASE_URL` 不为空时优先(CI/CD / 临时调试)
/// 2. 否则按 `Env.name`dev / test / release)返回对应 URL
///
/// **API 路径**:见 lib/core/config/api_paths.dart(禁止 datasource 散落字面量)
/// **响应码**:见 lib/core/network/response_code.dart
abstract class ApiConfig {
/// API 网关 baseUrl
///
/// TODO: 将下方三个 URL 替换为项目实际后端地址。
static String get baseUrl {
// 1. dart-define 覆盖优先(临时切换私有环境 / CI 注入)
if (Env.apiBaseUrlOverride.isNotEmpty) {
return Env.apiBaseUrlOverride;
}
// 2. 按环境返回固定 URL — TODO: 填入实际地址
return switch (Env.name) {
'dev' => 'http://localhost:8080', // TODO: dev 服务器地址
'test' => 'https://staging.your-domain.com', // TODO: staging 服务器地址
'release' => 'https://api.your-domain.com', // TODO: 生产服务器地址
_ => 'http://localhost:8080',
};
}
// 网络超时配置
static const Duration connectTimeout = Duration(seconds: 15);
static const Duration receiveTimeout = Duration(seconds: 30);
static const Duration sendTimeout = Duration(seconds: 30);
}