diff --git a/lib/config/app_config.dart b/lib/config/app_config.dart new file mode 100644 index 0000000..6286a1c --- /dev/null +++ b/lib/config/app_config.dart @@ -0,0 +1,32 @@ +enum Environment { + production, +} + +class AppConfig { + static const Environment currentEnvironment = Environment.production; + + static final Map> _environmentHosts = { + Environment.production: [ + 'h5-im.imharry.work', + ], + }; + + static List get environmentHosts { + return _environmentHosts[currentEnvironment] ?? const []; + } + + static String get homeUrl { + final host = environmentHosts.isNotEmpty + ? environmentHosts.first + : 'h5-im.imharry.work'; + return _normalizeHomeUrl(host); + } + + static String _normalizeHomeUrl(String host) { + final value = host.trim(); + if (value.startsWith('http://') || value.startsWith('https://')) { + return value.endsWith('/') ? value : '$value/'; + } + return 'https://$value/'; + } +} diff --git a/lib/main.dart b/lib/main.dart index 868e74d..78ef398 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -8,7 +8,9 @@ import 'package:webview_flutter/webview_flutter.dart'; import 'package:webview_flutter_android/webview_flutter_android.dart'; import 'package:webview_flutter_wkwebview/webview_flutter_wkwebview.dart'; -const _homeUrl = 'https://h5-im.imharry.work/'; +import 'config/app_config.dart'; + +final _homeUrl = AppConfig.homeUrl; const _stopWebMediaScript = r''' (() => { try {