getCloudControlConfig method
dynamic
getCloudControlConfig()
Implementation
getCloudControlConfig() async {
try {
final schoolId = getSchoolInfoObs().getSchoolInfo().schoolId;
if (schoolId == 0) {
TCICLog.error('schoolId is 0', actionModule: ActionModule.tcicController.name, actionName: ActionName.getCloudControlConfig.name);
return null;
}
final cloudControlConfigJson = sharedPreferences.getString("cloudControlConfig-$schoolId");
if (cloudControlConfigJson != null) {
final localCloudControlConfigMap = jsonDecode(cloudControlConfigJson);
TCICLog.info('getCloudControlConfig from local: $localCloudControlConfigMap', actionModule: ActionModule.tcicController.name, actionName: ActionName.getCloudControlConfig.name);
mergeLocalCloudControlConfig(localCloudControlConfigMap);
}
final cloudControlConfig = await networkService.getCloudControlConfig(schoolId);
if (cloudControlConfig != null) {
// 存本地,下次再使用时直接从本地读取
sharedPreferences.setString("cloudControlConfig-$schoolId", jsonEncode(cloudControlConfig));
TCICLog.info('getCloudControlConfig success: $cloudControlConfig', actionModule: ActionModule.tcicController.name, actionName: ActionName.getCloudControlConfig.name);
} else {}
} catch (e) {
TCICLog.error('getCloudControlConfig failed: $e', actionModule: ActionModule.tcicController.name, actionName: ActionName.getCloudControlConfig.name);
return null;
}
}