49 lines
1.2 KiB
Dart
49 lines
1.2 KiB
Dart
import 'package:recording_tool/core/platform/app_platform_info.dart';
|
|
|
|
enum AppEnvironment { dev, staging, prod }
|
|
|
|
class EnvironmentValues {
|
|
const EnvironmentValues({
|
|
required this.environment,
|
|
required this.baseUrl,
|
|
required this.enableNetworkLog,
|
|
});
|
|
|
|
final AppEnvironment environment;
|
|
final String baseUrl;
|
|
final bool enableNetworkLog;
|
|
}
|
|
|
|
class AppConfig {
|
|
AppConfig._();
|
|
|
|
static late EnvironmentValues current;
|
|
static AppPackageInfo? packageInfo;
|
|
|
|
static const appName = '飞行极控';
|
|
|
|
static void configure({
|
|
required AppEnvironment environment,
|
|
AppPackageInfo? packageInfo,
|
|
}) {
|
|
AppConfig.packageInfo = packageInfo;
|
|
current = switch (environment) {
|
|
AppEnvironment.dev => const EnvironmentValues(
|
|
environment: AppEnvironment.dev,
|
|
baseUrl: 'https://example.com/api',
|
|
enableNetworkLog: true,
|
|
),
|
|
AppEnvironment.staging => const EnvironmentValues(
|
|
environment: AppEnvironment.staging,
|
|
baseUrl: 'https://staging.example.com/api',
|
|
enableNetworkLog: true,
|
|
),
|
|
AppEnvironment.prod => const EnvironmentValues(
|
|
environment: AppEnvironment.prod,
|
|
baseUrl: 'https://api.example.com',
|
|
enableNetworkLog: false,
|
|
),
|
|
};
|
|
}
|
|
}
|