Template
P0 代码修复:删除 imSdkAppId、清除内网 IP 与原项目域名、修正 USE_MOCK 默认值 P1 CLAUDE.md 重组:零容忍规则前置,新增 dart-defines 字段对照表 P2 文档优化:先跑再配的 setup 流程,新增 architecture.md 架构图
37 lines
1.5 KiB
Dart
37 lines
1.5 KiB
Dart
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);
|
||
}
|