import 'package:fis_jsonrpc/rpc.dart'; import 'package:fis_lib_media_rt/fis_lib_media_rt.dart'; import 'package:flyinsonolite/jsonrpc/jsonrpcclient.dart'; import 'package:flyinsonolite/managers/basemanager.dart'; import 'package:flyinsonolite/managers/interfaces/iserverconfigmanager.dart'; class ServerConfigManager extends BaseManager implements IServerConfigManager { @override Future getAllServerConfigAsync() async { var result = await jsonRpcProxy.organization .getServerSettingAsync(TokenRequest(token: token)); await _initRealTimeLiveTypeAsync(result.liveProtocolType); return result; } @override Future checkNetWorkAsync() async { bool result = false; try { await getAllServerConfigAsync(); return true; } catch (e) {} return result; } Future _initRealTimeLiveTypeAsync(TransactionStatusEnum type) async { if (type == TransactionStatusEnum.Common || type == TransactionStatusEnum.Tencent) { FRTMediaConfig.serviceType = FRealTimeMediaServiceType.ntRtmp; } else if (type == TransactionStatusEnum.VRTC) { FRTMediaConfig.serviceType = FRealTimeMediaServiceType.vrtc; } else { FRTMediaConfig.serviceType = FRealTimeMediaServiceType.trtc; } } }