fix(mobile-app): 修复开机动画卡住问题

问题原因:
1. TelemetryConfig.syncFromRemote() URL拼接错误,导致请求无效路径
2. 遥测配置同步使用await阻塞,即使失败也要等待超时

修复内容:
1. 修正URL拼接:apiBaseUrl已包含/api/v1,不再重复添加
2. 将超时时间从10秒缩短为5秒
3. 将遥测配置同步改为非阻塞,不再await等待

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
hailin 2026-01-09 08:08:21 -08:00
parent ca1bc74b2a
commit fabfbb73fe
2 changed files with 9 additions and 5 deletions

View File

@ -40,10 +40,11 @@ class TelemetryConfig {
Future<void> syncFromRemote(String apiBaseUrl) async {
try {
final dio = Dio(BaseOptions(
connectTimeout: const Duration(seconds: 10),
receiveTimeout: const Duration(seconds: 10),
connectTimeout: const Duration(seconds: 5),
receiveTimeout: const Duration(seconds: 5),
));
final response = await dio.get('$apiBaseUrl/api/telemetry/config');
// apiBaseUrl /api/v1
final response = await dio.get('$apiBaseUrl/telemetry/config');
final data = response.data;
globalEnabled = data['global_enabled'] ?? true;

View File

@ -71,8 +71,11 @@ class TelemetryService {
// 3.
await TelemetryConfig().loadUserOptIn();
// 4.
await TelemetryConfig().syncFromRemote(apiBaseUrl);
// 4.
// 使
TelemetryConfig().syncFromRemote(apiBaseUrl).catchError((e) {
debugPrint('📊 [Telemetry] Remote config sync failed (non-blocking): $e');
});
// 5.
_deviceContext = await DeviceInfoCollector().collect(context);