import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:flutter/foundation.dart'; import 'privacy_terms.dart'; import 'skip_geo.dart'; import 'smart_geo.dart'; part 'app_config.freezed.dart'; part 'app_config.g.dart'; @freezed class AppConfig with _$AppConfig { const factory AppConfig({ List? apiIps, List? apiUrls, List? routerApiUrls, List? appStatUrls, List? assetUrls, List? logFileUploadUrls, List? realityApiUrls, List? realityAppStatUrls, List? realityLogFileUploadUrls, bool? autoPing, int? autoPingInterval, List? backupApiUrls, int? cacheDataEffectiveDays, List? contacts, List? follows, List? providers, List? signalThresholds, List? packetLossThresholds, SkipGeo? skipGeo, List? speedTestTargetList, String? websiteUrl, bool? visitorDisabled, // 游客模式 PrivacyTerms? privacyAgreement, String? email, List? blackPkgs, List? whitePkgs, int? accelerationSampleCount, int? minAccelerationSampleCount, int? connectionWarningThreshold, String? connectiveTestUrl, List? disabledLogModules, String? realTimeDbPath, int? boostTimeInterval, int? pingDisplayMode, int? peekTimeInterval, bool? enableAd, int? adTimeoutDuration, int? reportActiveInterval, int? serverTime, SmartGeo? smartGeo, }) = _AppConfig; factory AppConfig.fromJson(Map json) => _$AppConfigFromJson(json); } @freezed class Contacts with _$Contacts { const factory Contacts({String? title, String? url}) = _Contacts; factory Contacts.fromJson(Map json) => _$ContactsFromJson(json); } @freezed class SpeedTestTargetList with _$SpeedTestTargetList { const factory SpeedTestTargetList({String? title, String? url}) = _SpeedTestTargetList; factory SpeedTestTargetList.fromJson(Map json) => _$SpeedTestTargetListFromJson(json); }