saveOnlineMetaCache method
保存在线模式下的 metadata 数据到本地缓存
data 为 metadata 接口返回的 response.data['data'] 原始 JSON。
写入时附加 _cached_at 时间戳,供后续过期策略使用。
Implementation
Future<void> saveOnlineMetaCache(
String classId,
Map<String, dynamic> data,
) async {
classId = _trimClassId(classId);
if (classId.isEmpty) return;
try {
final cacheDir = await _ensureCacheDir();
final safeId = _safeId(classId);
final cacheFile = File(
p.join(cacheDir.path, '$safeId-online-meta-cache.json'),
);
final cacheData = Map<String, dynamic>.from(data);
cacheData['_cached_at'] = DateTime.now().toIso8601String();
await cacheFile.writeAsString(jsonEncode(cacheData));
} catch (e) {
TCICLog.error(
'[PlayBackController] saveOnlineMetaCache error classId=$classId: $e',
actionModule: ActionModule.playBackController.name,
actionName: 'saveOnlineMetaCache',
);
}
}