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;
}
}