启动时按环回、局域网、公网顺序探测地址,换网络后会静默切到别处,排查 困难。改为代码内一个布尔开关选择环境,地址分别放在 dev_config.dart 与 prod_config.dart,不再探测;调试条改地址后直接重载,不再重新探测。 release 构建若仍是开发开关会启动即报错,避免线上包连开发机。
29 lines
892 B
Dart
29 lines
892 B
Dart
// Author: fruit.com.cn
|
|
|
|
import 'dart:async';
|
|
|
|
import 'package:flutter/foundation.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter/services.dart';
|
|
|
|
import 'app.dart';
|
|
import 'core/config/app_config.dart';
|
|
import 'core/config/server_endpoint.dart';
|
|
import 'core/platform/wireless_data_prompt.dart';
|
|
|
|
Future<void> main() async {
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
// 生产包不能连开发机:忘了改开关时宁可启动即失败。
|
|
if (kReleaseMode && AppConfig.useDevConfig) {
|
|
throw StateError('release 构建请把 AppConfig.useDevConfig 改成 false');
|
|
}
|
|
await ServerEndpoint.load();
|
|
AppConfig.ready = WirelessDataPrompt.awaitDecision(
|
|
enabled: !kIsWeb && defaultTargetPlatform == TargetPlatform.iOS,
|
|
);
|
|
runApp(const LumaDramaApp());
|
|
unawaited(
|
|
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]),
|
|
);
|
|
}
|